| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- 	Author Tobias Koppers @sokra
 
- */
 
- "use strict";
 
- const DllEntryDependency = require("./dependencies/DllEntryDependency");
 
- const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
 
- const DllModuleFactory = require("./DllModuleFactory");
 
- class DllEntryPlugin {
 
- 	constructor(context, entries, name) {
 
- 		this.context = context;
 
- 		this.entries = entries;
 
- 		this.name = name;
 
- 	}
 
- 	apply(compiler) {
 
- 		compiler.hooks.compilation.tap(
 
- 			"DllEntryPlugin",
 
- 			(compilation, { normalModuleFactory }) => {
 
- 				const dllModuleFactory = new DllModuleFactory();
 
- 				compilation.dependencyFactories.set(
 
- 					DllEntryDependency,
 
- 					dllModuleFactory
 
- 				);
 
- 				compilation.dependencyFactories.set(
 
- 					SingleEntryDependency,
 
- 					normalModuleFactory
 
- 				);
 
- 			}
 
- 		);
 
- 		compiler.hooks.make.tapAsync("DllEntryPlugin", (compilation, callback) => {
 
- 			compilation.addEntry(
 
- 				this.context,
 
- 				new DllEntryDependency(
 
- 					this.entries.map((e, idx) => {
 
- 						const dep = new SingleEntryDependency(e);
 
- 						dep.loc = {
 
- 							name: this.name,
 
- 							index: idx
 
- 						};
 
- 						return dep;
 
- 					}),
 
- 					this.name
 
- 				),
 
- 				this.name,
 
- 				callback
 
- 			);
 
- 		});
 
- 	}
 
- }
 
- module.exports = DllEntryPlugin;
 
 
  |