mirror of
https://github.com/github/codeql.git
synced 2025-12-22 19:56:32 +01:00
patch upper-case acronyms to be PascalCase
This commit is contained in:
@@ -64,7 +64,7 @@ predicate relatedModules(NodeModule m, NodeModule n) {
|
||||
n = m.getAnImportedModule() or m = n.getAnImportedModule()
|
||||
}
|
||||
|
||||
from NodeModule m, Require r, NodeModule imported, string msg, ASTNode linktarget, string linktext
|
||||
from NodeModule m, Require r, NodeModule imported, string msg, AstNode linktarget, string linktext
|
||||
where
|
||||
r = m.getAnImport() and
|
||||
imported = r.getImportedModule() and
|
||||
|
||||
@@ -16,10 +16,10 @@ import javascript
|
||||
* Gets the `package.json` of the nearest enclosing NPM package to which
|
||||
* file `f` belongs.
|
||||
*/
|
||||
PackageJSON getClosestPackageJSON(Folder f) {
|
||||
result = f.(NPMPackage).getPackageJSON()
|
||||
PackageJson getClosestPackageJson(Folder f) {
|
||||
result = f.(NpmPackage).getPackageJson()
|
||||
or
|
||||
not f instanceof NPMPackage and result = getClosestPackageJSON(f.getParentContainer())
|
||||
not f instanceof NpmPackage and result = getClosestPackageJson(f.getParentContainer())
|
||||
}
|
||||
|
||||
from Require r, string path, string mod
|
||||
@@ -35,14 +35,14 @@ where
|
||||
// import cannot be resolved statically
|
||||
not exists(r.getImportedModule()) and
|
||||
// no enclosing NPM package declares a dependency on `mod`
|
||||
forex(NPMPackage pkg, PackageJSON pkgJSON |
|
||||
pkg.getAModule() = r.getTopLevel() and pkgJSON = pkg.getPackageJSON()
|
||||
forex(NpmPackage pkg, PackageJson pkgJson |
|
||||
pkg.getAModule() = r.getTopLevel() and pkgJson = pkg.getPackageJson()
|
||||
|
|
||||
not pkgJSON.declaresDependency(mod, _) and
|
||||
not pkgJSON.getPeerDependencies().getADependency(mod, _) and
|
||||
not pkgJson.declaresDependency(mod, _) and
|
||||
not pkgJson.getPeerDependencies().getADependency(mod, _) and
|
||||
// exclude packages depending on `fbjs`, which automatically pulls in many otherwise
|
||||
// undeclared dependencies
|
||||
not pkgJSON.declaresDependency("fbjs", _)
|
||||
not pkgJson.declaresDependency("fbjs", _)
|
||||
)
|
||||
select r, "Module " + mod + " cannot be resolved, and is not declared as a dependency in $@.",
|
||||
getClosestPackageJSON(r.getFile().getParentContainer()), "package.json"
|
||||
getClosestPackageJson(r.getFile().getParentContainer()), "package.json"
|
||||
|
||||
@@ -16,19 +16,19 @@ import javascript
|
||||
* Holds if the NPM package `pkg` declares a dependency on package `name`,
|
||||
* and `dep` is the corresponding declaration in the `package.json` file.
|
||||
*/
|
||||
predicate declaresDependency(NPMPackage pkg, string name, JSONValue dep) {
|
||||
dep = pkg.getPackageJSON().getDependencies().getPropValue(name)
|
||||
predicate declaresDependency(NpmPackage pkg, string name, JsonValue dep) {
|
||||
dep = pkg.getPackageJson().getDependencies().getPropValue(name)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a path expression in a module belonging to `pkg`.
|
||||
*/
|
||||
PathExpr getAPathExpr(NPMPackage pkg) { result.getEnclosingModule() = pkg.getAModule() }
|
||||
PathExpr getAPathExpr(NpmPackage pkg) { result.getEnclosingModule() = pkg.getAModule() }
|
||||
|
||||
/**
|
||||
* Gets a URL-valued attribute in a module or HTML file belonging to `pkg`.
|
||||
*/
|
||||
DOM::AttributeDefinition getAURLAttribute(NPMPackage pkg) {
|
||||
DOM::AttributeDefinition getAUrlAttribute(NpmPackage pkg) {
|
||||
result.getFile() = pkg.getAFile() and
|
||||
DOM::isUrlValuedAttribute(result)
|
||||
}
|
||||
@@ -37,10 +37,10 @@ DOM::AttributeDefinition getAURLAttribute(NPMPackage pkg) {
|
||||
* Gets the name of a script in the 'scripts' object of `pkg`.
|
||||
* The script makes use of a declared `dependency` of `pkg`.
|
||||
*/
|
||||
string getPackageScriptNameWithDependency(NPMPackage pkg, string dependency) {
|
||||
exists(JSONObject scriptsObject, string scriptName, string script |
|
||||
string getPackageScriptNameWithDependency(NpmPackage pkg, string dependency) {
|
||||
exists(JsonObject scriptsObject, string scriptName, string script |
|
||||
declaresDependency(pkg, dependency, _) and
|
||||
scriptsObject = pkg.getPackageJSON().getPropValue("scripts") and
|
||||
scriptsObject = pkg.getPackageJson().getPropValue("scripts") and
|
||||
script = scriptsObject.getPropStringValue(scriptName) and
|
||||
script.regexpMatch(".*\\b\\Q" + dependency + "\\E\\b.*") and
|
||||
result = scriptName
|
||||
@@ -51,7 +51,7 @@ string getPackageScriptNameWithDependency(NPMPackage pkg, string dependency) {
|
||||
* Holds if the NPM package `pkg` declares a dependency on package `name`,
|
||||
* and uses it at least once.
|
||||
*/
|
||||
predicate usesDependency(NPMPackage pkg, string name) {
|
||||
predicate usesDependency(NpmPackage pkg, string name) {
|
||||
declaresDependency(pkg, name, _) and
|
||||
(
|
||||
// there is a path expression (e.g., in a `require` or `import`) that
|
||||
@@ -62,7 +62,7 @@ predicate usesDependency(NPMPackage pkg, string name) {
|
||||
)
|
||||
or
|
||||
// there is an HTML URL attribute that may reference `pkg`
|
||||
exists(DOM::AttributeDefinition attr | attr = getAURLAttribute(pkg) |
|
||||
exists(DOM::AttributeDefinition attr | attr = getAUrlAttribute(pkg) |
|
||||
// check whether the URL contains `node_modules/name`
|
||||
attr.getStringValue().regexpMatch(".*\\bnode_modules/\\Q" + name + "\\E(/.*)?")
|
||||
)
|
||||
@@ -85,7 +85,7 @@ predicate usesDependency(NPMPackage pkg, string name) {
|
||||
* view engine definitions, which (may) implicitly require the specified
|
||||
* engine as a module.
|
||||
*/
|
||||
predicate implicitRequire(NPMPackage pkg, string name) {
|
||||
predicate implicitRequire(NpmPackage pkg, string name) {
|
||||
// look for Express `set('view engine', ...)` calls
|
||||
exists(MethodCallExpr setViewEngine, string engine |
|
||||
Express::appCreation().flowsToExpr(setViewEngine.getReceiver()) and
|
||||
@@ -99,7 +99,7 @@ predicate implicitRequire(NPMPackage pkg, string name) {
|
||||
)
|
||||
}
|
||||
|
||||
from NPMPackage pkg, string name, JSONValue dep
|
||||
from NpmPackage pkg, string name, JsonValue dep
|
||||
where
|
||||
exists(pkg.getAModule()) and
|
||||
declaresDependency(pkg, name, dep) and
|
||||
|
||||
Reference in New Issue
Block a user