From a34ed568e98d2f10f699f707841cab96847d3ce9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Thu, 14 Jul 2022 14:40:47 +0000 Subject: fix(cli): expand tsc roots when using checkJs (#15164) A JS file can still point to a TS file, so we need to expand the roots in the checkJs case too. Fixes: #15163 --- cli/tests/integration/run_tests.rs | 7 +++++++ cli/tests/testdata/run/check_js_points_to_ts/bar.ts | 3 +++ cli/tests/testdata/run/check_js_points_to_ts/foo.d.ts | 0 cli/tests/testdata/run/check_js_points_to_ts/foo.js | 4 ++++ cli/tests/testdata/run/check_js_points_to_ts/test.js | 3 +++ cli/tests/testdata/run/check_js_points_to_ts/test.js.out | 4 ++++ 6 files changed, 21 insertions(+) create mode 100644 cli/tests/testdata/run/check_js_points_to_ts/bar.ts create mode 100644 cli/tests/testdata/run/check_js_points_to_ts/foo.d.ts create mode 100644 cli/tests/testdata/run/check_js_points_to_ts/foo.js create mode 100644 cli/tests/testdata/run/check_js_points_to_ts/test.js create mode 100644 cli/tests/testdata/run/check_js_points_to_ts/test.js.out (limited to 'cli/tests') diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index b450d0d44..bb46fe1b5 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -2701,6 +2701,13 @@ fn check_local_then_remote() { assert_contains!(stderr, "Type 'string' is not assignable to type 'number'."); } +// Regression test for https://github.com/denoland/deno/issues/15163 +itest!(check_js_points_to_ts { + args: "run --quiet --check --config checkjs.tsconfig.json run/check_js_points_to_ts/test.js", + output: "run/check_js_points_to_ts/test.js.out", + exit_code: 1, +}); + itest!(no_prompt_flag { args: "run --quiet --unstable --no-prompt no_prompt.ts", output_str: Some(""), diff --git a/cli/tests/testdata/run/check_js_points_to_ts/bar.ts b/cli/tests/testdata/run/check_js_points_to_ts/bar.ts new file mode 100644 index 000000000..026cd2f1e --- /dev/null +++ b/cli/tests/testdata/run/check_js_points_to_ts/bar.ts @@ -0,0 +1,3 @@ +export function bar(): string { + return 42; +} diff --git a/cli/tests/testdata/run/check_js_points_to_ts/foo.d.ts b/cli/tests/testdata/run/check_js_points_to_ts/foo.d.ts new file mode 100644 index 000000000..e69de29bb diff --git a/cli/tests/testdata/run/check_js_points_to_ts/foo.js b/cli/tests/testdata/run/check_js_points_to_ts/foo.js new file mode 100644 index 000000000..9ac1a14ff --- /dev/null +++ b/cli/tests/testdata/run/check_js_points_to_ts/foo.js @@ -0,0 +1,4 @@ +import { bar } from "./bar.ts"; +export function foo() { + bar(); +} diff --git a/cli/tests/testdata/run/check_js_points_to_ts/test.js b/cli/tests/testdata/run/check_js_points_to_ts/test.js new file mode 100644 index 000000000..00d894451 --- /dev/null +++ b/cli/tests/testdata/run/check_js_points_to_ts/test.js @@ -0,0 +1,3 @@ +// @deno-types="./foo.d.ts" +import { foo } from "./foo.js"; +foo(); diff --git a/cli/tests/testdata/run/check_js_points_to_ts/test.js.out b/cli/tests/testdata/run/check_js_points_to_ts/test.js.out new file mode 100644 index 000000000..c052a7c3d --- /dev/null +++ b/cli/tests/testdata/run/check_js_points_to_ts/test.js.out @@ -0,0 +1,4 @@ +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. + return 42; + ~~~~~~~~~~ + at [WILDCARD] -- cgit v1.2.3