diff options
Diffstat (limited to 'node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js')
-rw-r--r-- | node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js b/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js new file mode 100644 index 0000000..f036009 --- /dev/null +++ b/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js @@ -0,0 +1,26 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Florent Cailhol @ooflorent +*/ +"use strict"; + +const ConstDependency = require("./ConstDependency"); + +class HarmonyTopLevelThisParserPlugin { + apply(parser) { + parser.hooks.expression + .for("this") + .tap("HarmonyTopLevelThisParserPlugin", node => { + if (!parser.scope.topLevelScope) return; + const module = parser.state.module; + const isHarmony = !!(module.buildMeta && module.buildMeta.exportsType); + if (isHarmony) { + const dep = new ConstDependency("undefined", node.range, false); + dep.loc = node.loc; + parser.state.current.addDependency(dep); + } + }); + } +} + +module.exports = HarmonyTopLevelThisParserPlugin; |