Skip to content

Commit eca04ff

Browse files
committed
JS: refactor getADependency to return a string
1 parent 1e1674a commit eca04ff

File tree

7 files changed

+9
-9
lines changed

7 files changed

+9
-9
lines changed

javascript/ql/lib/semmle/javascript/NPM.qll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ class PackageJson extends JsonObject {
158158
* different from the other dependency types.
159159
*/
160160
predicate declaresDependency(string pkg, string version) {
161-
this.getADependenciesObject(_).getADependency(pkg, version)
161+
this.getADependenciesObject(_).getADependency(pkg) = version
162162
}
163163

164164
/** Gets the engine dependencies of this package. */
@@ -340,8 +340,8 @@ class PackageDependencies extends JsonObject {
340340
)
341341
}
342342

343-
/** Holds if this package depends on version 'version' of package 'pkg'. */
344-
predicate getADependency(string pkg, string version) { version = this.getPropStringValue(pkg) }
343+
/** Returns the version of the specified package that this package depends on. */
344+
string getADependency(string pkg) { result = this.getPropStringValue(pkg) }
345345
}
346346

347347
/**

javascript/ql/lib/semmle/javascript/frameworks/Next.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ module NextJS {
1111
/**
1212
* Gets a `package.json` that depends on the `Next.js` library.
1313
*/
14-
PackageJson getANextPackage() { result.getDependencies().getADependency("next", _) }
14+
PackageJson getANextPackage() { exists(result.getDependencies().getADependency("next")) }
1515

1616
/**
1717
* Gets a "pages" folder in a `Next.js` application.

javascript/ql/lib/semmle/javascript/frameworks/Redux.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module Redux {
2424
}
2525

2626
private predicate packageDependsOn(PackageJson importer, PackageJson dependency) {
27-
importer.getADependenciesObject("").getADependency(dependency.getPackageName(), _)
27+
exists(importer.getADependenciesObject("").getADependency(dependency.getPackageName()))
2828
}
2929

3030
/** Gets a package that can be considered an entry point for a Redux app. */

javascript/ql/lib/semmle/javascript/frameworks/Templating.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ module Templating {
601601

602602
private TemplateSyntax getOwnTemplateSyntaxInFolder(Folder f) {
603603
exists(PackageDependencies deps |
604-
deps.getADependency(result.getAPackageName(), _) and
604+
exists(deps.getADependency(result.getAPackageName())) and
605605
f = deps.getFile().getParentContainer()
606606
)
607607
}

javascript/ql/lib/semmle/javascript/frameworks/Vuex.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ module Vuex {
374374
}
375375

376376
private predicate packageDependsOn(PackageJson importer, PackageJson dependency) {
377-
importer.getADependenciesObject("").getADependency(dependency.getPackageName(), _)
377+
exists(importer.getADependenciesObject("").getADependency(dependency.getPackageName()))
378378
}
379379

380380
/** Gets a package that can be considered an entry point for a Vuex app. */

javascript/ql/src/NodeJS/UnresolvableImport.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ where
3939
pkg.getAModule() = r.getTopLevel() and pkgJson = pkg.getPackageJson()
4040
|
4141
not pkgJson.declaresDependency(mod, _) and
42-
not pkgJson.getPeerDependencies().getADependency(mod, _) and
42+
not exists(pkgJson.getPeerDependencies().getADependency(mod)) and
4343
// exclude packages depending on `fbjs`, which automatically pulls in many otherwise
4444
// undeclared dependencies
4545
not pkgJson.declaresDependency("fbjs", _)

javascript/ql/test/tutorials/Introducing the JavaScript libraries/query19.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import javascript
33
query predicate test_query19(PackageDependencies deps, string res) {
44
exists(NpmPackage pkg, string name |
55
deps = pkg.getPackageJson().getDependencies() and
6-
deps.getADependency(name, _) and
6+
exists(deps.getADependency(name)) and
77
not exists(Require req | req.getTopLevel() = pkg.getAModule() |
88
name = req.getImportedPath().getValue()
99
)

0 commit comments

Comments
 (0)