Skip to content

Commit a6f0ca9

Browse files
committed
fix incorrect update of the WebWorker Template
1 parent 5d78ba9 commit a6f0ca9

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

lib/webworker/WebWorkerChunkTemplatePlugin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class WebWorkerChunkTemplatePlugin {
1313
chunkTemplate.plugin("render", (modules, chunk) => {
1414
const chunkCallbackName = chunkTemplate.outputOptions.chunkCallbackName || Template.toIdentifier("webpackChunk" + (chunkTemplate.outputOptions.library || ""));
1515
const source = new ConcatSource();
16-
source.add(`${chunkCallbackName}(${JSON.stringify(chunk.ids)},`);
16+
source.add(`self[${JSON.stringify(chunkCallbackName)}](${JSON.stringify(chunk.ids)},`);
1717
source.add(modules);
1818
source.add(")");
1919
return source;

lib/webworker/WebWorkerMainTemplatePlugin.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class WebWorkerMainTemplatePlugin {
2727
mainTemplate.plugin("require-ensure", (_, chunk, hash) => {
2828
const chunkFilename = mainTemplate.outputOptions.chunkFilename;
2929
return mainTemplate.asString([
30-
"return new Promise(function(resolve) {",
30+
"promises.push(Promise.resolve().then(function() {",
3131
mainTemplate.indent([
3232
"// \"1\" is the signal for \"already loaded\"",
3333
"if(!installedChunks[chunkId]) {",
@@ -42,17 +42,16 @@ class WebWorkerMainTemplatePlugin {
4242
}) + ");"
4343
]),
4444
"}",
45-
"resolve();"
4645
]),
47-
"});"
46+
"}));"
4847
]);
4948
});
5049
mainTemplate.plugin("bootstrap", (source, chunk, hash) => {
5150
if(chunk.getNumberOfChunks() > 0) {
5251
const chunkCallbackName = mainTemplate.outputOptions.chunkCallbackName || Template.toIdentifier("webpackChunk" + (mainTemplate.outputOptions.library || ""));
5352
return mainTemplate.asString([
5453
source,
55-
`mainTemplate[${JSON.stringify(chunkCallbackName)}] = function webpackChunkCallback(chunkIds, moreModules) {`,
54+
`self[${JSON.stringify(chunkCallbackName)}] = function webpackChunkCallback(chunkIds, moreModules) {`,
5655
mainTemplate.indent([
5756
"for(var moduleId in moreModules) {",
5857
mainTemplate.indent(mainTemplate.renderAddModule(hash, chunk, "moduleId", "moreModules[moduleId]")),

0 commit comments

Comments
 (0)