JS: Add test

This commit is contained in:
Asger F
2025-04-24 09:03:55 +02:00
parent 359525b65a
commit 565cb434fc
81 changed files with 487 additions and 0 deletions

View File

@@ -0,0 +1 @@
export const x = "file.ts"

View File

@@ -0,0 +1 @@
export const x = "index.ts";

View File

@@ -0,0 +1 @@
export const x = "nostar.ts"

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,47 @@
// Relative import
import "../base/lib/file"; // $ importTarget=BaseUrl/base/lib/file.ts
import "../base/lib/file.ts"; // $ importTarget=BaseUrl/base/lib/file.ts
import "../base/lib/file.js"; // $ importTarget=BaseUrl/base/lib/file.ts
import "../base/lib"; // $ importTarget=BaseUrl/base/lib/index.ts
import "../base/lib/index"; // $ importTarget=BaseUrl/base/lib/index.ts
import "../base/lib/index.ts"; // $ importTarget=BaseUrl/base/lib/index.ts
import "../base/lib/index.js"; // $ importTarget=BaseUrl/base/lib/index.ts
// Import relative to baseUrl
import "lib/file"; // $ importTarget=BaseUrl/base/lib/file.ts
import "lib/file.ts"; // $ importTarget=BaseUrl/base/lib/file.ts
import "lib/file.js"; // $ importTarget=BaseUrl/base/lib/file.ts
import "lib"; // $ importTarget=BaseUrl/base/lib/index.ts
import "lib/index"; // $ importTarget=BaseUrl/base/lib/index.ts
import "lib/index.ts"; // $ importTarget=BaseUrl/base/lib/index.ts
import "lib/index.js"; // $ importTarget=BaseUrl/base/lib/index.ts
// Import matching "@/*" path mapping
import "@/file"; // $ importTarget=BaseUrl/base/lib/file.ts
import "@/file.ts"; // $ importTarget=BaseUrl/base/lib/file.ts
import "@/file.js"; // $ importTarget=BaseUrl/base/lib/file.ts
import "@"; // $ importTarget=BaseUrl/base/lib/nostar.ts
import "@/index"; // $ importTarget=BaseUrl/base/lib/index.ts
import "@/index.ts"; // $ importTarget=BaseUrl/base/lib/index.ts
import "@/index.js"; // $ importTarget=BaseUrl/base/lib/index.ts
// Import matching "#/*" path mapping
import "#/file"; // $ importTarget=BaseUrl/base/lib/file.ts
import "#/file.ts"; // $ importTarget=BaseUrl/base/lib/file.ts
import "#/file.js"; // $ importTarget=BaseUrl/base/lib/file.ts
import "#/index"; // $ importTarget=BaseUrl/base/lib/index.ts
import "#/index.ts"; // $ importTarget=BaseUrl/base/lib/index.ts
import "#/index.js"; // $ importTarget=BaseUrl/base/lib/index.ts
// Import matching "^lib*" path mapping
import "^lib/file"; // $ importTarget=BaseUrl/base/lib/file.ts
import "^lib2/file"; // $ importTarget=BaseUrl/base/lib2/file.ts
// Import matching "@/*.xyz" path mapping. Note that this is not actually supported by TypeScript.
import "@/file.xyz";
import "@/file.ts.xyz";
import "@/file.js.xyz";
import "@.xyz";
import "@/index.xyz";
import "@/index.ts.xyz";
import "@/index.js.xyz";

View File

@@ -0,0 +1,14 @@
{
"include": ["."],
"compilerOptions": {
// Path mappings are resolved relative to baseUrl
"baseUrl": "./base",
"paths": {
"@/*": ["lib/*"],
"#/*": ["./lib/*"], // relative paths here are also resolved from the base url
"^lib*": ["./lib*"], // must end with "*" but not necessarily "/*"
"@/*.xyz": ["lib/*"],
"@": ["lib/nostar.ts"]
}
}
}

View File

@@ -0,0 +1,4 @@
import '..'; // $ importTarget=Basic/index.ts
import '../'; // $ importTarget=Basic/index.ts
import './..'; // $ importTarget=Basic/index.ts
import './../'; // $ importTarget=Basic/index.ts

View File

@@ -0,0 +1 @@
import './Subdir/sub'; // $ importTarget=Basic/Subdir/sub.ts

View File

@@ -0,0 +1,5 @@
// Type declaration for dual-module
export interface DualType {
prop: string;
}
export declare function helper(): DualType;

View File

