mirror of
https://github.com/github/codeql.git
synced 2026-04-28 18:25:24 +02:00
Merge pull request #2757 from max-schaefer/js/resolveMainModule-extensions
Approved by asgerf
This commit is contained in:
@@ -84,10 +84,16 @@ File tryExtensions(Folder dir, string basename, int priority) {
|
||||
File resolveMainModule(PackageJSON pkg, int priority) {
|
||||
if exists(MainModulePath::of(pkg))
|
||||
then
|
||||
exists(Container c | c = MainModulePath::of(pkg).resolve() |
|
||||
result = c and priority = 0
|
||||
exists(PathExpr main | main = MainModulePath::of(pkg) |
|
||||
result = main.resolve() and priority = 0
|
||||
or
|
||||
result = tryExtensions(c, "index", priority)
|
||||
result = tryExtensions(main.resolve(), "index", priority)
|
||||
or
|
||||
not exists(main.resolve()) and
|
||||
not exists(main.getExtension()) and
|
||||
exists(int n | n = main.getNumComponent() |
|
||||
result = tryExtensions(main.resolveUpTo(n-1), main.getComponent(n-1), priority)
|
||||
)
|
||||
)
|
||||
else result = tryExtensions(pkg.getFile().getParentContainer(), "index", priority)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
| b | src/node_modules/b/lib/index.js:1:1:2:0 | <toplevel> |
|
||||
| b | src/node_modules/b/lib/index.ts:1:1:2:0 | <toplevel> |
|
||||
| c | src/node_modules/c/src/index.js:1:1:2:0 | <toplevel> |
|
||||
| d | src/node_modules/d/main.js:1:1:2:0 | <toplevel> |
|
||||
| test-package | src/index.js:1:1:4:0 | <toplevel> |
|
||||
| test-package | src/lib/tst2.js:1:1:1:14 | <toplevel> |
|
||||
| test-package | src/lib/tst.js:1:1:4:0 | <toplevel> |
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
| b | src/node_modules/b/lib/index.ts:1:1:2:0 | <toplevel> |
|
||||
| c | src/node_modules/c/src/index.js:1:1:2:0 | <toplevel> |
|
||||
| d | src/node_modules/d/main.js:1:1:2:0 | <toplevel> |
|
||||
| test-package | src/index.js:1:1:4:0 | <toplevel> |
|
||||
| third-party-module | src/node_modules/third-party-module/fancy.js:1:1:4:0 | <toplevel> |
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
| src/node_modules/b/package.json:1:1:4:1 | {\\n "na ... "lib"\\n} |
|
||||
| src/node_modules/c/package.json:1:1:4:1 | {\\n "na ... src/"\\n} |
|
||||
| src/node_modules/d/package.json:1:1:4:1 | {\\n "na ... main"\\n} |
|
||||
| src/node_modules/third-party-module/package.json:1:1:5:1 | {\\n "na ... y.js"\\n} |
|
||||
| src/package.json:1:1:18:1 | {\\n "na ... "\\n }\\n} |
|
||||
|
||||
1
javascript/ql/test/library-tests/NPM/src/node_modules/d/main.js
generated
vendored
Normal file
1
javascript/ql/test/library-tests/NPM/src/node_modules/d/main.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export default "d";
|
||||
4
javascript/ql/test/library-tests/NPM/src/node_modules/d/package.json
generated
vendored
Normal file
4
javascript/ql/test/library-tests/NPM/src/node_modules/d/package.json
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "d",
|
||||
"main": "main"
|
||||
}
|
||||
Reference in New Issue
Block a user