aboutsummaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
committerFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
commitbbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch)
treec58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js
parent003fb34971cf63466184351b4db5f7c67df4f444 (diff)
update packages
Diffstat (limited to 'node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js')
-rw-r--r--node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js215
1 files changed, 143 insertions, 72 deletions
diff --git a/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js b/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js
index 896d8a2bb..43a8d4c0c 100644
--- a/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js
+++ b/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js
@@ -1,72 +1,143 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-"use strict";
-const HarmonyImportDependency = require("./HarmonyImportDependency");
-const HarmonyImportSpecifierDependency = require("./HarmonyImportSpecifierDependency");
-const HarmonyCompatiblilityDependency = require("./HarmonyCompatibilityDependency");
-const HarmonyExportHeaderDependency = require("./HarmonyExportHeaderDependency");
-const HarmonyExportExpressionDependency = require("./HarmonyExportExpressionDependency");
-const HarmonyExportSpecifierDependency = require("./HarmonyExportSpecifierDependency");
-const HarmonyExportImportedSpecifierDependency = require("./HarmonyExportImportedSpecifierDependency");
-const HarmonyAcceptDependency = require("./HarmonyAcceptDependency");
-const HarmonyAcceptImportDependency = require("./HarmonyAcceptImportDependency");
-
-const NullFactory = require("../NullFactory");
-
-const HarmonyDetectionParserPlugin = require("./HarmonyDetectionParserPlugin");
-const HarmonyImportDependencyParserPlugin = require("./HarmonyImportDependencyParserPlugin");
-const HarmonyExportDependencyParserPlugin = require("./HarmonyExportDependencyParserPlugin");
-
-class HarmonyModulesPlugin {
- constructor(options) {
- this.options = options;
- }
-
- apply(compiler) {
- compiler.plugin("compilation", (compilation, params) => {
- const normalModuleFactory = params.normalModuleFactory;
-
- compilation.dependencyFactories.set(HarmonyImportDependency, normalModuleFactory);
- compilation.dependencyTemplates.set(HarmonyImportDependency, new HarmonyImportDependency.Template());
-
- compilation.dependencyFactories.set(HarmonyImportSpecifierDependency, new NullFactory());
- compilation.dependencyTemplates.set(HarmonyImportSpecifierDependency, new HarmonyImportSpecifierDependency.Template());
-
- compilation.dependencyFactories.set(HarmonyCompatiblilityDependency, new NullFactory());
- compilation.dependencyTemplates.set(HarmonyCompatiblilityDependency, new HarmonyCompatiblilityDependency.Template());
-
- compilation.dependencyFactories.set(HarmonyExportHeaderDependency, new NullFactory());
- compilation.dependencyTemplates.set(HarmonyExportHeaderDependency, new HarmonyExportHeaderDependency.Template());
-
- compilation.dependencyFactories.set(HarmonyExportExpressionDependency, new NullFactory());
- compilation.dependencyTemplates.set(HarmonyExportExpressionDependency, new HarmonyExportExpressionDependency.Template());
-
- compilation.dependencyFactories.set(HarmonyExportSpecifierDependency, new NullFactory());
- compilation.dependencyTemplates.set(HarmonyExportSpecifierDependency, new HarmonyExportSpecifierDependency.Template());
-
- compilation.dependencyFactories.set(HarmonyExportImportedSpecifierDependency, new NullFactory());
- compilation.dependencyTemplates.set(HarmonyExportImportedSpecifierDependency, new HarmonyExportImportedSpecifierDependency.Template());
-
- compilation.dependencyFactories.set(HarmonyAcceptDependency, new NullFactory());
- compilation.dependencyTemplates.set(HarmonyAcceptDependency, new HarmonyAcceptDependency.Template());
-
- compilation.dependencyFactories.set(HarmonyAcceptImportDependency, normalModuleFactory);
- compilation.dependencyTemplates.set(HarmonyAcceptImportDependency, new HarmonyAcceptImportDependency.Template());
-
- params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
-
- if(typeof parserOptions.harmony !== "undefined" && !parserOptions.harmony)
- return;
-
- parser.apply(
- new HarmonyDetectionParserPlugin(),
- new HarmonyImportDependencyParserPlugin(this.options),
- new HarmonyExportDependencyParserPlugin()
- );
- });
- });
- }
-}
-module.exports = HarmonyModulesPlugin;
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+"use strict";
+const HarmonyCompatibilityDependency = require("./HarmonyCompatibilityDependency");
+const HarmonyInitDependency = require("./HarmonyInitDependency");
+const HarmonyImportSpecifierDependency = require("./HarmonyImportSpecifierDependency");
+const HarmonyImportSideEffectDependency = require("./HarmonyImportSideEffectDependency");
+const HarmonyExportHeaderDependency = require("./HarmonyExportHeaderDependency");
+const HarmonyExportExpressionDependency = require("./HarmonyExportExpressionDependency");
+const HarmonyExportSpecifierDependency = require("./HarmonyExportSpecifierDependency");
+const HarmonyExportImportedSpecifierDependency = require("./HarmonyExportImportedSpecifierDependency");
+const HarmonyAcceptDependency = require("./HarmonyAcceptDependency");
+const HarmonyAcceptImportDependency = require("./HarmonyAcceptImportDependency");
+
+const NullFactory = require("../NullFactory");
+
+const HarmonyDetectionParserPlugin = require("./HarmonyDetectionParserPlugin");
+const HarmonyImportDependencyParserPlugin = require("./HarmonyImportDependencyParserPlugin");
+const HarmonyExportDependencyParserPlugin = require("./HarmonyExportDependencyParserPlugin");
+const HarmonyTopLevelThisParserPlugin = require("./HarmonyTopLevelThisParserPlugin");
+
+class HarmonyModulesPlugin {
+ constructor(options) {
+ this.options = options;
+ }
+
+ apply(compiler) {
+ compiler.hooks.compilation.tap(
+ "HarmonyModulesPlugin",
+ (compilation, { normalModuleFactory }) => {
+ compilation.dependencyFactories.set(
+ HarmonyCompatibilityDependency,
+ new NullFactory()
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyCompatibilityDependency,
+ new HarmonyCompatibilityDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyInitDependency,
+ new NullFactory()
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyInitDependency,
+ new HarmonyInitDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyImportSideEffectDependency,
+ normalModuleFactory
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyImportSideEffectDependency,
+ new HarmonyImportSideEffectDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyImportSpecifierDependency,
+ normalModuleFactory
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyImportSpecifierDependency,
+ new HarmonyImportSpecifierDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyExportHeaderDependency,
+ new NullFactory()
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyExportHeaderDependency,
+ new HarmonyExportHeaderDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyExportExpressionDependency,
+ new NullFactory()
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyExportExpressionDependency,
+ new HarmonyExportExpressionDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyExportSpecifierDependency,
+ new NullFactory()
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyExportSpecifierDependency,
+ new HarmonyExportSpecifierDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyExportImportedSpecifierDependency,
+ normalModuleFactory
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyExportImportedSpecifierDependency,
+ new HarmonyExportImportedSpecifierDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyAcceptDependency,
+ new NullFactory()
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyAcceptDependency,
+ new HarmonyAcceptDependency.Template()
+ );
+
+ compilation.dependencyFactories.set(
+ HarmonyAcceptImportDependency,
+ normalModuleFactory
+ );
+ compilation.dependencyTemplates.set(
+ HarmonyAcceptImportDependency,
+ new HarmonyAcceptImportDependency.Template()
+ );
+
+ const handler = (parser, parserOptions) => {
+ if (parserOptions.harmony !== undefined && !parserOptions.harmony)
+ return;
+
+ new HarmonyDetectionParserPlugin().apply(parser);
+ new HarmonyImportDependencyParserPlugin(this.options).apply(parser);
+ new HarmonyExportDependencyParserPlugin(this.options).apply(parser);
+ new HarmonyTopLevelThisParserPlugin().apply(parser);
+ };
+
+ normalModuleFactory.hooks.parser
+ .for("javascript/auto")
+ .tap("HarmonyModulesPlugin", handler);
+ normalModuleFactory.hooks.parser
+ .for("javascript/esm")
+ .tap("HarmonyModulesPlugin", handler);
+ }
+ );
+ }
+}
+module.exports = HarmonyModulesPlugin;