@@ -14,6 +14,7 @@ use turbopack_core::{
1414 Chunk , ChunkGroupResult , ChunkItem , ChunkType , ChunkableModule , ChunkingConfig ,
1515 ChunkingConfigs , ChunkingContext , EntryChunkGroupResult , EvaluatableAsset ,
1616 EvaluatableAssets , MinifyType , ModuleId , SourceMapSourceType , SourceMapsType ,
17+ UnusedReferences ,
1718 availability_info:: AvailabilityInfo ,
1819 chunk_group:: { MakeChunkGroupResult , make_chunk_group} ,
1920 module_id_strategies:: { DevModuleIdStrategy , ModuleIdStrategy } ,
@@ -27,7 +28,6 @@ use turbopack_core::{
2728 chunk_group_info:: ChunkGroup ,
2829 } ,
2930 output:: { OutputAsset , OutputAssets } ,
30- reference:: ModuleReference ,
3131} ;
3232use turbopack_ecmascript:: {
3333 async_chunk:: module:: AsyncLoaderModule ,
@@ -174,11 +174,8 @@ impl BrowserChunkingContextBuilder {
174174 self
175175 }
176176
177- pub fn unused_references (
178- mut self ,
179- unused_references : Option < ResolvedVc < BindingUsageInfo > > ,
180- ) -> Self {
181- self . chunking_context . unused_references = unused_references;
177+ pub fn unused_references ( mut self , unused_references : ResolvedVc < UnusedReferences > ) -> Self {
178+ self . chunking_context . unused_references = Some ( unused_references) ;
182179 self
183180 }
184181
@@ -305,7 +302,7 @@ pub struct BrowserChunkingContext {
305302 /// The module export usage info, if available.
306303 export_usage : Option < ResolvedVc < BindingUsageInfo > > ,
307304 /// Which references are unused and should be skipped (e.g. during codegen).
308- unused_references : Option < ResolvedVc < BindingUsageInfo > > ,
305+ unused_references : Option < ResolvedVc < UnusedReferences > > ,
309306 /// The chunking configs
310307 chunking_configs : Vec < ( ResolvedVc < Box < dyn ChunkType > > , ChunkingConfig ) > ,
311308 /// Whether to use absolute URLs for static assets (e.g. in CSS: `url("/absolute/path")`)
@@ -886,16 +883,11 @@ impl ChunkingContext for BrowserChunkingContext {
886883 }
887884
888885 #[ turbo_tasks:: function]
889- async fn is_reference_unused (
890- & self ,
891- reference : ResolvedVc < Box < dyn ModuleReference > > ,
892- ) -> Result < Vc < bool > > {
886+ fn unused_references ( & self ) -> Vc < UnusedReferences > {
893887 if let Some ( unused_references) = self . unused_references {
894- Ok ( Vc :: cell (
895- unused_references. await ?. is_reference_unused ( & reference) ,
896- ) )
888+ * unused_references
897889 } else {
898- Ok ( Vc :: cell ( false ) )
890+ Vc :: cell ( Default :: default ( ) )
899891 }
900892 }
901893
0 commit comments