Skip to content

Commit 2d7a7ad

Browse files
committed
use index instead of debugId
fixed chunk propagation
1 parent a867825 commit 2d7a7ad

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

lib/optimize/RemoveParentModulesPlugin.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
function listToSet(list, chunk) {
66
var set = {};
77
list.forEach(function(module) {
8-
set[module.debugId] = {
8+
set[module._RemoveParentModulesPlugin_index] = {
99
module: module,
1010
chunks: [chunk]
1111
};
@@ -75,7 +75,10 @@ module.exports = RemoveParentModulesPlugin;
7575
RemoveParentModulesPlugin.prototype.apply = function(compiler) {
7676
compiler.plugin("compilation", function(compilation) {
7777
compilation.plugin(["optimize-chunks-basic", "optimize-extracted-chunks-basic"], function(chunks) {
78-
var todo = chunks.slice().reverse();
78+
this.modules.forEach(function(module, idx) {
79+
module._RemoveParentModulesPlugin_index = idx;
80+
})
81+
var todo = chunks.slice();
7982
todo.forEach(function(chunk, idx) {
8083
chunk._RemoveParentModulesPlugin_processed = false;
8184
chunk._RemoveParentModulesPlugin_availableModulesByChunk = {};
@@ -89,7 +92,7 @@ RemoveParentModulesPlugin.prototype.apply = function(compiler) {
8992
chunk._RemoveParentModulesPlugin_processed = true;
9093
continue;
9194
}
92-
var set = listToSet(chunk.modules);
95+
var set = listToSet(chunk.modules, chunk);
9396
if(availableModules)
9497
set = mergeSets(set, availableModules);
9598
chunk.chunks.forEach(function(child) {
@@ -110,10 +113,10 @@ RemoveParentModulesPlugin.prototype.apply = function(compiler) {
110113
delete chunk._RemoveParentModulesPlugin_availableModules;
111114
delete chunk._RemoveParentModulesPlugin_processed;
112115
delete chunk._RemoveParentModulesPlugin_index;
116+
if(chunk.entry) return;
113117
if(!availableModules) return;
114118
chunk.modules.slice().forEach(function(module) {
115-
if(chunk.entry) return;
116-
var info = availableModules[module.debugId];
119+
var info = availableModules[module._RemoveParentModulesPlugin_index];
117120
if(!info) return;
118121
var parentChunksWithModule = info.chunks;
119122
parentChunksWithModule = parentChunksWithModule.filter(function(chunk, idx) {

0 commit comments

Comments
 (0)