@@ -0,0 +1,4 @@
// Implementation of dual-module
export function helper() {
return { prop: "implementation" };
}

View File

@@ -0,0 +1 @@
export const x: number;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,7 @@
import "../lib/split"; // $ importTarget=DeclarationFiles/lib/split.d.ts importTarget=DeclarationFiles/lib/split.js
import "../lib/split.js"; // $ importTarget=DeclarationFiles/lib/split.js importTarget=DeclarationFiles/lib/split.d.ts
import "../lib/split.d.ts"; // $ importTarget=DeclarationFiles/lib/split.d.ts
import "../lib/typescript"; // $ importTarget=DeclarationFiles/lib/typescript.ts
import "../lib/typescript.js"; // $ importTarget=DeclarationFiles/lib/typescript.ts
import "../lib/typescript.d.ts"; // $ importTarget=DeclarationFiles/lib/typescript.d.ts SPURIOUS: importTarget=DeclarationFiles/lib/typescript.ts

View File

@@ -0,0 +1,15 @@
// Test for imports using __dirname
const path = require('path');
require(__dirname + '/target.js'); // $ importTarget=DirnameImports/target.js
require(__dirname + '/nested/target.js'); // $ importTarget=DirnameImports/nested/target.js
require(__dirname + '/../import-packages.ts'); // $ importTarget=import-packages.ts
require(__dirname + '/' + 'target.js'); // $ importTarget=DirnameImports/target.js
require(path.join(__dirname, 'target.js')); // $ importTarget=DirnameImports/target.js
require(path.resolve(__dirname, 'target.js')); // $ MISSING: importTarget=DirnameImports/target.js
const subdir = 'nested';
require(__dirname + '/' + subdir + '/target.js'); // $ importTarget=DirnameImports/nested/target.js
require(`${__dirname}/target.js`); // $ MISSING: importTarget=DirnameImports/target.js

View File

@@ -0,0 +1,2 @@
// Nested target file for __dirname imports
module.exports = { name: 'nested-target' };

View File

@@ -0,0 +1,2 @@
// Target file for __dirname imports
module.exports = { name: 'target' };

View File

