File tree Expand file tree Collapse file tree
javascript/ql/lib/semmle/javascript/internal/paths Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -4,6 +4,17 @@ private import semmle.javascript.internal.paths.PackageJsonEx
44private import semmle.javascript.internal.paths.JSPaths
55
66final private class FinalPathExpr = PathExpr ;
7+ File getFileFromFolderImport ( Folder folder ) {
8+ result = folder .getJavaScriptFileOrTypings ( "index" )
9+ or
10+ // Note that unlike "exports" paths, "main" and "module" also take effect when the package
11+ // is imported via a relative path, e.g. `require("..")` targeting a folder with a package.json file.
12+ exists ( PackageJsonEx pkg |
13+ pkg .getFolder ( ) = folder and
14+ result = pkg .getMainFileOrBestGuess ( )
15+ )
16+ }
17+
718
819private class RelevantPathExpr extends FinalPathExpr {
920 pragma [ nomagic]
@@ -164,17 +175,6 @@ private Container resolvePathExpr1(RelevantPathExpr expr) {
164175 )
165176}
166177
167- File getFileFromFolderImport ( Folder folder ) {
168- result = folder .getJavaScriptFileOrTypings ( "index" )
169- or
170- // Note that unlike "exports" paths, "main" and "module" also take effect when the package
171- // is imported via a relative path, e.g. `require("..")` targeting a folder with a package.json file.
172- exists ( PackageJsonEx pkg |
173- pkg .getFolder ( ) = folder and
174- result = pkg .getMainFileOrBestGuess ( )
175- )
176- }
177-
178178File resolvePathExpr ( PathExpr expr ) {
179179 result = resolvePathExpr1 ( expr )
180180 or
You can’t perform that action at this time.
0 commit comments