You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* The returned export names are the matched `IDENTIFIER` and `IDENTIFIER_STRING` slots for all `EXPORTS_MEMBER`, `EXPORTS_DEFINE` and `EXPORTS_LITERAL` matches.
112
-
* The reexport specifiers are taken to be the `STRING_LITERAL`slots of all`MODULE_EXPORTS_ASSIGN` as well as all _top-level_`EXPORT_STAR``REQUIRE` matches and `EXPORTS_ASSIGN` matches whose `IDENTIFIER` also matches the first `IDENTIFIER` in `EXPORT_STAR_LIB`.
112
+
* The reexport specifiers are taken to be the `STRING_LITERAL`slot of the last`MODULE_EXPORTS_ASSIGN` as well as all _top-level_`EXPORT_STAR``REQUIRE` matches and `EXPORTS_ASSIGN` matches whose `IDENTIFIER` also matches the first `IDENTIFIER` in `EXPORT_STAR_LIB`.
113
113
114
114
### Parsing Examples
115
115
@@ -180,16 +180,16 @@ module.exports = {
180
180
181
181
#### module.exports reexport assignment
182
182
183
-
Any `module.exports = require('mod')` assignment is detected as a reexport:
183
+
Any `module.exports = require('mod')` assignment is detected as a reexport, but only the last one is returned:
As a result, the total list of exports would be inferred as the union of all of these reexported modules, which can lead to possible over-classification.
192
+
This is to avoid overclassification in Webpack bundles with externals which include `module.exports = require('external')` in their source for every external dependency.
0 commit comments