@@ -0,0 +1,3 @@
{
"main": "./dist/src/foo.js"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,11 @@
{
"compilerOptions": {
// The baseUrl is interpreted relative to this file, not the "root" tsconfig.json file extending it.
"baseUrl": "./../",
"paths": {
"@/*": ["lib/*"],
"@/*.xyz": ["lib/*"],
"@": ["lib/nostar.ts"]
}
}
}

View File

@@ -0,0 +1 @@
export const x = "file.ts"

View File

@@ -0,0 +1 @@
export const x = "index.ts";

View File

@@ -0,0 +1 @@
export const x = "nostar.ts"

View File

@@ -0,0 +1,35 @@
// Relative import
import "../lib/file"; // $ importTarget=Extended/lib/file.ts
import "../lib/file.ts"; // $ importTarget=Extended/lib/file.ts
import "../lib/file.js"; // $ importTarget=Extended/lib/file.ts
import "../lib"; // $ importTarget=Extended/lib/index.ts
import "../lib/index"; // $ importTarget=Extended/lib/index.ts
import "../lib/index.ts"; // $ importTarget=Extended/lib/index.ts
import "../lib/index.js"; // $ importTarget=Extended/lib/index.ts
// Import relative to baseUrl
import "lib/file"; // $ importTarget=Extended/lib/file.ts
import "lib/file.ts"; // $ importTarget=Extended/lib/file.ts
import "lib/file.js"; // $ importTarget=Extended/lib/file.ts
import "lib"; // $ importTarget=Extended/lib/index.ts
import "lib/index"; // $ importTarget=Extended/lib/index.ts
import "lib/index.ts"; // $ importTarget=Extended/lib/index.ts
import "lib/index.js"; // $ importTarget=Extended/lib/index.ts
// Import matching "@/*" path mapping
import "@/file"; // $ importTarget=Extended/lib/file.ts
import "@/file.ts"; // $ importTarget=Extended/lib/file.ts
import "@/file.js"; // $ importTarget=Extended/lib/file.ts
import "@"; // $ importTarget=Extended/lib/nostar.ts
import "@/index"; // $ importTarget=Extended/lib/index.ts
import "@/index.ts"; // $ importTarget=Extended/lib/index.ts
import "@/index.js"; // $ importTarget=Extended/lib/index.ts
// Import matching "@/*.xyz" path mapping. Note that this is not actually supported by TypeScript.
import "@/file.xyz";
import "@/file.ts.xyz";
import "@/file.js.xyz";
import "@.xyz";
import "@/index.xyz";
import "@/index.ts.xyz";
import "@/index.js.xyz";

View File

@@ -0,0 +1,4 @@
{
"include": ["."],
"extends": "./base/tsconfig.base.json"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,10 @@
import "@/both" // $ importTarget=Fallback/lib1/both.ts
import "@/only1" // $ importTarget=Fallback/lib1/only1.ts
import "@/only2" // $ importTarget=Fallback/lib2/only2.ts
import "@/differentExtension" // $ importTarget=Fallback/lib2/differentExtension.ts
import "@/differentExtension.js" // $ importTarget=Fallback/lib2/differentExtension.ts
import "@/subdir" // $ importTarget=Fallback/lib1/subdir/index.ts
import "@/subdir/both" // $ importTarget=Fallback/lib1/subdir/both.ts
import "@/subdir/only1" // $ importTarget=Fallback/lib1/subdir/only1.ts
import "@/subdir/only2" // $ importTarget=Fallback/lib2/subdir/only2.ts

View File

@@ -0,0 +1,8 @@
{
"include": ["."],
"compilerOptions": {
"paths": {
"@/*": ["./lib1/*", "./lib2/*"],
}
}
}

View File

@@ -0,0 +1,5 @@
/**
* @providesModule jsdoc-provided-module/foo/bar/baz
*/
export const x = 1;

View File

@@ -0,0 +1 @@
import 'jsdoc-provided-module/foo/bar/baz'; // $ importTarget=JSDocProvide/lib.js

View File

@@ -0,0 +1,4 @@
{
"name": "@example/main-is-folder",
"main": "dist"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,3 @@
{
"main": "dist/library.min.js"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = "file.ts"

View File

@@ -0,0 +1 @@
export const x = "index.ts";

View File

@@ -0,0 +1 @@
export const x = "nostar.ts"

View File

@@ -0,0 +1,35 @@
// Relative import
import "../lib/file"; // $ importTarget=NoBaseUrl/lib/file.ts
import "../lib/file.ts"; // $ importTarget=NoBaseUrl/lib/file.ts
import "../lib/file.js"; // $ importTarget=NoBaseUrl/lib/file.ts
import "../lib"; // $ importTarget=NoBaseUrl/lib/index.ts
import "../lib/index"; // $ importTarget=NoBaseUrl/lib/index.ts
import "../lib/index.ts"; // $ importTarget=NoBaseUrl/lib/index.ts
import "../lib/index.js"; // $ importTarget=NoBaseUrl/lib/index.ts
// Import unresolvable due to missing baseUrl
import "lib/file";
import "lib/file.ts";
import "lib/file.js";
import "lib";
import "lib/index";
import "lib/index.ts";
import "lib/index.js";
// Import matching "@/*" path mapping
import "@/file"; // $ importTarget=NoBaseUrl/lib/file.ts
import "@/file.ts"; // $ importTarget=NoBaseUrl/lib/file.ts
import "@/file.js"; // $ importTarget=NoBaseUrl/lib/file.ts
import "@"; // $ importTarget=NoBaseUrl/lib/nostar.ts
import "@/index"; // $ importTarget=NoBaseUrl/lib/index.ts
import "@/index.ts"; // $ importTarget=NoBaseUrl/lib/index.ts
import "@/index.js"; // $ importTarget=NoBaseUrl/lib/index.ts
// Import matching "@/*.xyz" path mapping. Note that this is not actually supported by TypeScript.
import "@/file.xyz";
import "@/file.ts.xyz";
import "@/file.js.xyz";
import "@.xyz";
import "@/index.xyz";
import "@/index.ts.xyz";
import "@/index.js.xyz";

View File

@@ -0,0 +1,10 @@
{
"include": ["."],
"compilerOptions": {
"paths": {
"@/*": ["./lib/*"],
"@/*.xyz": ["./lib/*"],
"@": ["./lib/nostar.ts"]
}
}
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,3 @@
{
"name": "foo"
}

View File

@@ -0,0 +1,2 @@
import 'foo'; // $ importTarget=NodeModules/node_modules/foo/index.js
import 'bar'; // $ SPURIOUS: importTarget=NodeModules/subfolder/node_modules/bar/index.js // Technically would not resolve

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,3 @@
{
"name": "bar"
}

View File

@@ -0,0 +1,2 @@
import 'foo'; // $ importTarget=NodeModules/node_modules/foo/index.js
import 'bar'; // $ importTarget=NodeModules/subfolder/node_modules/bar/index.js

View File

@@ -0,0 +1,3 @@
{
"name": "@example/package-guess1"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,6 @@
{
"name": "@example/package-guess2",
"files": [
"./blah/stuff.js"
]
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,3 @@
{
"name": "@example/package-with-index-file"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,14 @@
{
"name": "@example/package-with-exports",
"exports": {
".": {
"default": "./main.js"
},
"./fake-file": {
"default": "./fake-file-impl.js"
},
"./star/*": {
"default": "./star-impl/*"
}
}
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,4 @@
{
"name": "@example/package-with-main",
"main": "./main.js"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,4 @@
{
"name": "@example/package-with-main-ext",
"main": "./lib/main.js"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,4 @@
{
"name": "@example/package-with-module-main",
"module": "./main.js"
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,7 @@
{
"include": ["my-root","my-tests"],
"compilerOptions": {
"rootDir": "./my-root",
"outDir": "./my-out",
}
}

View File

@@ -0,0 +1 @@
export const x = 1;

View File

@@ -0,0 +1,7 @@
{
"include": ["src"],
"compilerOptions": {
// Use unusual name to test independently of naming heuristics
"outDir": "./customOutDir"
}
}

View File

@@ -0,0 +1,35 @@
import './PackageWithMain/main'; // $ importTarget=PackageWithMain/main.js
import '@example/package-with-main'; // $ importTarget=PackageWithMain/main.js
import './PackageWithModuleMain'; // $ MISSING: 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'; // $ MISSING: importTarget=PackageWithExports/fake-file-impl.js
import '@example/package-with-exports/star/foo'; // $ MISSING: importTarget=PackageWithExports/star-impl/foo.js
import './PackageIndexFile'; // $ importTarget=PackageIndexFile/index.js
import '@example/package-with-index-file'; // $ importTarget=PackageIndexFile/index.js
import './PackageGuess1'; // $ MISSING: 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 './PackageWithMainExt'; // $ importTarget=PackageWithMainExt/lib/main.ts
import '@example/package-with-main-ext'; // $ importTarget=PackageWithMainExt/lib/main.ts
import './TSConfigOutDir/customOutDir/foo.js'; // $ importTarget=TSConfigOutDir/src/foo.ts
import './MainIsFolder'; // $ MISSING: importTarget=MainIsFolder/src/index.ts
import '@example/main-is-folder'; // $ importTarget=MainIsFolder/src/index.ts
import './DistContainsSrc'; // $ MISSING: importTarget=DistContainsSrc/src/foo.ts
import './MinifiedMain'; // $ MISSING: importTarget=MinifiedMain/src/library.ts
import './RootDir/my-out/foo.js'; // $ importTarget=RootDir/my-root/foo.ts

View File

@@ -0,0 +1,111 @@
| BaseUrl/src/main.ts:2:1:2:26 | import ... /file"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:3:1:3:29 | import ... le.ts"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:4:1:4:29 | import ... le.js"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:5:1:5:21 | import ... e/lib"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:6:1:6:27 | import ... index"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:7:1:7:30 | import ... ex.ts"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:8:1:8:30 | import ... ex.js"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:11:1:11:18 | import "lib/file"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:12:1:12:21 | import ... le.ts"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:13:1:13:21 | import ... le.js"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:14:1:14:13 | import "lib"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:15:1:15:19 | import "lib/index"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:16:1:16:22 | import ... ex.ts"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:17:1:17:22 | import ... ex.js"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:20:1:20:16 | import "@/file"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:21:1:21:19 | import "@/file.ts"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:22:1:22:19 | import "@/file.js"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:23:1:23:11 | import "@"; | BaseUrl/base/lib/nostar.ts |
| BaseUrl/src/main.ts:24:1:24:17 | import "@/index"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:25:1:25:20 | import "@/index.ts"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:26:1:26:20 | import "@/index.js"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:29:1:29:16 | import "#/file"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:30:1:30:19 | import "#/file.ts"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:31:1:31:19 | import "#/file.js"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:32:1:32:17 | import "#/index"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:33:1:33:20 | import "#/index.ts"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:34:1:34:20 | import "#/index.js"; | BaseUrl/base/lib/index.ts |
| BaseUrl/src/main.ts:37:1:37:19 | import "^lib/file"; | BaseUrl/base/lib/file.ts |
| BaseUrl/src/main.ts:38:1:38:20 | import "^lib2/file"; | BaseUrl/base/lib2/file.ts |
| Basic/Subdir/sub.ts:1:1:1:12 | import '..'; | Basic/index.ts |
| 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/index.ts:1:1:1:22 | import ... r/sub'; | Basic/Subdir/sub.ts |
| DeclarationFiles/src/main.ts:1:1:1:22 | import ... split"; | DeclarationFiles/lib/split.d.ts |
| DeclarationFiles/src/main.ts:1:1:1:22 | import ... split"; | DeclarationFiles/lib/split.js |
| DeclarationFiles/src/main.ts:2:1:2:25 | import ... it.js"; | DeclarationFiles/lib/split.d.ts |
| DeclarationFiles/src/main.ts:2:1:2:25 | import ... it.js"; | DeclarationFiles/lib/split.js |
| DeclarationFiles/src/main.ts:3:1:3:27 | import ... .d.ts"; | DeclarationFiles/lib/split.d.ts |
| DeclarationFiles/src/main.ts:5:1:5:27 | import ... cript"; | DeclarationFiles/lib/typescript.ts |
| DeclarationFiles/src/main.ts:6:1:6:30 | import ... pt.js"; | DeclarationFiles/lib/typescript.ts |
| DeclarationFiles/src/main.ts:7:1:7:32 | import ... .d.ts"; | DeclarationFiles/lib/typescript.d.ts |
| DeclarationFiles/src/main.ts:7:1:7:32 | import ... .d.ts"; | DeclarationFiles/lib/typescript.ts |
| DirnameImports/main.js:4:1:4:33 | require ... et.js') | DirnameImports/target.js |
| DirnameImports/main.js:5:1:5:40 | require ... et.js') | DirnameImports/nested/target.js |
| DirnameImports/main.js:6:1:6:45 | require ... es.ts') | import-packages.ts |
| DirnameImports/main.js:7:1:7:38 | require ... et.js') | DirnameImports/target.js |
| DirnameImports/main.js:9:1:9:42 | require ... t.js')) | DirnameImports/target.js |
| DirnameImports/main.js:13:1:13:48 | require ... et.js') | DirnameImports/nested/target.js |
| 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 |
| Extended/src/main.ts:4:1:4:24 | import ... le.js"; | Extended/lib/file.ts |
| Extended/src/main.ts:5:1:5:16 | import "../lib"; | Extended/lib/index.ts |
| Extended/src/main.ts:6:1:6:22 | import ... index"; | Extended/lib/index.ts |
| Extended/src/main.ts:7:1:7:25 | import ... ex.ts"; | Extended/lib/index.ts |
| Extended/src/main.ts:8:1:8:25 | import ... ex.js"; | Extended/lib/index.ts |
| Extended/src/main.ts:11:1:11:18 | import "lib/file"; | Extended/lib/file.ts |
| Extended/src/main.ts:12:1:12:21 | import ... le.ts"; | Extended/lib/file.ts |
| Extended/src/main.ts:13:1:13:21 | import ... le.js"; | Extended/lib/file.ts |
| Extended/src/main.ts:14:1:14:13 | import "lib"; | Extended/lib/index.ts |
| Extended/src/main.ts:15:1:15:19 | import "lib/index"; | Extended/lib/index.ts |
| Extended/src/main.ts:16:1:16:22 | import ... ex.ts"; | Extended/lib/index.ts |
| Extended/src/main.ts:17:1:17:22 | import ... ex.js"; | Extended/lib/index.ts |
| Extended/src/main.ts:20:1:20:16 | import "@/file"; | Extended/lib/file.ts |
| Extended/src/main.ts:21:1:21:19 | import "@/file.ts"; | Extended/lib/file.ts |
| Extended/src/main.ts:22:1:22:19 | import "@/file.js"; | Extended/lib/file.ts |
| Extended/src/main.ts:23:1:23:11 | import "@"; | Extended/lib/nostar.ts |
| Extended/src/main.ts:24:1:24:17 | import "@/index"; | Extended/lib/index.ts |
| Extended/src/main.ts:25:1:25:20 | import "@/index.ts"; | Extended/lib/index.ts |
| Extended/src/main.ts:26:1:26:20 | import "@/index.js"; | Extended/lib/index.ts |
| Fallback/src/main.ts:1:1:1:15 | import "@/both" | Fallback/lib1/both.ts |
| Fallback/src/main.ts:2:1:2:16 | import "@/only1" | Fallback/lib1/only1.ts |
| Fallback/src/main.ts:3:1:3:16 | import "@/only2" | Fallback/lib2/only2.ts |
| Fallback/src/main.ts:4:1:4:29 | import ... ension" | Fallback/lib2/differentExtension.ts |
| Fallback/src/main.ts:5:1:5:32 | import ... ion.js" | Fallback/lib2/differentExtension.ts |
| Fallback/src/main.ts:7:1:7:17 | import "@/subdir" | Fallback/lib1/subdir/index.ts |
| Fallback/src/main.ts:8:1:8:22 | import ... r/both" | Fallback/lib1/subdir/both.ts |
| Fallback/src/main.ts:9:1:9:23 | import ... /only1" | Fallback/lib1/subdir/only1.ts |
| Fallback/src/main.ts:10:1:10:23 | import ... /only2" | Fallback/lib2/subdir/only2.ts |
| JSDocProvide/main.js:1:1:1:43 | import ... r/baz'; | JSDocProvide/lib.js |
| NoBaseUrl/src/main.ts:2:1:2:21 | import ... /file"; | NoBaseUrl/lib/file.ts |
| NoBaseUrl/src/main.ts:3:1:3:24 | import ... le.ts"; | NoBaseUrl/lib/file.ts |
| NoBaseUrl/src/main.ts:4:1:4:24 | import ... le.js"; | NoBaseUrl/lib/file.ts |
| NoBaseUrl/src/main.ts:5:1:5:16 | import "../lib"; | NoBaseUrl/lib/index.ts |
| NoBaseUrl/src/main.ts:6:1:6:22 | import ... index"; | NoBaseUrl/lib/index.ts |
| NoBaseUrl/src/main.ts:7:1:7:25 | import ... ex.ts"; | NoBaseUrl/lib/index.ts |
| NoBaseUrl/src/main.ts:8:1:8:25 | import ... ex.js"; | NoBaseUrl/lib/index.ts |
| NoBaseUrl/src/main.ts:20:1:20:16 | import "@/file"; | NoBaseUrl/lib/file.ts |
| NoBaseUrl/src/main.ts:21:1:21:19 | import "@/file.ts"; | NoBaseUrl/lib/file.ts |
| NoBaseUrl/src/main.ts:22:1:22:19 | import "@/file.js"; | NoBaseUrl/lib/file.ts |
| NoBaseUrl/src/main.ts:23:1:23:11 | import "@"; | NoBaseUrl/lib/nostar.ts |
| 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 |
| NodeModules/outermain.ts:1:1:1:13 | import 'foo'; | NodeModules/node_modules/foo/index.js |
| NodeModules/outermain.ts:2:1:2:13 | import 'bar'; | NodeModules/subfolder/node_modules/bar/index.js |
| NodeModules/subfolder/src/main.ts:1:1:1:13 | import 'foo'; | NodeModules/node_modules/foo/index.js |
| NodeModules/subfolder/src/main.ts:2:1:2:13 | import 'bar'; | NodeModules/subfolder/node_modules/bar/index.js |
| 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:5:1:5:43 | import ... -main'; | PackageWithModuleMain/main.js |
| import-packages.ts:10:1:10:39 | import ... ports'; | PackageWithExports/main.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:18:1:18:33 | import ... uess1'; | PackageGuess1/src/index.ts |
| import-packages.ts:21:1:21:33 | import ... uess2'; | PackageGuess2/blah/stuff.ts |
| import-packages.ts:23:1:23:30 | import ... inExt'; | PackageWithMainExt/lib/main.ts |
| import-packages.ts:24:1:24:40 | import ... n-ext'; | PackageWithMainExt/lib/main.ts |
| import-packages.ts:26:1:26:46 | import ... oo.js'; | TSConfigOutDir/src/foo.ts |
| import-packages.ts:29:1:29:33 | import ... older'; | MainIsFolder/src/index.ts |
| import-packages.ts:35:1:35:33 | import ... oo.js'; | RootDir/my-root/foo.ts |

View File

@@ -0,0 +1,5 @@
import javascript
query predicate importTarget(Import imprt, string value) {
imprt.getImportedModule().getFile().getRelativePath() = value
}

View File

@@ -0,0 +1,2 @@
query: test.ql
postprocess: utils/test/InlineExpectationsTestQuery.ql

View File

@@ -0,0 +1 @@
{} // dummy file to enable full TS extraction