Merge pull request #2757 from max-schaefer/js/resolveMainModule-extensions

Approved by asgerf
This commit is contained in:
semmle-qlci
2020-02-04 13:07:08 +00:00
committed by GitHub
6 changed files with 17 additions and 3 deletions

View File

@@ -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)
}