@@ -280,6 +280,8 @@ class MiniCssExtractPlugin {
280
280
baseDataPath : 'options' ,
281
281
} ) ;
282
282
283
+ this . _sortedModulesCache = new WeakMap ( ) ;
284
+
283
285
this . options = Object . assign (
284
286
{ filename : DEFAULT_FILENAME , ignoreOrder : false } ,
285
287
options
@@ -535,7 +537,15 @@ class MiniCssExtractPlugin {
535
537
? Array . from ( this . getChunkModules ( chunk , chunkGraph ) ) . filter (
536
538
( module ) => module . type === MODULE_TYPE
537
539
)
538
- : chunkGraph . getChunkModulesIterableBySourceType ( chunk , MODULE_TYPE ) ;
540
+ : this . sortModules (
541
+ compilation ,
542
+ chunk ,
543
+ chunkGraph . getChunkModulesIterableBySourceType (
544
+ chunk ,
545
+ MODULE_TYPE
546
+ ) ,
547
+ compilation . runtimeTemplate . requestShortener
548
+ ) ;
539
549
540
550
if ( modules ) {
541
551
const { hashFunction, hashDigest, hashDigestLength } = outputOptions ;
@@ -1076,8 +1086,14 @@ class MiniCssExtractPlugin {
1076
1086
return obj ;
1077
1087
}
1078
1088
1079
- renderContentAsset ( compiler , compilation , chunk , modules , requestShortener ) {
1080
- let usedModules ;
1089
+ sortModules ( compilation , chunk , modules , requestShortener ) {
1090
+ let usedModules = this . _sortedModulesCache . get ( chunk ) ;
1091
+
1092
+ if ( usedModules || ! modules ) {
1093
+ return usedModules ;
1094
+ }
1095
+
1096
+ modules = [ ...modules ] ;
1081
1097
1082
1098
const [ chunkGroup ] = chunk . groupsIterable ;
1083
1099
const moduleIndexFunctionName =
@@ -1215,6 +1231,19 @@ class MiniCssExtractPlugin {
1215
1231
usedModules = modules ;
1216
1232
}
1217
1233
1234
+ this . _sortedModulesCache . set ( chunk , usedModules ) ;
1235
+
1236
+ return usedModules ;
1237
+ }
1238
+
1239
+ renderContentAsset ( compiler , compilation , chunk , modules , requestShortener ) {
1240
+ const usedModules = this . sortModules (
1241
+ compilation ,
1242
+ chunk ,
1243
+ modules ,
1244
+ requestShortener
1245
+ ) ;
1246
+
1218
1247
// TODO remove after drop webpack v4
1219
1248
const { ConcatSource, SourceMapSource, RawSource } = compiler . webpack
1220
1249
? compiler . webpack . sources
0 commit comments