@@ -619,11 +619,11 @@ module API {
619619 cached
620620 predicate use(TApiNode nd, DataFlow::Node ref) {
621621 exists(string m, Module mod | nd = MkModuleDef(m) and mod = importableModule(m) |
622- ref.(ModuleAsSourceNode ).getModule() = mod
622+ ref.(ModuleVarNode ).getModule() = mod
623623 )
624624 or
625625 exists(string m, Module mod | nd = MkModuleExport(m) and mod = importableModule(m) |
626- ref.(ExportsAsSourceNode ).getModule() = mod
626+ ref.(ExportsVarNode ).getModule() = mod
627627 or
628628 exists(DataFlow::Node base | use(MkModuleDef(m), base) |
629629 ref = trackUseNode(base).getAPropertyRead("exports")
@@ -746,9 +746,9 @@ module API {
746746 or
747747 // additional backwards step from `require('m')` to `exports` or `module.exports` in m
748748 exists(Import imp | imp.getImportedModuleNode() = trackDefNode(nd, t.continue()) |
749- result.(ExportsAsSourceNode ).getModule() = imp.getImportedModule()
749+ result.(ExportsVarNode ).getModule() = imp.getImportedModule()
750750 or
751- exists(ModuleAsSourceNode mod |
751+ exists(ModuleVarNode mod |
752752 mod.getModule() = imp.getImportedModule() and
753753 result = mod.(DataFlow::SourceNode).getAPropertyRead("exports")
754754 )
@@ -983,13 +983,21 @@ private module Label {
983983 string promised() { result = "promised" }
984984}
985985
986+ private class NodeModuleSourcesNodes extends DataFlow::SourceNode::Range {
987+ NodeModuleSourcesNodes() {
988+ exists(NodeModule m |
989+ this = DataFlow::ssaDefinitionNode(SSA::implicitInit([m.getModuleVariable(), m.getExportsVariable()]))
990+ )
991+ }
992+ }
993+
986994/**
987- * A CommonJS/AMD `module` variable, considered as a source node .
995+ * A CommonJS/AMD `module` variable.
988996 */
989- private class ModuleAsSourceNode extends DataFlow::SourceNode::Range {
997+ private class ModuleVarNode extends DataFlow::Node {
990998 Module m;
991999
992- ModuleAsSourceNode () {
1000+ ModuleVarNode () {
9931001 this = DataFlow::ssaDefinitionNode(SSA::implicitInit(m.(NodeModule).getModuleVariable()))
9941002 or
9951003 DataFlow::parameterNode(this, m.(AmdModule).getDefine().getModuleParameter())
@@ -999,12 +1007,12 @@ private class ModuleAsSourceNode extends DataFlow::SourceNode::Range {
9991007}
10001008
10011009/**
1002- * A CommonJS/AMD `exports` variable, considered as a source node .
1010+ * A CommonJS/AMD `exports` variable.
10031011 */
1004- private class ExportsAsSourceNode extends DataFlow::SourceNode::Range {
1012+ private class ExportsVarNode extends DataFlow::Node {
10051013 Module m;
10061014
1007- ExportsAsSourceNode () {
1015+ ExportsVarNode () {
10081016 this = DataFlow::ssaDefinitionNode(SSA::implicitInit(m.(NodeModule).getExportsVariable()))
10091017 or
10101018 DataFlow::parameterNode(this, m.(AmdModule).getDefine().getExportsParameter())
0 commit comments