From 7ff720fe5b9fcc44cb1ef2ae6731e6f16728b4bf Mon Sep 17 00:00:00 2001 From: Josh Story Date: Tue, 3 Oct 2023 13:31:30 -0700 Subject: [PATCH] Nits to fix tests after rebasing --- packages/next-swc/crates/next-core/src/next_import_map.rs | 8 ++++---- packages/next/src/client/app-next.ts | 6 ++++-- .../next/src/server/app-render/use-flight-response.tsx | 1 + 3 files changed, 9 insertions(+), 6 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 d8c82d32837046..63cf8cf828d4a0 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 @@ -249,10 +249,6 @@ pub async fn get_next_server_import_map( import_map.insert_wildcard_alias("react-dom/", external); import_map.insert_exact_alias("styled-jsx", external); import_map.insert_wildcard_alias("styled-jsx/", external); - import_map.insert_exact_alias( - "react-server-dom-webpack/", - ImportMapping::External(Some("react-server-dom-turbopack".into())).cell(), - ); // TODO: we should not bundle next/dist/build/utils in the pages renderer at all import_map.insert_wildcard_alias("next/dist/build/utils", external); } @@ -267,6 +263,10 @@ pub async fn get_next_server_import_map( "next/dynamic", request_to_import_mapping(project_path, "next/dist/shared/lib/app-dynamic"), ); + import_map.insert_exact_alias( + "react-server-dom-webpack/", + ImportMapping::External(Some("react-server-dom-turbopack".into())).cell(), + ); } ServerContextType::Middleware => {} } diff --git a/packages/next/src/client/app-next.ts b/packages/next/src/client/app-next.ts index f7561311e0ed1e..29e1dab5c91f31 100644 --- a/packages/next/src/client/app-next.ts +++ b/packages/next/src/client/app-next.ts @@ -1,10 +1,12 @@ import { appBootstrap } from './app-bootstrap' appBootstrap(() => { + // This import must go first because it needs to patch webpack chunk loading + // before React patches chunk loading. + require('./app-webpack') + const { hydrate } = require('./app-index') // Include app-router and layout-router in the main chunk require('next/dist/client/components/app-router') require('next/dist/client/components/layout-router') - require('./app-webpack') - const { hydrate } = require('./app-index') hydrate() }) diff --git a/packages/next/src/server/app-render/use-flight-response.tsx b/packages/next/src/server/app-render/use-flight-response.tsx index 1d1fe874efcfee..e20c9b86190974 100644 --- a/packages/next/src/server/app-render/use-flight-response.tsx +++ b/packages/next/src/server/app-render/use-flight-response.tsx @@ -26,6 +26,7 @@ export function useFlightResponse( } // react-server-dom-webpack/client.edge must not be hoisted for require cache clearing to work correctly let createFromReadableStream + // @TODO: investigate why the aliasing for turbopack doesn't pick this up, requiring this runtime check if (process.env.TURBOPACK) { createFromReadableStream = // eslint-disable-next-line import/no-extraneous-dependencies