summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/DelegatedPlugin.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/DelegatedPlugin.js')
-rw-r--r--node_modules/webpack/lib/DelegatedPlugin.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/DelegatedPlugin.js b/node_modules/webpack/lib/DelegatedPlugin.js
new file mode 100644
index 00000000..ffcc489c
--- /dev/null
+++ b/node_modules/webpack/lib/DelegatedPlugin.js
@@ -0,0 +1,43 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+
+"use strict";
+
+const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin");
+const DelegatedSourceDependency = require("./dependencies/DelegatedSourceDependency");
+
+/** @typedef {import("./Compiler")} Compiler */
+
+class DelegatedPlugin {
+ constructor(options) {
+ this.options = options;
+ }
+
+ /**
+ * Apply the plugin
+ * @param {Compiler} compiler the compiler instance
+ * @returns {void}
+ */
+ apply(compiler) {
+ compiler.hooks.compilation.tap(
+ "DelegatedPlugin",
+ (compilation, { normalModuleFactory }) => {
+ compilation.dependencyFactories.set(
+ DelegatedSourceDependency,
+ normalModuleFactory
+ );
+ }
+ );
+
+ compiler.hooks.compile.tap("DelegatedPlugin", ({ normalModuleFactory }) => {
+ new DelegatedModuleFactoryPlugin({
+ associatedObjectForCache: compiler.root,
+ ...this.options
+ }).apply(normalModuleFactory);
+ });
+ }
+}
+
+module.exports = DelegatedPlugin;