You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra */ "use strict";
const { ConcatSource } = require("webpack-sources");
class WebWorkerChunkTemplatePlugin { apply(chunkTemplate) { chunkTemplate.hooks.render.tap( "WebWorkerChunkTemplatePlugin", (modules, chunk) => { const chunkCallbackName = chunkTemplate.outputOptions.chunkCallbackName; const globalObject = chunkTemplate.outputOptions.globalObject; const source = new ConcatSource(); source.add( `${globalObject}[${JSON.stringify( chunkCallbackName )}](${JSON.stringify(chunk.ids)},`
); source.add(modules); source.add(")"); return source; } ); chunkTemplate.hooks.hash.tap("WebWorkerChunkTemplatePlugin", hash => { hash.update("webworker"); hash.update("3"); hash.update(`${chunkTemplate.outputOptions.chunkCallbackName}`); hash.update(`${chunkTemplate.outputOptions.globalObject}`); }); } } module.exports = WebWorkerChunkTemplatePlugin;
|