From 971193ae44f0871825be86ef5e7527de55794e08 Mon Sep 17 00:00:00 2001 From: Asger F Date: Mon, 7 Apr 2025 21:35:59 +0200 Subject: [PATCH] More tests --- .../PathResolution/Basic/import-packages.ts | 13 ---------- .../PathResolution/PackageGuess1/package.json | 3 +++ .../PathResolution/PackageGuess1/src/index.ts | 1 + .../PackageGuess2/blah/stuff.ts | 1 + .../PathResolution/PackageGuess2/package.json | 6 +++++ .../PathResolution/PackageIndexFile/index.js | 1 + .../PackageIndexFile/package.json | 3 +++ .../PackageWithMainExt/lib/main.ts | 1 + .../PackageWithMainExt/package.json | 4 ++++ .../PathResolution/import-packages.ts | 24 +++++++++++++++++++ .../PathResolution/test.expected | 19 +++++++++------ 11 files changed, 56 insertions(+), 20 deletions(-) delete mode 100644 javascript/ql/test/library-tests/PathResolution/Basic/import-packages.ts create mode 100644 javascript/ql/test/library-tests/PathResolution/PackageGuess1/package.json create mode 100644 javascript/ql/test/library-tests/PathResolution/PackageGuess1/src/index.ts create mode 100644 javascript/ql/test/library-tests/PathResolution/PackageGuess2/blah/stuff.ts create mode 100644 javascript/ql/test/library-tests/PathResolution/PackageGuess2/package.json create mode 100644 javascript/ql/test/library-tests/PathResolution/PackageIndexFile/index.js create mode 100644 javascript/ql/test/library-tests/PathResolution/PackageIndexFile/package.json create mode 100644 javascript/ql/test/library-tests/PathResolution/PackageWithMainExt/lib/main.ts create mode 100644 javascript/ql/test/library-tests/PathResolution/PackageWithMainExt/package.json create mode 100644 javascript/ql/test/library-tests/PathResolution/import-packages.ts diff --git a/javascript/ql/test/library-tests/PathResolution/Basic/import-packages.ts b/javascript/ql/test/library-tests/PathResolution/Basic/import-packages.ts deleted file mode 100644 index 07854cc950a..00000000000 --- a/javascript/ql/test/library-tests/PathResolution/Basic/import-packages.ts +++ /dev/null @@ -1,13 +0,0 @@ -import '../PackageWithMain'; // $ importTarget=PackageWithMain/main.js -import '../PackageWithModuleMain'; // $ importTarget=PackageWithModuleMain/main.js -import '../PackageWithExports'; // Not a valid import - -import '@example/package-with-main'; // $ importTarget=PackageWithMain/main.js -import '@example/package-with-module-main'; // $ importTarget=PackageWithModuleMain/main.js -import '@example/package-with-exports'; // $ importTarget=PackageWithExports/main.js - -import '../PackageWithExports/fake-file'; // Not a valid import -import '@example/package-with-exports/fake-file'; // $ importTarget=PackageWithExports/fake-file-impl.js - -import '../PackageWithExports/star/foo'; // Not a valid import -import '@example/package-with-exports/star/foo'; // $ importTarget=PackageWithExports/star-impl/foo.js diff --git a/javascript/ql/test/library-tests/PathResolution/PackageGuess1/package.json b/javascript/ql/test/library-tests/PathResolution/PackageGuess1/package.json new file mode 100644 index 00000000000..ea524ea7900 --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/PackageGuess1/package.json @@ -0,0 +1,3 @@ +{ + "name": "@example/package-guess1" +} diff --git a/javascript/ql/test/library-tests/PathResolution/PackageGuess1/src/index.ts b/javascript/ql/test/library-tests/PathResolution/PackageGuess1/src/index.ts new file mode 100644 index 00000000000..ad1d380d6cc --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/PackageGuess1/src/index.ts @@ -0,0 +1 @@ +export const x = 1; diff --git a/javascript/ql/test/library-tests/PathResolution/PackageGuess2/blah/stuff.ts b/javascript/ql/test/library-tests/PathResolution/PackageGuess2/blah/stuff.ts new file mode 100644 index 00000000000..ad1d380d6cc --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/PackageGuess2/blah/stuff.ts @@ -0,0 +1 @@ +export const x = 1; diff --git a/javascript/ql/test/library-tests/PathResolution/PackageGuess2/package.json b/javascript/ql/test/library-tests/PathResolution/PackageGuess2/package.json new file mode 100644 index 00000000000..afa0dbe1c8e --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/PackageGuess2/package.json @@ -0,0 +1,6 @@ +{ + "name": "@example/package-guess2", + "files": [ + "./blah/stuff.js" + ] +} diff --git a/javascript/ql/test/library-tests/PathResolution/PackageIndexFile/index.js b/javascript/ql/test/library-tests/PathResolution/PackageIndexFile/index.js new file mode 100644 index 00000000000..ad1d380d6cc --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/PackageIndexFile/index.js @@ -0,0 +1 @@ +export const x = 1; diff --git a/javascript/ql/test/library-tests/PathResolution/PackageIndexFile/package.json b/javascript/ql/test/library-tests/PathResolution/PackageIndexFile/package.json new file mode 100644 index 00000000000..8d52b4ea656 --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/PackageIndexFile/package.json @@ -0,0 +1,3 @@ +{ + "name": "@example/package-with-index-file" +} diff --git a/javascript/ql/test/library-tests/PathResolution/PackageWithMainExt/lib/main.ts b/javascript/ql/test/library-tests/PathResolution/PackageWithMainExt/lib/main.ts new file mode 100644 index 00000000000..ad1d380d6cc --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/PackageWithMainExt/lib/main.ts @@ -0,0 +1 @@ +export const x = 1; diff --git a/javascript/ql/test/library-tests/PathResolution/PackageWithMainExt/package.json b/javascript/ql/test/library-tests/PathResolution/PackageWithMainExt/package.json new file mode 100644 index 00000000000..c178bf7cbb2 --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/PackageWithMainExt/package.json @@ -0,0 +1,4 @@ +{ + "name": "@example/package-with-main-ext", + "main": "./lib/main.js" +} diff --git a/javascript/ql/test/library-tests/PathResolution/import-packages.ts b/javascript/ql/test/library-tests/PathResolution/import-packages.ts new file mode 100644 index 00000000000..4562d9aab54 --- /dev/null +++ b/javascript/ql/test/library-tests/PathResolution/import-packages.ts @@ -0,0 +1,24 @@ +import './PackageWithMain/main'; // $ importTarget=PackageWithMain/main.js +import '@example/package-with-main'; // $ importTarget=PackageWithMain/main.js + +import './PackageWithModuleMain'; // $ importTarget=PackageWithModuleMain/main.js +import '@example/package-with-module-main'; // $ importTarget=PackageWithModuleMain/main.js + +import './PackageWithExports'; // Not a valid import +import './PackageWithExports/fake-file'; // Not a valid import +import './PackageWithExports/star/foo'; // Not a valid import +import '@example/package-with-exports'; // $ importTarget=PackageWithExports/main.js +import '@example/package-with-exports/fake-file'; // $ importTarget=PackageWithExports/fake-file-impl.js +import '@example/package-with-exports/star/foo'; // $ importTarget=PackageWithExports/star-impl/foo.js + +import './PackageIndexFile'; // $ importTarget=PackageIndexFile/index.js +import '@example/package-with-index-file'; // $ importTarget=PackageIndexFile/index.js + +import './PackageGuess1'; // $ importTarget=PackageGuess1/src/index.ts +import '@example/package-guess1'; // $ importTarget=PackageGuess1/src/index.ts + +import './PackageGuess2'; // $ MISSING: importTarget=PackageGuess2/blah/stuff.ts +import '@example/package-guess2'; // $ importTarget=PackageGuess2/blah/stuff.ts + +import './PackageWithModuleMainExt'; // $ MISSING: importTarget=PackageWithModuleMainExt/lib/main.ts +import '@example/package-with-module-main-ext'; // $ MISSING: importTarget=PackageWithModuleMainExt/lib/main.ts diff --git a/javascript/ql/test/library-tests/PathResolution/test.expected b/javascript/ql/test/library-tests/PathResolution/test.expected index 4d2dc0b52b3..89eca12e2fc 100644 --- a/javascript/ql/test/library-tests/PathResolution/test.expected +++ b/javascript/ql/test/library-tests/PathResolution/test.expected @@ -23,13 +23,6 @@ | Basic/Subdir/sub.ts:2:1:2:13 | import '../'; | Basic/index.ts | | Basic/Subdir/sub.ts:3:1:3:14 | import './..'; | Basic/index.ts | | Basic/Subdir/sub.ts:4:1:4:15 | import './../'; | Basic/index.ts | -| Basic/import-packages.ts:1:1:1:28 | import ... hMain'; | PackageWithMain/main.js | -| Basic/import-packages.ts:2:1:2:34 | import ... eMain'; | PackageWithModuleMain/main.js | -| Basic/import-packages.ts:5:1:5:36 | import ... -main'; | PackageWithMain/main.js | -| Basic/import-packages.ts:6:1:6:43 | import ... -main'; | PackageWithModuleMain/main.js | -| Basic/import-packages.ts:7:1:7:39 | import ... ports'; | PackageWithExports/main.js | -| Basic/import-packages.ts:10:1:10:49 | import ... -file'; | PackageWithExports/fake-file-impl.js | -| Basic/import-packages.ts:13:1:13:48 | import ... r/foo'; | PackageWithExports/star-impl/foo.js | | Basic/index.ts:1:1:1:22 | import ... r/sub'; | Basic/Subdir/sub.ts | | Extended/src/main.ts:2:1:2:21 | import ... /file"; | Extended/lib/file.ts | | Extended/src/main.ts:3:1:3:24 | import ... le.ts"; | Extended/lib/file.ts | @@ -66,3 +59,15 @@ | NoBaseUrl/src/main.ts:24:1:24:17 | import "@/index"; | NoBaseUrl/lib/index.ts | | NoBaseUrl/src/main.ts:25:1:25:20 | import "@/index.ts"; | NoBaseUrl/lib/index.ts | | NoBaseUrl/src/main.ts:26:1:26:20 | import "@/index.js"; | NoBaseUrl/lib/index.ts | +| import-packages.ts:1:1:1:32 | import ... /main'; | PackageWithMain/main.js | +| import-packages.ts:2:1:2:36 | import ... -main'; | PackageWithMain/main.js | +| import-packages.ts:4:1:4:33 | import ... eMain'; | PackageWithModuleMain/main.js | +| import-packages.ts:5:1:5:43 | import ... -main'; | PackageWithModuleMain/main.js | +| import-packages.ts:10:1:10:39 | import ... ports'; | PackageWithExports/main.js | +| import-packages.ts:11:1:11:49 | import ... -file'; | PackageWithExports/fake-file-impl.js | +| import-packages.ts:12:1:12:48 | import ... r/foo'; | PackageWithExports/star-impl/foo.js | +| import-packages.ts:14:1:14:28 | import ... xFile'; | PackageIndexFile/index.js | +| import-packages.ts:15:1:15:42 | import ... -file'; | PackageIndexFile/index.js | +| import-packages.ts:17:1:17:25 | import ... uess1'; | PackageGuess1/src/index.ts | +| import-packages.ts:18:1:18:33 | import ... uess1'; | PackageGuess1/src/index.ts | +| import-packages.ts:21:1:21:33 | import ... uess2'; | PackageGuess2/blah/stuff.ts |