mirror of
https://github.com/github/codeql.git
synced 2026-04-26 09:15:12 +02:00
JS: Add test
This commit is contained in:
@@ -0,0 +1 @@
|
||||
export const x = "file.ts"
|
||||
@@ -0,0 +1 @@
|
||||
export const x = "index.ts";
|
||||
@@ -0,0 +1 @@
|
||||
export const x = "nostar.ts"
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -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";
|
||||
@@ -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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import '..'; // $ importTarget=Basic/index.ts
|
||||
import '../'; // $ importTarget=Basic/index.ts
|
||||
import './..'; // $ importTarget=Basic/index.ts
|
||||
import './../'; // $ importTarget=Basic/index.ts
|
||||
@@ -0,0 +1 @@
|
||||
import './Subdir/sub'; // $ importTarget=Basic/Subdir/sub.ts
|
||||
5
javascript/ql/test/library-tests/PathResolution/DeclarationFiles/lib/split.d.ts
vendored
Normal file
5
javascript/ql/test/library-tests/PathResolution/DeclarationFiles/lib/split.d.ts
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
// Type declaration for dual-module
|
||||
export interface DualType {
|
||||
prop: string;
|
||||
}
|
||||
export declare function helper(): DualType;
|
||||
@@ -0,0 +1,4 @@
|
||||
// Implementation of dual-module
|
||||
export function helper() {
|
||||
return { prop: "implementation" };
|
||||
}
|
||||
1
javascript/ql/test/library-tests/PathResolution/DeclarationFiles/lib/typescript.d.ts
vendored
Normal file
1
javascript/ql/test/library-tests/PathResolution/DeclarationFiles/lib/typescript.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const x: number;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,2 @@
|
||||
// Nested target file for __dirname imports
|
||||
module.exports = { name: 'nested-target' };
|
||||
@@ -0,0 +1,2 @@
|
||||
// Target file for __dirname imports
|
||||
module.exports = { name: 'target' };
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"main": "./dist/src/foo.js"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = "file.ts"
|
||||
@@ -0,0 +1 @@
|
||||
export const x = "index.ts";
|
||||
@@ -0,0 +1 @@
|
||||
export const x = "nostar.ts"
|
||||
@@ -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";
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"include": ["."],
|
||||
"extends": "./base/tsconfig.base.json"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -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
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"include": ["."],
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"@/*": ["./lib1/*", "./lib2/*"],
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
/**
|
||||
* @providesModule jsdoc-provided-module/foo/bar/baz
|
||||
*/
|
||||
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
import 'jsdoc-provided-module/foo/bar/baz'; // $ importTarget=JSDocProvide/lib.js
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "@example/main-is-folder",
|
||||
"main": "dist"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"main": "dist/library.min.js"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = "file.ts"
|
||||
@@ -0,0 +1 @@
|
||||
export const x = "index.ts";
|
||||
@@ -0,0 +1 @@
|
||||
export const x = "nostar.ts"
|
||||
@@ -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";
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"include": ["."],
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"@/*": ["./lib/*"],
|
||||
"@/*.xyz": ["./lib/*"],
|
||||
"@": ["./lib/nostar.ts"]
|
||||
}
|
||||
}
|
||||
}
|
||||
1
javascript/ql/test/library-tests/PathResolution/NodeModules/node_modules/foo/index.js
generated
vendored
Normal file
1
javascript/ql/test/library-tests/PathResolution/NodeModules/node_modules/foo/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
3
javascript/ql/test/library-tests/PathResolution/NodeModules/node_modules/foo/package.json
generated
vendored
Normal file
3
javascript/ql/test/library-tests/PathResolution/NodeModules/node_modules/foo/package.json
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "foo"
|
||||
}
|
||||
@@ -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
|
||||
1
javascript/ql/test/library-tests/PathResolution/NodeModules/subfolder/node_modules/bar/index.js
generated
vendored
Normal file
1
javascript/ql/test/library-tests/PathResolution/NodeModules/subfolder/node_modules/bar/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
3
javascript/ql/test/library-tests/PathResolution/NodeModules/subfolder/node_modules/bar/package.json
generated
vendored
Normal file
3
javascript/ql/test/library-tests/PathResolution/NodeModules/subfolder/node_modules/bar/package.json
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "bar"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
import 'foo'; // $ importTarget=NodeModules/node_modules/foo/index.js
|
||||
import 'bar'; // $ importTarget=NodeModules/subfolder/node_modules/bar/index.js
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "@example/package-guess1"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "@example/package-guess2",
|
||||
"files": [
|
||||
"./blah/stuff.js"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "@example/package-with-index-file"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "@example/package-with-exports",
|
||||
"exports": {
|
||||
".": {
|
||||
"default": "./main.js"
|
||||
},
|
||||
"./fake-file": {
|
||||
"default": "./fake-file-impl.js"
|
||||
},
|
||||
"./star/*": {
|
||||
"default": "./star-impl/*"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "@example/package-with-main",
|
||||
"main": "./main.js"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "@example/package-with-main-ext",
|
||||
"main": "./lib/main.js"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "@example/package-with-module-main",
|
||||
"module": "./main.js"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"include": ["my-root","my-tests"],
|
||||
"compilerOptions": {
|
||||
"rootDir": "./my-root",
|
||||
"outDir": "./my-out",
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export const x = 1;
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"include": ["src"],
|
||||
"compilerOptions": {
|
||||
// Use unusual name to test independently of naming heuristics
|
||||
"outDir": "./customOutDir"
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
111
javascript/ql/test/library-tests/PathResolution/test.expected
Normal file
111
javascript/ql/test/library-tests/PathResolution/test.expected
Normal 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 |
|
||||
5
javascript/ql/test/library-tests/PathResolution/test.ql
Normal file
5
javascript/ql/test/library-tests/PathResolution/test.ql
Normal file
@@ -0,0 +1,5 @@
|
||||
import javascript
|
||||
|
||||
query predicate importTarget(Import imprt, string value) {
|
||||
imprt.getImportedModule().getFile().getRelativePath() = value
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
query: test.ql
|
||||
postprocess: utils/test/InlineExpectationsTestQuery.ql
|
||||
@@ -0,0 +1 @@
|
||||
{} // dummy file to enable full TS extraction
|
||||
Reference in New Issue
Block a user