Skip to content

Commit 3b6d7d8

Browse files
committed
fix bug where sometimes the runtime would not be present on output
1 parent a0bfab2 commit 3b6d7d8

File tree

6 files changed

+44
-0
lines changed

6 files changed

+44
-0
lines changed

lib/Chunk.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class Chunk {
5050
this.ids = null;
5151
this.debugId = debugId++;
5252
this.name = name;
53+
this.isRuntimeOnly = false;
5354
this.entryModule = undefined;
5455
this._modules = new SortableSet(undefined, sortByIdentifier);
5556
this._groups = new SortableSet(undefined, sortById);
@@ -265,6 +266,9 @@ class Chunk {
265266
}
266267
return true;
267268
};
269+
270+
if (otherChunk.isRuntimeOnly) return false;
271+
268272
if (this.hasRuntime() !== otherChunk.hasRuntime()) {
269273
if (this.hasRuntime()) {
270274
return isAvailable(this, otherChunk);

lib/optimize/RuntimeChunkPlugin.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ module.exports = class RuntimeChunkPlugin {
2525
name = name(entrypoint);
2626
}
2727
const newChunk = compilation.addChunk(name);
28+
newChunk.isRuntimeOnly = true;
2829
entrypoint.unshiftChunk(newChunk);
2930
newChunk.addGroup(entrypoint);
3031
entrypoint.setRuntimeChunk(newChunk);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default "b";
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Asset Size Chunks Chunk Names
2+
0.js 287 bytes 0 [emitted]
3+
main1.js 386 bytes 1 [emitted] main1
4+
manifest.js 7.73 KiB 2 [emitted] manifest
5+
Entrypoint main1 = manifest.js main1.js
6+
[0] ./b.js 20 bytes {0} [built]
7+
[1] ./main1.js 36 bytes {1} [built]
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import("./b");
2+
3+
export default "a";
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const MinChunkSizePlugin = require("../../../lib/optimize/MinChunkSizePlugin");
2+
3+
module.exports = {
4+
mode: "production",
5+
target: "web",
6+
entry: {
7+
main1: "./main1"
8+
},
9+
output: {
10+
filename: "[name].js"
11+
},
12+
optimization: {
13+
runtimeChunk: {
14+
name: "manifest"
15+
}
16+
},
17+
stats: {
18+
hash: false,
19+
timings: false,
20+
builtAt: false,
21+
reasons: false
22+
},
23+
plugins: [
24+
new MinChunkSizePlugin({
25+
minChunkSize: 30
26+
})
27+
]
28+
};

0 commit comments

Comments
 (0)