@@ -18,7 +18,9 @@ use turbopack_binding::{
18
18
resolve:: { parse:: Request , pattern:: Pattern } ,
19
19
} ,
20
20
ecmascript:: TransformPlugin ,
21
- ecmascript_plugin:: transform:: directives:: client:: ClientDirectiveTransformer ,
21
+ ecmascript_plugin:: transform:: directives:: {
22
+ client:: ClientDirectiveTransformer , server:: ServerDirectiveTransformer ,
23
+ } ,
22
24
node:: execution_context:: ExecutionContext ,
23
25
turbopack:: {
24
26
condition:: ContextCondition ,
@@ -289,6 +291,12 @@ pub async fn get_server_module_options_context(
289
291
let styled_components_transform_plugin =
290
292
* get_styled_components_transform_plugin ( next_config) . await ?;
291
293
let styled_jsx_transform_plugin = * get_styled_jsx_transform_plugin ( ) . await ?;
294
+ let server_directive_transform_plugin =
295
+ Some ( Vc :: cell ( Box :: new ( ServerDirectiveTransformer :: new (
296
+ // ServerDirective is not implemented yet and always reports an issue.
297
+ // We don't have to pass a valid transition name yet, but the API is prepared.
298
+ & Vc :: cell ( "TODO" . to_string ( ) ) ,
299
+ ) ) as _ ) ) ;
292
300
293
301
// ModuleOptionsContext related options
294
302
let tsconfig = get_typescript_transform_options ( project_path) ;
@@ -387,6 +395,7 @@ pub async fn get_server_module_options_context(
387
395
let mut base_source_transforms: Vec < Vc < TransformPlugin > > = vec ! [
388
396
styled_components_transform_plugin,
389
397
styled_jsx_transform_plugin,
398
+ server_directive_transform_plugin,
390
399
]
391
400
. into_iter ( )
392
401
. flatten ( )
@@ -460,11 +469,13 @@ pub async fn get_server_module_options_context(
460
469
ecmascript_client_reference_transition_name,
461
470
..
462
471
} => {
463
- let mut base_source_transforms: Vec < Vc < TransformPlugin > > =
464
- vec ! [ styled_components_transform_plugin]
465
- . into_iter ( )
466
- . flatten ( )
467
- . collect ( ) ;
472
+ let mut base_source_transforms: Vec < Vc < TransformPlugin > > = vec ! [
473
+ styled_components_transform_plugin,
474
+ server_directive_transform_plugin,
475
+ ]
476
+ . into_iter ( )
477
+ . flatten ( )
478
+ . collect ( ) ;
468
479
469
480
if let Some ( ecmascript_client_reference_transition_name) =
470
481
ecmascript_client_reference_transition_name
0 commit comments