File tree Expand file tree Collapse file tree
javascript/ql/lib/semmle/javascript Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,14 +19,20 @@ class PackageJson extends JsonObject {
1919 string getPackageName ( ) {
2020 result = this .getPropStringValue ( "name" )
2121 or
22- exists ( PackageJson parentPkg , Container currentDir , Container parentDir |
22+ exists ( PackageJson parentPkg , Container currentDir , Container parentDir , string parentPkgName |
2323 currentDir = this .getJsonFile ( ) .getParentContainer ( ) and
2424 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
2633 parentDir .getAChildContainer + ( ) = currentDir and
2734 result =
28- parentPkg .getPropStringValue ( "name" ) +
29- currentDir .getAbsolutePath ( ) .suffix ( parentDir .getAbsolutePath ( ) .length ( ) )
35+ parentPkgName + currentDir .getAbsolutePath ( ) .suffix ( parentDir .getAbsolutePath ( ) .length ( ) )
3036 )
3137 }
3238
You can’t perform that action at this time.
0 commit comments