add flagged exportsType for __esModule flagged
add getExportsType to merge strict with exportsType
move CommonJsStuffPlugin into CommonJsPlugin
split CommonJsPlugin into imports and exports part
enable minimal tree shaking for CommonJs imports and exports
use variable tagging in harmony pluging (instead of magic renaming)
Parser no longer calls hooks.expression for x in `x = ...`, hooks.pattern is called instead
remove rootName argument from hooks.expressionMemberChain and hooks.callMemberChain
there are too many weird modules
detect harmony modules before parsing
exports is now undefined in ESM
module.exports is now read-only in ESM and returns undefined
define is now undefined in ESM
#3917
* rename ModuleParserHelpers to ParserHelpers
- rename module and file from ModuleParserHelpers to ParserHelpers
- change imports and usages
- rename addParsedVariable to addParsedVariableToModule to add module context again
* introduce setTypeof helper to ParserHelpers
* switch setTypeof in amdplugin - use ParsersHelpers instead
* switch setTypeof in CommonJsPlugin - use ParsersHelpers instead
* switch setTypeof in SystemPlugin - use ParsersHelpers instead
* add ParserHelpers.expressionIsUnsupported method
* use ParserHelpers.expressionIsUnsupported in SystemPlugin and NodeStuffPlugin
* refactor setTypeOf to more atomic helper methods
- reduces sideeffects as parser is called outside of helper
- allows better reuse
* use ParserHelper on more pieces in CommonJsPlugin making BasicEvaluatedExpression obsolete
* switch new BasicEvaluatedExpression().setString(<somestring>).setRange(expr.range) in dependencies to ParserHelpers
* switch other new BasicEvaluatedExpression().setString(<somestring>).setRange(expr.range) to ParserHelpers
* rename wrongly named function - name anonymous functions
breaking change: compiler.parser must no longer be used. Use this instead:
``` js
compiler.plugin("compilation", function(compilation, params) {
params.normalModuleFactory.plugin("parser", function(parser, parserOptions) {
parser.plugin(/* ... */);
});
});
```
required for #2978