diff options
| author | David Sherret <dsherret@users.noreply.github.com> | 2024-07-25 09:07:59 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-25 09:07:59 -0400 |
| commit | 763f05e74dfd0032b238603f625893a52e363591 (patch) | |
| tree | c6a71559472755919358afa53eecac206cad80a9 /tests/specs/lint | |
| parent | ef78d317f084ffe633253acd138a48a425113fa7 (diff) | |
fix(unstable): move sloppy-import warnings to lint rule (#24710)
Adds a new `no-sloppy-imports` lint rule and cleans up the lint code.
Closes #22844
Closes https://github.com/denoland/deno_lint/issues/1293
Diffstat (limited to 'tests/specs/lint')
25 files changed, 237 insertions, 0 deletions
diff --git a/tests/specs/lint/sloppy_imports_dts/__test__.jsonc b/tests/specs/lint/sloppy_imports_dts/__test__.jsonc new file mode 100644 index 000000000..2650d7ec2 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/__test__.jsonc @@ -0,0 +1,34 @@ +{ + "tests": { + "check": { + "args": "check --unstable-sloppy-imports main.ts", + "output": "check.out" + }, + "run": { + "args": "run --unstable-sloppy-imports main.ts", + "output": "run.out" + }, + "lint": { + "args": "lint --unstable-sloppy-imports", + "output": "lint.out", + "exitCode": 1 + }, + // try fixing the lint issues and then ensure deno check and run still work + "lint_fix": { + "tempDir": true, + "steps": [{ + "args": "lint --unstable-sloppy-imports --fix", + "output": "Checked 17 files\n" + }, { + "args": "lint --unstable-sloppy-imports", + "output": "Checked 17 files\n" + }, { + "args": "check --unstable-sloppy-imports main.ts", + "output": "check.out" + }, { + "args": "run --unstable-sloppy-imports main.ts", + "output": "run.out" + }] + } + } +} diff --git a/tests/specs/lint/sloppy_imports_dts/a.d.ts b/tests/specs/lint/sloppy_imports_dts/a.d.ts new file mode 100644 index 000000000..b0c84214f --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/a.d.ts @@ -0,0 +1 @@ +export class A2 {} diff --git a/tests/specs/lint/sloppy_imports_dts/a.ts b/tests/specs/lint/sloppy_imports_dts/a.ts new file mode 100644 index 000000000..1e14df544 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/a.ts @@ -0,0 +1 @@ +export class A {} diff --git a/tests/specs/lint/sloppy_imports_dts/b.d.ts b/tests/specs/lint/sloppy_imports_dts/b.d.ts new file mode 100644 index 000000000..522d6784d --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/b.d.ts @@ -0,0 +1 @@ +export class B2 {} diff --git a/tests/specs/lint/sloppy_imports_dts/b.js b/tests/specs/lint/sloppy_imports_dts/b.js new file mode 100644 index 000000000..1aa41a54a --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/b.js @@ -0,0 +1 @@ +export class B {} diff --git a/tests/specs/lint/sloppy_imports_dts/c.d.mts b/tests/specs/lint/sloppy_imports_dts/c.d.mts new file mode 100644 index 000000000..efd6dcc73 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/c.d.mts @@ -0,0 +1 @@ +export class C2 {} diff --git a/tests/specs/lint/sloppy_imports_dts/c.mts b/tests/specs/lint/sloppy_imports_dts/c.mts new file mode 100644 index 000000000..1ec0ebf40 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/c.mts @@ -0,0 +1 @@ +export class C {} diff --git a/tests/specs/lint/sloppy_imports_dts/check.out b/tests/specs/lint/sloppy_imports_dts/check.out new file mode 100644 index 000000000..1830c3186 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/check.out @@ -0,0 +1 @@ +Check file:///[WILDLINE]/main.ts diff --git a/tests/specs/lint/sloppy_imports_dts/d.d.mts b/tests/specs/lint/sloppy_imports_dts/d.d.mts new file mode 100644 index 000000000..629b29e30 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/d.d.mts @@ -0,0 +1 @@ +export class D2 {} diff --git a/tests/specs/lint/sloppy_imports_dts/d.mjs b/tests/specs/lint/sloppy_imports_dts/d.mjs new file mode 100644 index 000000000..01b958f66 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/d.mjs @@ -0,0 +1 @@ +export class D {} diff --git a/tests/specs/lint/sloppy_imports_dts/dir_js/index.d.ts b/tests/specs/lint/sloppy_imports_dts/dir_js/index.d.ts new file mode 100644 index 000000000..23cac8500 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/dir_js/index.d.ts @@ -0,0 +1 @@ +export class Dir2 {} diff --git a/tests/specs/lint/sloppy_imports_dts/dir_js/index.js b/tests/specs/lint/sloppy_imports_dts/dir_js/index.js new file mode 100644 index 000000000..f31e303be --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/dir_js/index.js @@ -0,0 +1 @@ +export class Dir {} diff --git a/tests/specs/lint/sloppy_imports_dts/dir_mjs/index.d.ts b/tests/specs/lint/sloppy_imports_dts/dir_mjs/index.d.ts new file mode 100644 index 000000000..23cac8500 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/dir_mjs/index.d.ts @@ -0,0 +1 @@ +export class Dir2 {} diff --git a/tests/specs/lint/sloppy_imports_dts/dir_mjs/index.mjs b/tests/specs/lint/sloppy_imports_dts/dir_mjs/index.mjs new file mode 100644 index 000000000..f31e303be --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/dir_mjs/index.mjs @@ -0,0 +1 @@ +export class Dir {} diff --git a/tests/specs/lint/sloppy_imports_dts/dir_mts/index.d.ts b/tests/specs/lint/sloppy_imports_dts/dir_mts/index.d.ts new file mode 100644 index 000000000..23cac8500 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/dir_mts/index.d.ts @@ -0,0 +1 @@ +export class Dir2 {} diff --git a/tests/specs/lint/sloppy_imports_dts/dir_mts/index.mts b/tests/specs/lint/sloppy_imports_dts/dir_mts/index.mts new file mode 100644 index 000000000..f31e303be --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/dir_mts/index.mts @@ -0,0 +1 @@ +export class Dir {} diff --git a/tests/specs/lint/sloppy_imports_dts/dir_ts/index.d.ts b/tests/specs/lint/sloppy_imports_dts/dir_ts/index.d.ts new file mode 100644 index 000000000..23cac8500 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/dir_ts/index.d.ts @@ -0,0 +1 @@ +export class Dir2 {} diff --git a/tests/specs/lint/sloppy_imports_dts/dir_ts/index.ts b/tests/specs/lint/sloppy_imports_dts/dir_ts/index.ts new file mode 100644 index 000000000..f31e303be --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/dir_ts/index.ts @@ -0,0 +1 @@ +export class Dir {} diff --git a/tests/specs/lint/sloppy_imports_dts/lint.out b/tests/specs/lint/sloppy_imports_dts/lint.out new file mode 100644 index 000000000..d891676ac --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/lint.out @@ -0,0 +1,110 @@ +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:1:20 + | +1 | import * as a from "./a.js"; + | ^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:2:20 + | +2 | import * as b from "./b.js"; + | ^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:3:20 + | +3 | import * as c from "./c.mjs"; + | ^^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:4:20 + | +4 | import * as d from "./d.mjs"; + | ^^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:11:21 + | +11 | import * as a2 from "./a"; + | ^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:12:21 + | +12 | import * as b2 from "./b"; + | ^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:13:21 + | +13 | import * as c2 from "./c"; + | ^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:14:21 + | +14 | import * as d2 from "./d"; + | ^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:21:24 + | +21 | import * as dirTs from "./dir_ts"; + | ^^^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:22:24 + | +22 | import * as dirJs from "./dir_js"; + | ^^^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:23:25 + | +23 | import * as dirMts from "./dir_mts"; + | ^^^^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:24:25 + | +24 | import * as dirMjs from "./dir_mjs"; + | ^^^^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +Found 12 problems (12 fixable via --fix) +Checked 17 files diff --git a/tests/specs/lint/sloppy_imports_dts/main.ts b/tests/specs/lint/sloppy_imports_dts/main.ts new file mode 100644 index 000000000..2261eae58 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/main.ts @@ -0,0 +1,29 @@ +import * as a from "./a.js"; +import * as b from "./b.js"; +import * as c from "./c.mjs"; +import * as d from "./d.mjs"; + +console.log(a.A); +console.log(b.B2); +console.log(c.C); +console.log(d.D2); + +import * as a2 from "./a"; +import * as b2 from "./b"; +import * as c2 from "./c"; +import * as d2 from "./d"; + +console.log(a2.A); +console.log(b2.B2); +console.log(c2.C); +console.log(d2.D2); + +import * as dirTs from "./dir_ts"; +import * as dirJs from "./dir_js"; +import * as dirMts from "./dir_mts"; +import * as dirMjs from "./dir_mjs"; + +console.log(dirTs.Dir); +console.log(dirJs.Dir2); +console.log(dirMts.Dir); +console.log(dirMjs.Dir2); diff --git a/tests/specs/lint/sloppy_imports_dts/run.out b/tests/specs/lint/sloppy_imports_dts/run.out new file mode 100644 index 000000000..665534c64 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_dts/run.out @@ -0,0 +1,12 @@ +[class A] +undefined +[class C] +undefined +[class A] +undefined +[class C] +undefined +[class Dir] +undefined +[class Dir] +undefined diff --git a/tests/specs/lint/sloppy_imports_no_incremental_cache/__test__.jsonc b/tests/specs/lint/sloppy_imports_no_incremental_cache/__test__.jsonc new file mode 100644 index 000000000..e4596fd21 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_no_incremental_cache/__test__.jsonc @@ -0,0 +1,20 @@ +{ + "tempDir": true, + "steps": [{ + "args": "lint main.ts", + "output": "Checked 1 file\n" + }, { + "args": "lint --unstable-sloppy-imports main.ts", + "output": "Checked 1 file\n" + }, { + "args": [ + "eval", + "Deno.renameSync('file.js', 'file.ts')" + ], + "output": "" + }, { + "args": "lint --unstable-sloppy-imports main.ts", + "output": "fail_js_to_ts.out", + "exitCode": 1 + }] +} diff --git a/tests/specs/lint/sloppy_imports_no_incremental_cache/fail_js_to_ts.out b/tests/specs/lint/sloppy_imports_no_incremental_cache/fail_js_to_ts.out new file mode 100644 index 000000000..7321fd184 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_no_incremental_cache/fail_js_to_ts.out @@ -0,0 +1,11 @@ +error[no-sloppy-imports]: Sloppy imports are not allowed. + --> [WILDLINE]main.ts:1:23 + | +1 | import * as file from "./file.js"; + | ^^^^^^^^^^^ + + docs: https://docs.deno.com/runtime/manual/tools/unstable_flags/#--unstable-sloppy-imports + + +Found 1 problem (1 fixable via --fix) +Checked 1 file diff --git a/tests/specs/lint/sloppy_imports_no_incremental_cache/file.js b/tests/specs/lint/sloppy_imports_no_incremental_cache/file.js new file mode 100644 index 000000000..23f12c5f6 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_no_incremental_cache/file.js @@ -0,0 +1 @@ +export class File {} diff --git a/tests/specs/lint/sloppy_imports_no_incremental_cache/main.ts b/tests/specs/lint/sloppy_imports_no_incremental_cache/main.ts new file mode 100644 index 000000000..873f4f483 --- /dev/null +++ b/tests/specs/lint/sloppy_imports_no_incremental_cache/main.ts @@ -0,0 +1,3 @@ +import * as file from "./file.js"; + +console.log(file); |
