@@ -19,11 +19,15 @@ function ExtractTextPluginCompilation() {
1919 this . modulesByIdentifier = { } ;
2020}
2121
22+ function isInitialOrHasNoParents ( chunk ) {
23+ return chunk . isInitial ( ) || chunk . parents . length === 0 ;
24+ }
25+
2226ExtractTextPlugin . prototype . mergeNonInitialChunks = function ( chunk , intoChunk , checkedChunks ) {
2327 if ( ! intoChunk ) {
2428 checkedChunks = [ ] ;
2529 chunk . chunks . forEach ( function ( c ) {
26- if ( c . isInitial ( ) ) return ;
30+ if ( isInitialOrHasNoParents ( c ) ) return ;
2731 this . mergeNonInitialChunks ( c , chunk , checkedChunks ) ;
2832 } , this ) ;
2933 } else if ( checkedChunks . indexOf ( chunk ) < 0 ) {
@@ -33,7 +37,7 @@ ExtractTextPlugin.prototype.mergeNonInitialChunks = function(chunk, intoChunk, c
3337 module . addChunk ( intoChunk ) ;
3438 } ) ;
3539 chunk . chunks . forEach ( function ( c ) {
36- if ( c . isInitial ( ) ) return ;
40+ if ( isInitialOrHasNoParents ( c ) ) return ;
3741 this . mergeNonInitialChunks ( c , intoChunk , checkedChunks ) ;
3842 } , this ) ;
3943 }
@@ -262,7 +266,7 @@ ExtractTextPlugin.prototype.apply = function(compiler) {
262266 } ) ;
263267 async . forEach ( chunks , function ( chunk , callback ) {
264268 var extractedChunk = extractedChunks [ chunks . indexOf ( chunk ) ] ;
265- var shouldExtract = ! ! ( options . allChunks || chunk . isInitial ( ) ) ;
269+ var shouldExtract = ! ! ( options . allChunks || isInitialOrHasNoParents ( chunk ) ) ;
266270 async . forEach ( chunk . modules . slice ( ) , function ( module , callback ) {
267271 var meta = module [ NS ] ;
268272 if ( meta && ( ! meta . options . id || meta . options . id === id ) ) {
@@ -298,11 +302,11 @@ ExtractTextPlugin.prototype.apply = function(compiler) {
298302 } , function ( err ) {
299303 if ( err ) return callback ( err ) ;
300304 extractedChunks . forEach ( function ( extractedChunk ) {
301- if ( extractedChunk . isInitial ( ) )
305+ if ( isInitialOrHasNoParents ( extractedChunk ) )
302306 this . mergeNonInitialChunks ( extractedChunk ) ;
303307 } , this ) ;
304308 extractedChunks . forEach ( function ( extractedChunk ) {
305- if ( ! extractedChunk . isInitial ( ) ) {
309+ if ( ! isInitialOrHasNoParents ( extractedChunk ) ) {
306310 extractedChunk . modules . slice ( ) . forEach ( function ( module ) {
307311 extractedChunk . removeModule ( module ) ;
308312 } ) ;
0 commit comments