From deb81cf246d83233a7d2c0320f19bc4518a37ae4 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 19 Sep 2023 15:51:14 +0200 Subject: [PATCH] fix styled-jsx alias (#55581) ### What? makes sure that styled-jsx is always bundled as it contains `react` and it being external would break the react vendoring --- .../crates/next-core/src/next_import_map.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/next-swc/crates/next-core/src/next_import_map.rs b/packages/next-swc/crates/next-core/src/next_import_map.rs index 13221f6e0839..64486f931b8b 100644 --- a/packages/next-swc/crates/next-core/src/next_import_map.rs +++ b/packages/next-swc/crates/next-core/src/next_import_map.rs @@ -389,11 +389,6 @@ async fn insert_next_server_special_aliases( NextRuntime::Edge => request_to_import_mapping(context_dir, request), NextRuntime::NodeJs => external_request_to_import_mapping(request), }; - let passthrough_external_if_node = - move |context_dir: Vc, request: &str| match runtime { - NextRuntime::Edge => request_to_import_mapping(context_dir, request), - NextRuntime::NodeJs => ImportMapping::External(None).cell(), - }; match (mode, ty) { (_, ServerContextType::Pages { pages_dir }) => { import_map.insert_exact_alias( @@ -441,11 +436,11 @@ async fn insert_next_server_special_aliases( ); import_map.insert_exact_alias( "styled-jsx", - passthrough_external_if_node(app_dir, "next/dist/compiled/styled-jsx"), + request_to_import_mapping(get_next_package(app_dir), "styled-jsx"), ); import_map.insert_wildcard_alias( "styled-jsx/", - passthrough_external_if_node(app_dir, "next/dist/compiled/styled-jsx/*"), + request_to_import_mapping(get_next_package(app_dir), "styled-jsx/*"), ); import_map.insert_exact_alias( "react/jsx-runtime", @@ -561,6 +556,14 @@ async fn insert_next_server_special_aliases( // @opentelemetry/api request_to_import_mapping(app_dir, "next/dist/compiled/@opentelemetry/api"), ); + import_map.insert_exact_alias( + "styled-jsx", + request_to_import_mapping(get_next_package(app_dir), "styled-jsx"), + ); + import_map.insert_wildcard_alias( + "styled-jsx/", + request_to_import_mapping(get_next_package(app_dir), "styled-jsx/*"), + ); import_map.insert_exact_alias( "react/jsx-runtime",