@@ -5,17 +5,19 @@ use turbo_tasks::{
5
5
FxIndexMap , ResolvedVc , TryFlatJoinIterExt , TryJoinIterExt , Value , ValueToString , Vc ,
6
6
} ;
7
7
use turbopack_core:: {
8
- chunk:: {
9
- availability_info:: AvailabilityInfo , ChunkableModules , ChunkingContext , ChunkingContextExt ,
10
- } ,
8
+ chunk:: { availability_info:: AvailabilityInfo , ChunkingContext } ,
11
9
module:: Module ,
12
- module_graph:: ModuleGraph ,
10
+ module_graph:: { chunk_group_info :: ChunkGroup , ModuleGraph } ,
13
11
output:: OutputAssets ,
14
12
} ;
15
13
16
14
use crate :: {
17
15
next_client_reference:: {
18
- visit_client_reference:: ClientReferenceGraphResult , ClientReferenceType ,
16
+ ecmascript_client_reference:: ecmascript_client_reference_module:: {
17
+ ECMASCRIPT_CLIENT_REFERENCE_MERGE_TAG_CLIENT , ECMASCRIPT_CLIENT_REFERENCE_MERGE_TAG_SSR ,
18
+ } ,
19
+ visit_client_reference:: ClientReferenceGraphResult ,
20
+ ClientReferenceType ,
19
21
} ,
20
22
next_server_component:: server_component_module:: NextServerComponentModule ,
21
23
} ;
@@ -57,91 +59,92 @@ pub async fn get_app_client_references_chunks(
57
59
let separate_chunk_group_per_client_reference = false ;
58
60
let app_client_references = app_client_references. await ?;
59
61
if separate_chunk_group_per_client_reference {
60
- let app_client_references_chunks: Vec < ( _ , ( _ , Option < _ > ) ) > = app_client_references
61
- . client_references
62
- . iter ( )
63
- . map ( |client_reference| async move {
64
- let client_reference_ty = client_reference. ty ( ) ;
65
- Ok ( (
66
- client_reference_ty,
67
- match client_reference_ty {
68
- ClientReferenceType :: EcmascriptClientReference (
69
- ecmascript_client_reference,
70
- ) => {
71
- let ecmascript_client_reference_ref =
72
- ecmascript_client_reference. await ?;
62
+ todo ! ( ) ;
63
+ // let app_client_references_chunks: Vec<(_, (_, Option<_>))> = app_client_references
64
+ // .client_references
65
+ // .iter()
66
+ // .map(|client_reference| async move {
67
+ // let client_reference_ty = client_reference.ty();
68
+ // Ok((
69
+ // client_reference_ty,
70
+ // match client_reference_ty {
71
+ // ClientReferenceType::EcmascriptClientReference(
72
+ // ecmascript_client_reference,
73
+ // ) => {
74
+ // let ecmascript_client_reference_ref =
75
+ // ecmascript_client_reference.await?;
73
76
74
- let client_chunk_group = client_chunking_context
75
- . root_chunk_group (
76
- * ResolvedVc :: upcast (
77
- ecmascript_client_reference_ref . client_module ,
78
- ) ,
79
- module_graph ,
80
- )
81
- . await ?;
77
+ // let client_chunk_group = client_chunking_context
78
+ // .root_chunk_group(
79
+ // module_graph,
80
+ // *ResolvedVc::upcast(
81
+ // ecmascript_client_reference_ref.client_module ,
82
+ // ) ,
83
+ // )
84
+ // .await?;
82
85
83
- (
84
- (
85
- client_chunk_group. assets ,
86
- client_chunk_group. availability_info ,
87
- ) ,
88
- if let Some ( ssr_chunking_context) = ssr_chunking_context {
89
- let ssr_chunk_group = ssr_chunking_context
90
- . root_chunk_group (
91
- * ResolvedVc :: upcast (
92
- ecmascript_client_reference_ref. ssr_module ,
93
- ) ,
94
- module_graph,
95
- )
96
- . await ?;
86
+ // (
87
+ // (
88
+ // client_chunk_group.assets,
89
+ // client_chunk_group.availability_info,
90
+ // ),
91
+ // if let Some(ssr_chunking_context) = ssr_chunking_context {
92
+ // let ssr_chunk_group = ssr_chunking_context
93
+ // .root_chunk_group(
94
+ // *ResolvedVc::upcast(
95
+ // ecmascript_client_reference_ref.ssr_module,
96
+ // ),
97
+ // module_graph,
98
+ // )
99
+ // .await?;
97
100
98
- Some ( (
99
- ssr_chunk_group. assets ,
100
- ssr_chunk_group. availability_info ,
101
- ) )
102
- } else {
103
- None
104
- } ,
105
- )
106
- }
107
- ClientReferenceType :: CssClientReference ( css_client_reference) => {
108
- let client_chunk_group = client_chunking_context
109
- . root_chunk_group (
110
- * ResolvedVc :: upcast ( css_client_reference) ,
111
- module_graph,
112
- )
113
- . await ?;
101
+ // Some((
102
+ // ssr_chunk_group.assets,
103
+ // ssr_chunk_group.availability_info,
104
+ // ))
105
+ // } else {
106
+ // None
107
+ // },
108
+ // )
109
+ // }
110
+ // ClientReferenceType::CssClientReference(css_client_reference) => {
111
+ // let client_chunk_group = client_chunking_context
112
+ // .root_chunk_group(
113
+ // *ResolvedVc::upcast(css_client_reference),
114
+ // module_graph,
115
+ // )
116
+ // .await?;
114
117
115
- (
116
- (
117
- client_chunk_group. assets ,
118
- client_chunk_group. availability_info ,
119
- ) ,
120
- None ,
121
- )
122
- }
123
- } ,
124
- ) )
125
- } )
126
- . try_join ( )
127
- . await ?;
118
+ // (
119
+ // (
120
+ // client_chunk_group.assets,
121
+ // client_chunk_group.availability_info,
122
+ // ),
123
+ // None,
124
+ // )
125
+ // }
126
+ // },
127
+ // ))
128
+ // })
129
+ // .try_join()
130
+ // .await?;
128
131
129
- Ok ( ClientReferencesChunks {
130
- client_component_client_chunks : app_client_references_chunks
131
- . iter ( )
132
- . map ( |& ( client_reference_ty, ( client_chunks, _) ) | {
133
- ( client_reference_ty, client_chunks)
134
- } )
135
- . collect ( ) ,
136
- client_component_ssr_chunks : app_client_references_chunks
137
- . iter ( )
138
- . flat_map ( |& ( client_reference_ty, ( _, ssr_chunks) ) | {
139
- ssr_chunks. map ( |ssr_chunks| ( client_reference_ty, ssr_chunks) )
140
- } )
141
- . collect ( ) ,
142
- layout_segment_client_chunks : FxIndexMap :: default ( ) ,
143
- }
144
- . cell ( ) )
132
+ // Ok(ClientReferencesChunks {
133
+ // client_component_client_chunks: app_client_references_chunks
134
+ // .iter()
135
+ // .map(|&(client_reference_ty, (client_chunks, _))| {
136
+ // (client_reference_ty, client_chunks)
137
+ // })
138
+ // .collect(),
139
+ // client_component_ssr_chunks: app_client_references_chunks
140
+ // .iter()
141
+ // .flat_map(|&(client_reference_ty, (_, ssr_chunks))| {
142
+ // ssr_chunks.map(|ssr_chunks| (client_reference_ty, ssr_chunks))
143
+ // })
144
+ // .collect(),
145
+ // layout_segment_client_chunks: FxIndexMap::default(),
146
+ // }
147
+ // .cell())
145
148
} else {
146
149
let mut client_references_by_server_component: FxIndexMap < _ , Vec < _ > > =
147
150
FxIndexMap :: default ( ) ;
@@ -212,9 +215,14 @@ pub async fn get_app_client_references_chunks(
212
215
)
213
216
. entered ( ) ;
214
217
215
- ssr_chunking_context. chunk_group_multiple (
218
+ ssr_chunking_context. chunk_group (
216
219
base_ident. with_modifier ( ssr_modules_modifier ( ) ) ,
217
- ChunkableModules :: interned ( ssr_modules) ,
220
+ // TODO use correct parameters here, and sort the modules?
221
+ ChunkGroup :: isolated_merged_interned (
222
+ 0 ,
223
+ ECMASCRIPT_CLIENT_REFERENCE_MERGE_TAG_SSR . clone ( ) ,
224
+ ssr_modules,
225
+ ) ,
218
226
module_graph,
219
227
Value :: new ( current_ssr_availability_info) ,
220
228
)
@@ -246,9 +254,14 @@ pub async fn get_app_client_references_chunks(
246
254
)
247
255
. entered ( ) ;
248
256
249
- Some ( client_chunking_context. chunk_group_multiple (
257
+ Some ( client_chunking_context. chunk_group (
250
258
base_ident. with_modifier ( client_modules_modifier ( ) ) ,
251
- ChunkableModules :: interned ( client_modules) ,
259
+ // TODO use correct parameters here, and sort the modules?
260
+ ChunkGroup :: isolated_merged_interned (
261
+ 0 ,
262
+ ECMASCRIPT_CLIENT_REFERENCE_MERGE_TAG_CLIENT . clone ( ) ,
263
+ client_modules,
264
+ ) ,
252
265
module_graph,
253
266
Value :: new ( current_client_availability_info) ,
254
267
) )
0 commit comments