@@ -11,7 +11,8 @@ type ChunkDefinitions = { alias: string | null; modules: Module[] }[];
1111export function getChunkAssignments (
1212 entries : readonly Module [ ] ,
1313 manualChunkAliasByEntry : ReadonlyMap < Module , string > ,
14- minChunkSize : number
14+ minChunkSize : number ,
15+ deepChunkOptimization : boolean
1516) : ChunkDefinitions {
1617 const chunkDefinitions : ChunkDefinitions = [ ] ;
1718 const modulesInManualChunks = new Set ( manualChunkAliasByEntry . keys ( ) ) ;
@@ -41,7 +42,8 @@ export function getChunkAssignments(
4142 assignedEntriesByModule ,
4243 modulesInManualChunks ,
4344 staticEntries ,
44- dynamicallyDependentEntriesByDynamicEntry
45+ dynamicallyDependentEntriesByDynamicEntry ,
46+ deepChunkOptimization
4547 ) ;
4648 }
4749 }
@@ -141,7 +143,8 @@ function assignEntryToStaticDependencies(
141143 assignedEntriesByModule : DependentModuleMap ,
142144 modulesInManualChunks : ReadonlySet < Module > ,
143145 staticEntries : ReadonlySet < Module > ,
144- dynamicallyDependentEntriesByDynamicEntry : ReadonlyDependentModuleMap
146+ dynamicallyDependentEntriesByDynamicEntry : ReadonlyDependentModuleMap ,
147+ deepChunkOptimization : boolean
145148) {
146149 const dynamicallyDependentEntries = dynamicallyDependentEntriesByDynamicEntry . get ( entry ) ;
147150 const modulesToHandle = new Set ( [ entry ] ) ;
@@ -153,7 +156,8 @@ function assignEntryToStaticDependencies(
153156 dynamicallyDependentEntries ,
154157 dependentEntriesByModule . get ( module ) ! ,
155158 staticEntries ,
156- dynamicallyDependentEntriesByDynamicEntry
159+ dynamicallyDependentEntriesByDynamicEntry ,
160+ deepChunkOptimization
157161 )
158162 ) {
159163 continue ;
@@ -178,9 +182,13 @@ function isModuleAlreadyLoaded(
178182 dynamicallyDependentEntries : ReadonlySet < Module > ,
179183 containedIn : ReadonlySet < Module > ,
180184 staticEntries : ReadonlySet < Module > ,
181- dynamicallyDependentEntriesByDynamicEntry : ReadonlyDependentModuleMap
185+ dynamicallyDependentEntriesByDynamicEntry : ReadonlyDependentModuleMap ,
186+ deepChunkOptimization : boolean
182187) : boolean {
183- if ( dynamicallyDependentEntries . size > MAX_ENTRIES_TO_CHECK_FOR_SHARED_DEPENDENCIES ) {
188+ if (
189+ ! deepChunkOptimization &&
190+ dynamicallyDependentEntries . size > MAX_ENTRIES_TO_CHECK_FOR_SHARED_DEPENDENCIES
191+ ) {
184192 return false ;
185193 }
186194 const entriesToCheck = new Set ( dynamicallyDependentEntries ) ;
@@ -190,7 +198,10 @@ function isModuleAlreadyLoaded(
190198 return false ;
191199 }
192200 const dynamicallyDependentEntries = dynamicallyDependentEntriesByDynamicEntry . get ( entry ) ! ;
193- if ( dynamicallyDependentEntries . size > MAX_ENTRIES_TO_CHECK_FOR_SHARED_DEPENDENCIES ) {
201+ if (
202+ ! deepChunkOptimization &&
203+ dynamicallyDependentEntries . size > MAX_ENTRIES_TO_CHECK_FOR_SHARED_DEPENDENCIES
204+ ) {
194205 return false ;
195206 }
196207 for ( const dependentEntry of dynamicallyDependentEntries ) {
0 commit comments