@@ -552,17 +552,26 @@ async fn insert_next_server_special_aliases(
552552 runtime : NextRuntime ,
553553 next_config : Vc < NextConfig > ,
554554) -> Result < ( ) > {
555- let external_if_node = move |context_dir : Vc < FileSystemPath > , request : & str | match runtime {
555+ let external_cjs_if_node = move |context_dir : Vc < FileSystemPath > , request : & str | match runtime {
556556 NextRuntime :: Edge => request_to_import_mapping ( context_dir, request) ,
557- NextRuntime :: NodeJs => external_request_to_import_mapping ( request) ,
557+ NextRuntime :: NodeJs => external_request_to_cjs_import_mapping ( request) ,
558558 } ;
559+ let external_esm_if_node = move |context_dir : Vc < FileSystemPath > , request : & str | match runtime {
560+ NextRuntime :: Edge => request_to_import_mapping ( context_dir, request) ,
561+ NextRuntime :: NodeJs => external_request_to_esm_import_mapping ( request) ,
562+ } ;
563+
564+ import_map. insert_exact_alias (
565+ "next/dist/compiled/@vercel/og/index.node.js" ,
566+ external_esm_if_node ( project_path, "next/dist/compiled/@vercel/og/index.node.js" ) ,
567+ ) ;
559568
560569 import_map. insert_exact_alias (
561570 "@opentelemetry/api" ,
562571 // It needs to prefer the local version of @opentelemetry/api
563572 ImportMapping :: Alternatives ( vec ! [
564- external_if_node ( project_path, "@opentelemetry/api" ) ,
565- external_if_node ( project_path, "next/dist/compiled/@opentelemetry/api" ) ,
573+ external_cjs_if_node ( project_path, "@opentelemetry/api" ) ,
574+ external_cjs_if_node ( project_path, "next/dist/compiled/@opentelemetry/api" ) ,
566575 ] )
567576 . cell ( ) ,
568577 ) ;
@@ -641,7 +650,7 @@ async fn insert_next_server_special_aliases(
641650
642651 import_map. insert_exact_alias (
643652 "@vercel/og" ,
644- external_if_node ( project_path, "next/dist/server/og/image-response" ) ,
653+ external_cjs_if_node ( project_path, "next/dist/server/og/image-response" ) ,
645654 ) ;
646655
647656 Ok ( ( ) )
@@ -1061,6 +1070,12 @@ fn request_to_import_mapping(context_path: Vc<FileSystemPath>, request: &str) ->
10611070
10621071/// Creates a direct import mapping to the result of resolving an external
10631072/// request.
1064- fn external_request_to_import_mapping ( request : & str ) -> Vc < ImportMapping > {
1073+ fn external_request_to_cjs_import_mapping ( request : & str ) -> Vc < ImportMapping > {
10651074 ImportMapping :: External ( Some ( request. into ( ) ) , ExternalType :: CommonJs ) . into ( )
10661075}
1076+
1077+ /// Creates a direct import mapping to the result of resolving an external
1078+ /// request.
1079+ fn external_request_to_esm_import_mapping ( request : & str ) -> Vc < ImportMapping > {
1080+ ImportMapping :: External ( Some ( request. into ( ) ) , ExternalType :: EcmaScriptModule ) . into ( )
1081+ }
0 commit comments