File tree Expand file tree Collapse file tree 1 file changed +10
-4
lines changed
javascript/ql/lib/semmle/javascript Expand file tree Collapse file tree 1 file changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -19,14 +19,20 @@ class PackageJson extends JsonObject {
19
19
string getPackageName ( ) {
20
20
result = this .getPropStringValue ( "name" )
21
21
or
22
- exists ( PackageJson parentPkg , Container currentDir , Container parentDir |
22
+ exists ( PackageJson parentPkg , Container currentDir , Container parentDir , string parentPkgName |
23
23
currentDir = this .getJsonFile ( ) .getParentContainer ( ) and
24
24
parentDir = parentPkg .getJsonFile ( ) .getParentContainer ( ) and
25
- parentDir .getParentContainer + ( ) .getBaseName ( ) = "node_modules" and
25
+ parentPkgName = parentPkg .getPropStringValue ( "name" ) and
26
+ (
27
+ parentDir .getParentContainer ( ) .getBaseName ( ) = "node_modules"
28
+ or
29
+ // Scoped package is located in node_modules/@scope/pkgname
30
+ parentDir .getParentContainer ( ) .getParentContainer ( ) .getBaseName ( ) = "node_modules" and
31
+ exists ( parentPkgName .indexOf ( "/" ) )
32
+ ) and
26
33
parentDir .getAChildContainer + ( ) = currentDir and
27
34
result =
28
- parentPkg .getPropStringValue ( "name" ) +
29
- currentDir .getAbsolutePath ( ) .suffix ( parentDir .getAbsolutePath ( ) .length ( ) )
35
+ parentPkgName + currentDir .getAbsolutePath ( ) .suffix ( parentDir .getAbsolutePath ( ) .length ( ) )
30
36
)
31
37
}
32
38
You can’t perform that action at this time.
0 commit comments