Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1e65ed2

Browse files
committed
support module.createRequire
1 parent ca1f531 commit 1e65ed2

3 files changed

Lines changed: 7 additions & 0 deletions

File tree

javascript/ql/src/semmle/javascript/NodeJS.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,8 @@ private predicate isRequire(DataFlow::Node nd) {
162162
not nd.getFile().getExtension() = "mjs"
163163
or
164164
isRequire(nd.getAPredecessor())
165+
or
166+
nd = DataFlow::moduleMember("module", "createRequire").getACall()
165167
}
166168

167169
/**

javascript/ql/test/library-tests/NodeJS/Require.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
| g.js:1:43:1:61 | require("electron") |
1616
| index.js:1:12:1:26 | require('path') |
1717
| index.js:2:1:2:41 | require ... b.js")) |
18+
| mjs-files/createRequire.mjs:4:26:4:49 | require ... erver') |
1819
| mjs-files/require-from-js.js:1:12:1:36 | require ... on-me') |
1920
| mjs-files/require-from-js.js:2:12:2:39 | require ... me.js') |
2021
| mjs-files/require-from-js.js:3:12:3:40 | require ... e.mjs') |
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { createRequire } from 'module';
2+
3+
const require = createRequire(import.meta.url);
4+
const { ApolloServer } = require('apollo-server');

0 commit comments

Comments
 (0)