We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
module.createRequire
1 parent 1e65ed2 commit bbbb0a2Copy full SHA for bbbb0a2
javascript/ql/src/semmle/javascript/NodeJS.qll
@@ -163,7 +163,16 @@ private predicate isRequire(DataFlow::Node nd) {
163
or
164
isRequire(nd.getAPredecessor())
165
166
- nd = DataFlow::moduleMember("module", "createRequire").getACall()
+ // `import { createRequire } from 'module';` support.
167
+ // specialized to ES2015 modules to avoid recursion in the `DataFlow::moduleImport()` predicate.
168
+ exists(ImportDeclaration imp | imp.getImportedPath().getValue() = "module" |
169
+ nd =
170
+ imp
171
+ .getImportedModuleNode()
172
+ .(DataFlow::SourceNode)
173
+ .getAPropertyRead("createRequire")
174
+ .getACall()
175
+ )
176
}
177
178
/**
0 commit comments