From 8db853514caae431a0ce91360d854c1b7f3c405f Mon Sep 17 00:00:00 2001 From: David Sherret Date: Sat, 11 Mar 2023 11:43:45 -0500 Subject: fix(check): regression where config "types" entries caused type checking errors (#18124) Closes #18117 Closes #18121 (this is just over 10ms faster in a directory one up from the root folder) cc @nayeemrmn --- cli/tests/integration/check_tests.rs | 17 ++++++++++++----- cli/tests/integration/run_tests.rs | 10 +++++----- cli/tests/testdata/check/all/check_all.out | 4 ++++ cli/tests/testdata/check/all/check_all.ts | 3 +++ cli/tests/testdata/check/check_all.out | 4 ---- cli/tests/testdata/check/check_all.ts | 3 --- cli/tests/testdata/check/check_dts.d.ts | 2 -- cli/tests/testdata/check/check_dts.out | 4 ---- cli/tests/testdata/check/dts/check_dts.d.ts | 2 ++ cli/tests/testdata/check/dts/check_dts.out | 4 ++++ cli/tests/testdata/check/types_dts/deno.json | 7 +++++++ cli/tests/testdata/check/types_dts/main.out | 1 + cli/tests/testdata/check/types_dts/main.ts | 3 +++ cli/tests/testdata/check/types_dts/types.d.ts | 3 +++ 14 files changed, 44 insertions(+), 23 deletions(-) create mode 100644 cli/tests/testdata/check/all/check_all.out create mode 100644 cli/tests/testdata/check/all/check_all.ts delete mode 100644 cli/tests/testdata/check/check_all.out delete mode 100644 cli/tests/testdata/check/check_all.ts delete mode 100644 cli/tests/testdata/check/check_dts.d.ts delete mode 100644 cli/tests/testdata/check/check_dts.out create mode 100644 cli/tests/testdata/check/dts/check_dts.d.ts create mode 100644 cli/tests/testdata/check/dts/check_dts.out create mode 100644 cli/tests/testdata/check/types_dts/deno.json create mode 100644 cli/tests/testdata/check/types_dts/main.out create mode 100644 cli/tests/testdata/check/types_dts/main.ts create mode 100644 cli/tests/testdata/check/types_dts/types.d.ts (limited to 'cli/tests') diff --git a/cli/tests/integration/check_tests.rs b/cli/tests/integration/check_tests.rs index f2fe882eb..d1148b244 100644 --- a/cli/tests/integration/check_tests.rs +++ b/cli/tests/integration/check_tests.rs @@ -26,14 +26,14 @@ itest!(check_random_extension { }); itest!(check_all { - args: "check --quiet --all check/check_all.ts", - output: "check/check_all.out", + args: "check --quiet --all check/all/check_all.ts", + output: "check/all/check_all.out", http_server: true, exit_code: 1, }); itest!(check_all_local { - args: "check --quiet check/check_all.ts", + args: "check --quiet check/all/check_all.ts", output_str: Some(""), http_server: true, }); @@ -233,11 +233,18 @@ fn ts_no_recheck_on_redirect() { } itest!(check_dts { - args: "check --quiet check/check_dts.d.ts", - output: "check/check_dts.out", + args: "check --quiet check/dts/check_dts.d.ts", + output: "check/dts/check_dts.out", exit_code: 1, }); +itest!(check_types_dts { + args: "check main.ts", + cwd: Some("check/types_dts/"), + output: "check/types_dts/main.out", + exit_code: 0, +}); + itest!(package_json_basic { args: "check main.ts", output: "package_json/basic/main.check.out", diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index c3a2c45a7..0e1516cc3 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -826,15 +826,15 @@ itest!(config { itest!(config_types { args: - "run --reload --quiet --config run/config_types/tsconfig.json run/config_types/main.ts", + "run --reload --quiet --check=all --config run/config_types/tsconfig.json run/config_types/main.ts", output: "run/config_types/main.out", }); itest!(config_types_remote { - http_server: true, - args: "run --reload --quiet --config run/config_types/remote.tsconfig.json run/config_types/main.ts", - output: "run/config_types/main.out", - }); + http_server: true, + args: "run --reload --quiet --check=all --config run/config_types/remote.tsconfig.json run/config_types/main.ts", + output: "run/config_types/main.out", +}); itest!(empty_typescript { args: "run --reload --check run/empty.ts", diff --git a/cli/tests/testdata/check/all/check_all.out b/cli/tests/testdata/check/all/check_all.out new file mode 100644 index 000000000..344264634 --- /dev/null +++ b/cli/tests/testdata/check/all/check_all.out @@ -0,0 +1,4 @@ +error: TS2322 [ERROR]: Type '12' is not assignable to type '"a"'. +export const a: "a" = 12; + ^ + at http://localhost:4545/subdir/type_error.ts:1:14 diff --git a/cli/tests/testdata/check/all/check_all.ts b/cli/tests/testdata/check/all/check_all.ts new file mode 100644 index 000000000..2ae8c2692 --- /dev/null +++ b/cli/tests/testdata/check/all/check_all.ts @@ -0,0 +1,3 @@ +import * as a from "http://localhost:4545/subdir/type_error.ts"; + +console.log(a.a); diff --git a/cli/tests/testdata/check/check_all.out b/cli/tests/testdata/check/check_all.out deleted file mode 100644 index 344264634..000000000 --- a/cli/tests/testdata/check/check_all.out +++ /dev/null @@ -1,4 +0,0 @@ -error: TS2322 [ERROR]: Type '12' is not assignable to type '"a"'. -export const a: "a" = 12; - ^ - at http://localhost:4545/subdir/type_error.ts:1:14 diff --git a/cli/tests/testdata/check/check_all.ts b/cli/tests/testdata/check/check_all.ts deleted file mode 100644 index 2ae8c2692..000000000 --- a/cli/tests/testdata/check/check_all.ts +++ /dev/null @@ -1,3 +0,0 @@ -import * as a from "http://localhost:4545/subdir/type_error.ts"; - -console.log(a.a); diff --git a/cli/tests/testdata/check/check_dts.d.ts b/cli/tests/testdata/check/check_dts.d.ts deleted file mode 100644 index 9cf60f063..000000000 --- a/cli/tests/testdata/check/check_dts.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -// TS1039 [ERROR]: Initializers are not allowed in ambient contexts. -export const a: string = Deno.version.deno; diff --git a/cli/tests/testdata/check/check_dts.out b/cli/tests/testdata/check/check_dts.out deleted file mode 100644 index e7ff9a009..000000000 --- a/cli/tests/testdata/check/check_dts.out +++ /dev/null @@ -1,4 +0,0 @@ -error: TS1039 [ERROR]: Initializers are not allowed in ambient contexts. -export const a: string = Deno.version.deno; - ~~~~~~~~~~~~~~~~~ - at file:///[WILDCARD]/check_dts.d.ts:2:26 diff --git a/cli/tests/testdata/check/dts/check_dts.d.ts b/cli/tests/testdata/check/dts/check_dts.d.ts new file mode 100644 index 000000000..9cf60f063 --- /dev/null +++ b/cli/tests/testdata/check/dts/check_dts.d.ts @@ -0,0 +1,2 @@ +// TS1039 [ERROR]: Initializers are not allowed in ambient contexts. +export const a: string = Deno.version.deno; diff --git a/cli/tests/testdata/check/dts/check_dts.out b/cli/tests/testdata/check/dts/check_dts.out new file mode 100644 index 000000000..e7ff9a009 --- /dev/null +++ b/cli/tests/testdata/check/dts/check_dts.out @@ -0,0 +1,4 @@ +error: TS1039 [ERROR]: Initializers are not allowed in ambient contexts. +export const a: string = Deno.version.deno; + ~~~~~~~~~~~~~~~~~ + at file:///[WILDCARD]/check_dts.d.ts:2:26 diff --git a/cli/tests/testdata/check/types_dts/deno.json b/cli/tests/testdata/check/types_dts/deno.json new file mode 100644 index 000000000..85f1549e0 --- /dev/null +++ b/cli/tests/testdata/check/types_dts/deno.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "types": [ + "./types.d.ts" + ] + } +} diff --git a/cli/tests/testdata/check/types_dts/main.out b/cli/tests/testdata/check/types_dts/main.out new file mode 100644 index 000000000..c769989e3 --- /dev/null +++ b/cli/tests/testdata/check/types_dts/main.out @@ -0,0 +1 @@ +Check file:///[WILDCARD]/check/types_dts/main.ts diff --git a/cli/tests/testdata/check/types_dts/main.ts b/cli/tests/testdata/check/types_dts/main.ts new file mode 100644 index 000000000..ca375a094 --- /dev/null +++ b/cli/tests/testdata/check/types_dts/main.ts @@ -0,0 +1,3 @@ +console.log("Hello world!"); + +test.test(); diff --git a/cli/tests/testdata/check/types_dts/types.d.ts b/cli/tests/testdata/check/types_dts/types.d.ts new file mode 100644 index 000000000..141c2a3d3 --- /dev/null +++ b/cli/tests/testdata/check/types_dts/types.d.ts @@ -0,0 +1,3 @@ +declare class test { + static test(): void; +} -- cgit v1.2.3