UNPKG

react-monaco-editor

Version:
52 lines (47 loc) 1.29 kB
/* 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 = `${this.name}:${idx}`; return dep; }), this.name ), this.name, callback ); }); } } module.exports = DllEntryPlugin;