| 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;
 |