55function 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;
7575RemoveParentModulesPlugin . 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