UNPKG

1.04 kBJavaScriptView Raw
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3 Author Tobias Koppers @sokra
4*/
5
6"use strict";
7
8const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin");
9const DelegatedSourceDependency = require("./dependencies/DelegatedSourceDependency");
10const DelegatedExportsDependency = require("./dependencies/DelegatedExportsDependency");
11const NullFactory = require("./NullFactory");
12
13class DelegatedPlugin {
14 constructor(options) {
15 this.options = options;
16 }
17
18 apply(compiler) {
19 compiler.hooks.compilation.tap(
20 "DelegatedPlugin",
21 (compilation, { normalModuleFactory }) => {
22 compilation.dependencyFactories.set(
23 DelegatedSourceDependency,
24 normalModuleFactory
25 );
26 compilation.dependencyFactories.set(
27 DelegatedExportsDependency,
28 new NullFactory()
29 );
30 }
31 );
32
33 compiler.hooks.compile.tap("DelegatedPlugin", ({ normalModuleFactory }) => {
34 new DelegatedModuleFactoryPlugin(this.options).apply(normalModuleFactory);
35 });
36 }
37}
38
39module.exports = DelegatedPlugin;