Projekt

Obecné

Profil

Stáhnout (1.02 KB) Statistiky
| Větev: | Revize:
1
/*
2
	MIT License http://www.opensource.org/licenses/mit-license.php
3
	Author Tobias Koppers @sokra
4
*/
5

    
6
"use strict";
7

    
8
const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin");
9
const DelegatedSourceDependency = require("./dependencies/DelegatedSourceDependency");
10
const DelegatedExportsDependency = require("./dependencies/DelegatedExportsDependency");
11
const NullFactory = require("./NullFactory");
12

    
13
class 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

    
39
module.exports = DelegatedPlugin;
(28-28/144)