From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- .../HarmonyTopLevelThisParserPlugin.js | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js (limited to 'node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js') diff --git a/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js b/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js new file mode 100644 index 00000000..f0360093 --- /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; -- cgit v1.2.3