Merge pull request #9354 from erik-krogh/jsStages

JS: collapse a few small stages
This commit is contained in:
Erik Krogh Kristensen
2022-05-30 20:31:54 +02:00
committed by GitHub
2 changed files with 7 additions and 0 deletions

View File

@@ -3,6 +3,7 @@
import javascript
private import NodeModuleResolutionImpl
private import semmle.javascript.DynamicPropertyAccess as DynamicPropertyAccess
private import semmle.javascript.internal.CachedStages
/**
* A Node.js module.
@@ -113,6 +114,7 @@ class NodeModule extends Module {
}
override DataFlow::Node getABulkExportedNode() {
Stages::Imports::ref() and
exists(DataFlow::PropWrite write |
write.getBase().asExpr() = this.getModuleVariable().getAnAccess() and
write.getPropertyName() = "exports" and

View File

@@ -176,6 +176,8 @@ module Stages {
exists(DataFlow::moduleImport(_))
or
exists(any(ReExportDeclaration d).getReExportedModule())
or
exists(any(Module m).getABulkExportedNode())
}
}
@@ -276,6 +278,9 @@ module Stages {
.getInstance()
.getReceiver()
.getPromisedError()
.getADecoratedClass()
.getADecoratedMember()
.getADecoratedParameter()
)
}
}