From 5ade64d4bd243d82ffaba6d90bcd774c7e48e59c Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Fri, 6 Jun 2025 00:12:02 -0400 Subject: [PATCH 1/3] Move client entry points --- .../client/react-flight-dom-client.browser.js | 10 ++++++++++ .../client/react-flight-dom-client.edge.js | 10 ++++++++++ .../client/react-flight-dom-client.node.js | 10 ++++++++++ .../client/react-flight-dom-client.browser.js | 10 ++++++++++ .../client/react-flight-dom-client.edge.js | 10 ++++++++++ .../client/react-flight-dom-client.node.js | 10 ++++++++++ scripts/rollup/bundles.js | 19 +++++++++++++------ scripts/shared/inlinedHostConfigs.js | 18 ++++++++++++------ 8 files changed, 85 insertions(+), 12 deletions(-) create mode 100644 packages/react-server-dom-parcel/src/client/react-flight-dom-client.browser.js create mode 100644 packages/react-server-dom-parcel/src/client/react-flight-dom-client.edge.js create mode 100644 packages/react-server-dom-parcel/src/client/react-flight-dom-client.node.js create mode 100644 packages/react-server-dom-turbopack/src/client/react-flight-dom-client.browser.js create mode 100644 packages/react-server-dom-turbopack/src/client/react-flight-dom-client.edge.js create mode 100644 packages/react-server-dom-turbopack/src/client/react-flight-dom-client.node.js diff --git a/packages/react-server-dom-parcel/src/client/react-flight-dom-client.browser.js b/packages/react-server-dom-parcel/src/client/react-flight-dom-client.browser.js new file mode 100644 index 00000000000..a3f15d0116c --- /dev/null +++ b/packages/react-server-dom-parcel/src/client/react-flight-dom-client.browser.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export * from './ReactFlightDOMClientBrowser'; diff --git a/packages/react-server-dom-parcel/src/client/react-flight-dom-client.edge.js b/packages/react-server-dom-parcel/src/client/react-flight-dom-client.edge.js new file mode 100644 index 00000000000..14a8876953b --- /dev/null +++ b/packages/react-server-dom-parcel/src/client/react-flight-dom-client.edge.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export * from './ReactFlightDOMClientEdge'; diff --git a/packages/react-server-dom-parcel/src/client/react-flight-dom-client.node.js b/packages/react-server-dom-parcel/src/client/react-flight-dom-client.node.js new file mode 100644 index 00000000000..8eb9daa35b6 --- /dev/null +++ b/packages/react-server-dom-parcel/src/client/react-flight-dom-client.node.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export * from './ReactFlightDOMClientNode'; diff --git a/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.browser.js b/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.browser.js new file mode 100644 index 00000000000..a3f15d0116c --- /dev/null +++ b/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.browser.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export * from './ReactFlightDOMClientBrowser'; diff --git a/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.edge.js b/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.edge.js new file mode 100644 index 00000000000..14a8876953b --- /dev/null +++ b/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.edge.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export * from './ReactFlightDOMClientEdge'; diff --git a/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.node.js b/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.node.js new file mode 100644 index 00000000000..8eb9daa35b6 --- /dev/null +++ b/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.node.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export * from './ReactFlightDOMClientNode'; diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index 6bb622c62ba..825ec78a637 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -639,7 +639,9 @@ const bundles = [ { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, - entry: 'react-server-dom-turbopack/client.browser', + entry: + 'react-server-dom-turbopack/src/client/react-flight-dom-client.browser', + name: 'react-server-dom-turbopack-client.browser', global: 'ReactServerDOMClient', minifyWithProdErrorCodes: false, wrapWithModuleBoundaries: false, @@ -648,7 +650,8 @@ const bundles = [ { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, - entry: 'react-server-dom-turbopack/client.node', + entry: 'react-server-dom-turbopack/src/client/react-flight-dom-client.node', + name: 'react-server-dom-turbopack-client.node', global: 'ReactServerDOMClient', minifyWithProdErrorCodes: false, wrapWithModuleBoundaries: false, @@ -657,7 +660,8 @@ const bundles = [ { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, - entry: 'react-server-dom-turbopack/client.edge', + entry: 'react-server-dom-turbopack/src/client/react-flight-dom-client.edge', + name: 'react-server-dom-turbopack-client.edge', global: 'ReactServerDOMClient', minifyWithProdErrorCodes: false, wrapWithModuleBoundaries: false, @@ -703,7 +707,8 @@ const bundles = [ { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, - entry: 'react-server-dom-parcel/client.browser', + entry: 'react-server-dom-parcel/src/client/react-flight-dom-client.browser', + name: 'react-server-dom-parcel-client.browser', global: 'ReactServerDOMClient', minifyWithProdErrorCodes: false, wrapWithModuleBoundaries: false, @@ -712,7 +717,8 @@ const bundles = [ { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, - entry: 'react-server-dom-parcel/client.node', + entry: 'react-server-dom-parcel/src/client/react-flight-dom-client.node', + name: 'react-server-dom-parcel-client.node', global: 'ReactServerDOMClient', minifyWithProdErrorCodes: false, wrapWithModuleBoundaries: false, @@ -721,7 +727,8 @@ const bundles = [ { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, - entry: 'react-server-dom-parcel/client.edge', + entry: 'react-server-dom-parcel/src/client/react-flight-dom-client.edge', + name: 'react-server-dom-parcel-client.edge', global: 'ReactServerDOMClient', minifyWithProdErrorCodes: false, wrapWithModuleBoundaries: false, diff --git a/scripts/shared/inlinedHostConfigs.js b/scripts/shared/inlinedHostConfigs.js index 24db4fe0ea1..7bd2cfa7721 100644 --- a/scripts/shared/inlinedHostConfigs.js +++ b/scripts/shared/inlinedHostConfigs.js @@ -193,7 +193,7 @@ module.exports = [ { shortName: 'dom-node-turbopack', entryPoints: [ - 'react-server-dom-turbopack/client.node', + 'react-server-dom-turbopack/src/client/react-flight-dom-client.node', 'react-server-dom-turbopack/src/server/react-flight-dom-server.node', ], paths: [ @@ -220,6 +220,7 @@ module.exports = [ 'react-server-dom-turbopack/src/client/ReactFlightDOMClientNode.js', // react-server-dom-turbopack/client.node 'react-server-dom-turbopack/src/client/ReactFlightClientConfigBundlerTurbopack.js', 'react-server-dom-turbopack/src/client/ReactFlightClientConfigBundlerTurbopackServer.js', + 'react-server-dom-turbopack/src/client/react-flight-dom-client.node', 'react-server-dom-turbopack/src/server/react-flight-dom-server.node', 'react-server-dom-turbopack/src/server/ReactFlightDOMServerNode.js', // react-server-dom-turbopack/src/server/react-flight-dom-server.node 'react-server-dom-turbopack/node-register', @@ -237,7 +238,7 @@ module.exports = [ { shortName: 'dom-node-parcel', entryPoints: [ - 'react-server-dom-parcel/client.node', + 'react-server-dom-parcel/src/client/react-flight-dom-client.node', 'react-server-dom-parcel/src/server/react-flight-dom-server.node', ], paths: [ @@ -263,6 +264,7 @@ module.exports = [ 'react-server-dom-parcel/static.node', 'react-server-dom-parcel/src/client/ReactFlightDOMClientNode.js', // react-server-dom-parcel/client.node 'react-server-dom-parcel/src/client/ReactFlightClientConfigBundlerParcel.js', + 'react-server-dom-parcel/src/client/react-flight-dom-client.node', 'react-server-dom-parcel/src/server/react-flight-dom-server.node', 'react-server-dom-parcel/src/server/ReactFlightDOMServerNode.js', // react-server-dom-parcel/src/server/react-flight-dom-server.node 'react-devtools', @@ -326,7 +328,7 @@ module.exports = [ { shortName: 'dom-browser-turbopack', entryPoints: [ - 'react-server-dom-turbopack/client.browser', + 'react-server-dom-turbopack/src/client/react-flight-dom-client.browser', 'react-server-dom-turbopack/src/server/react-flight-dom-server.browser', ], paths: [ @@ -347,6 +349,7 @@ module.exports = [ 'react-server-dom-turbopack/src/client/ReactFlightDOMClientBrowser.js', // react-server-dom-turbopack/client.browser 'react-server-dom-turbopack/src/client/ReactFlightClientConfigBundlerTurbopack.js', 'react-server-dom-turbopack/src/client/ReactFlightClientConfigBundlerTurbopackBrowser.js', + 'react-server-dom-turbopack/src/client/react-flight-dom-client.browser', 'react-server-dom-turbopack/src/server/react-flight-dom-server.browser', 'react-server-dom-turbopack/src/server/ReactFlightDOMServerBrowser.js', // react-server-dom-turbopack/src/server/react-flight-dom-server.browser 'react-devtools', @@ -362,7 +365,7 @@ module.exports = [ { shortName: 'dom-browser-parcel', entryPoints: [ - 'react-server-dom-parcel/client.browser', + 'react-server-dom-parcel/src/client/react-flight-dom-client.browser', 'react-server-dom-parcel/src/server/react-flight-dom-server.browser', ], paths: [ @@ -382,6 +385,7 @@ module.exports = [ 'react-server-dom-parcel/static.browser', 'react-server-dom-parcel/src/client/ReactFlightDOMClientBrowser.js', // react-server-dom-parcel/client.browser 'react-server-dom-parcel/src/client/ReactFlightClientConfigBundlerParcel.js', + 'react-server-dom-parcel/src/client/react-flight-dom-client.browser', 'react-server-dom-parcel/src/server/react-flight-dom-server.browser', 'react-server-dom-parcel/src/server/ReactFlightDOMServerBrowser.js', // react-server-dom-parcel/src/server/react-flight-dom-server.browser 'react-devtools', @@ -440,7 +444,7 @@ module.exports = [ { shortName: 'dom-edge-turbopack', entryPoints: [ - 'react-server-dom-turbopack/client.edge', + 'react-server-dom-turbopack/src/client/react-flight-dom-client.edge', 'react-server-dom-turbopack/src/server/react-flight-dom-server.edge', ], paths: [ @@ -465,6 +469,7 @@ module.exports = [ 'react-server-dom-turbopack/src/client/ReactFlightDOMClientEdge.js', // react-server-dom-turbopack/client.edge 'react-server-dom-turbopack/src/client/ReactFlightClientConfigBundlerTurbopack.js', 'react-server-dom-turbopack/src/client/ReactFlightClientConfigBundlerTurbopackServer.js', + 'react-server-dom-turbopack/src/client/react-flight-dom-client.edge', 'react-server-dom-turbopack/src/server/react-flight-dom-server.edge', 'react-server-dom-turbopack/src/server/ReactFlightDOMServerEdge.js', // react-server-dom-turbopack/src/server/react-flight-dom-server.edge 'react-devtools', @@ -480,7 +485,7 @@ module.exports = [ { shortName: 'dom-edge-parcel', entryPoints: [ - 'react-server-dom-parcel/client.edge', + 'react-server-dom-parcel/src/client/react-flight-dom-client.edge', 'react-server-dom-parcel/src/server/react-flight-dom-server.edge', ], paths: [ @@ -504,6 +509,7 @@ module.exports = [ 'react-server-dom-parcel/static.edge', 'react-server-dom-parcel/src/client/ReactFlightDOMClientEdge.js', // react-server-dom-parcel/client.edge 'react-server-dom-parcel/src/client/ReactFlightClientConfigBundlerParcel.js', + 'react-server-dom-parcel/src/client/react-flight-dom-client.edge', 'react-server-dom-parcel/src/server/react-flight-dom-server.edge', 'react-server-dom-parcel/src/server/ReactFlightDOMServerEdge.js', // react-server-dom-parcel/src/server/react-flight-dom-server.edge 'react-devtools', From aaa95aa57f9e868e3b230955fce18f22bcfcdb77 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Fri, 6 Jun 2025 00:28:20 -0400 Subject: [PATCH 2/3] Build Node.js Web Streams builds for Turbopack and Parcel --- ...ClientConfig.dom-node-webstreams-parcel.js | 18 ++++++++++ ...entConfig.dom-node-webstreams-turbopack.js | 19 ++++++++++ .../npm/client.node.js | 25 +++++++++++-- .../npm/server.node.js | 12 +++++-- ...react-flight-dom-client.node-webstreams.js | 10 ++++++ ...react-flight-dom-server.node-webstreams.js | 22 ++++++++++++ .../npm/client.node.js | 25 +++++++++++-- .../npm/server.node.js | 7 +++- ...react-flight-dom-client.node-webstreams.js | 10 ++++++ ...react-flight-dom-server.node-webstreams.js | 21 +++++++++++ scripts/rollup/bundles.js | 35 +++++++++++++++++++ scripts/shared/inlinedHostConfigs.js | 26 ++++++++++++++ 12 files changed, 223 insertions(+), 7 deletions(-) create mode 100644 packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webstreams-parcel.js create mode 100644 packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webstreams-turbopack.js create mode 100644 packages/react-server-dom-parcel/src/client/react-flight-dom-client.node-webstreams.js create mode 100644 packages/react-server-dom-parcel/src/server/react-flight-dom-server.node-webstreams.js create mode 100644 packages/react-server-dom-turbopack/src/client/react-flight-dom-client.node-webstreams.js create mode 100644 packages/react-server-dom-turbopack/src/server/react-flight-dom-server.node-webstreams.js diff --git a/packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webstreams-parcel.js b/packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webstreams-parcel.js new file mode 100644 index 00000000000..626f26903ed --- /dev/null +++ b/packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webstreams-parcel.js @@ -0,0 +1,18 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export {default as rendererVersion} from 'shared/ReactVersion'; +export const rendererPackageName = 'react-server-dom-parcel'; + +export * from 'react-client/src/ReactFlightClientStreamConfigWeb'; +export * from 'react-client/src/ReactClientConsoleConfigServer'; +export * from 'react-server-dom-parcel/src/client/ReactFlightClientConfigBundlerParcel'; +export * from 'react-server-dom-parcel/src/client/ReactFlightClientConfigTargetParcelServer'; +export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM'; +export const usedWithSSR = true; diff --git a/packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webstreams-turbopack.js b/packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webstreams-turbopack.js new file mode 100644 index 00000000000..fbdb9fc683a --- /dev/null +++ b/packages/react-client/src/forks/ReactFlightClientConfig.dom-node-webstreams-turbopack.js @@ -0,0 +1,19 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export {default as rendererVersion} from 'shared/ReactVersion'; +export const rendererPackageName = 'react-server-dom-turbopack'; + +export * from 'react-client/src/ReactFlightClientStreamConfigWeb'; +export * from 'react-client/src/ReactClientConsoleConfigServer'; +export * from 'react-server-dom-turbopack/src/client/ReactFlightClientConfigBundlerTurbopack'; +export * from 'react-server-dom-turbopack/src/client/ReactFlightClientConfigBundlerTurbopackServer'; +export * from 'react-server-dom-turbopack/src/client/ReactFlightClientConfigTargetTurbopackServer'; +export * from 'react-dom-bindings/src/shared/ReactFlightClientConfigDOM'; +export const usedWithSSR = true; diff --git a/packages/react-server-dom-parcel/npm/client.node.js b/packages/react-server-dom-parcel/npm/client.node.js index 75583db96f7..aa599553760 100644 --- a/packages/react-server-dom-parcel/npm/client.node.js +++ b/packages/react-server-dom-parcel/npm/client.node.js @@ -1,7 +1,28 @@ 'use strict'; +var n, w; if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react-server-dom-parcel-client.node.production.js'); + n = require('./cjs/react-server-dom-parcel-client.node.production.js'); + w = require('./cjs/react-server-dom-parcel-client.node-webstreams.production.js'); } else { - module.exports = require('./cjs/react-server-dom-parcel-client.node.development.js'); + n = require('./cjs/react-server-dom-parcel-client.node.development.js'); + w = require('./cjs/react-server-dom-parcel-client.node-webstreams.development.js'); } + +exports.registerServerReference = function (r, i, e) { + return w.registerServerReference(n.registerServerReference(r, i, e), i, e); +}; +exports.createServerReference = function (i, c, e, d, f) { + return w.registerServerReference( + n.createServerReference(i, c, e, d, f), + i, + e + ); +}; + +exports.createFromNodeStream = n.createFromNodeStream; +exports.createFromFetch = w.createFromFetch; +exports.createFromReadableStream = w.createFromReadableStream; + +exports.createTemporaryReferenceSet = w.createTemporaryReferenceSet; +exports.encodeReply = w.encodeReply; diff --git a/packages/react-server-dom-parcel/npm/server.node.js b/packages/react-server-dom-parcel/npm/server.node.js index 92b2551dc70..0d79550b402 100644 --- a/packages/react-server-dom-parcel/npm/server.node.js +++ b/packages/react-server-dom-parcel/npm/server.node.js @@ -1,10 +1,12 @@ 'use strict'; -var s; +var s, w; if (process.env.NODE_ENV === 'production') { s = require('./cjs/react-server-dom-parcel-server.node.production.js'); + w = require('./cjs/react-server-dom-parcel-server.node-webstreams.production.js'); } else { s = require('./cjs/react-server-dom-parcel-server.node.development.js'); + w = require('./cjs/react-server-dom-parcel-server.node-webstreams.development.js'); } exports.renderToPipeableStream = s.renderToPipeableStream; @@ -15,5 +17,11 @@ exports.decodeFormState = s.decodeFormState; exports.createClientReference = s.createClientReference; exports.registerServerReference = s.registerServerReference; exports.createTemporaryReferenceSet = s.createTemporaryReferenceSet; -exports.registerServerActions = s.registerServerActions; +exports.registerServerActions = function (m) { + w.registerServerActions(m); + s.registerServerActions(m); +}; exports.loadServerAction = s.loadServerAction; + +exports.renderToReadableStream = w.renderToReadableStream; +exports.decodeReplyFromAsyncIterable = w.decodeReplyFromAsyncIterable; diff --git a/packages/react-server-dom-parcel/src/client/react-flight-dom-client.node-webstreams.js b/packages/react-server-dom-parcel/src/client/react-flight-dom-client.node-webstreams.js new file mode 100644 index 00000000000..14a8876953b --- /dev/null +++ b/packages/react-server-dom-parcel/src/client/react-flight-dom-client.node-webstreams.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export * from './ReactFlightDOMClientEdge'; diff --git a/packages/react-server-dom-parcel/src/server/react-flight-dom-server.node-webstreams.js b/packages/react-server-dom-parcel/src/server/react-flight-dom-server.node-webstreams.js new file mode 100644 index 00000000000..54f3dbb2ec3 --- /dev/null +++ b/packages/react-server-dom-parcel/src/server/react-flight-dom-server.node-webstreams.js @@ -0,0 +1,22 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export { + renderToReadableStream, + prerender as unstable_prerender, + decodeReply, + decodeReplyFromAsyncIterable, + decodeAction, + decodeFormState, + createClientReference, + registerServerReference, + createTemporaryReferenceSet, + registerServerActions, + loadServerAction, +} from './ReactFlightDOMServerEdge'; diff --git a/packages/react-server-dom-turbopack/npm/client.node.js b/packages/react-server-dom-turbopack/npm/client.node.js index d9c2ddf9985..a0f366be009 100644 --- a/packages/react-server-dom-turbopack/npm/client.node.js +++ b/packages/react-server-dom-turbopack/npm/client.node.js @@ -1,7 +1,28 @@ 'use strict'; +var n, w; if (process.env.NODE_ENV === 'production') { - module.exports = require('./cjs/react-server-dom-turbopack-client.node.production.js'); + n = require('./cjs/react-server-dom-turbopack-client.node.production.js'); + w = require('./cjs/react-server-dom-turbopack-client.node-webstreams.production.js'); } else { - module.exports = require('./cjs/react-server-dom-turbopack-client.node.development.js'); + n = require('./cjs/react-server-dom-turbopack-client.node.development.js'); + w = require('./cjs/react-server-dom-turbopack-client.node-webstreams.development.js'); } + +exports.registerServerReference = function (r, i, e) { + return w.registerServerReference(n.registerServerReference(r, i, e), i, e); +}; +exports.createServerReference = function (i, c, e, d, f) { + return w.registerServerReference( + n.createServerReference(i, c, e, d, f), + i, + e + ); +}; + +exports.createFromNodeStream = n.createFromNodeStream; +exports.createFromFetch = w.createFromFetch; +exports.createFromReadableStream = w.createFromReadableStream; + +exports.createTemporaryReferenceSet = w.createTemporaryReferenceSet; +exports.encodeReply = w.encodeReply; diff --git a/packages/react-server-dom-turbopack/npm/server.node.js b/packages/react-server-dom-turbopack/npm/server.node.js index f9a4cf31f6e..2dd087a2882 100644 --- a/packages/react-server-dom-turbopack/npm/server.node.js +++ b/packages/react-server-dom-turbopack/npm/server.node.js @@ -1,10 +1,12 @@ 'use strict'; -var s; +var s, w; if (process.env.NODE_ENV === 'production') { s = require('./cjs/react-server-dom-turbopack-server.node.production.js'); + w = require('./cjs/react-server-dom-turbopack-server.node-webstreams.production.js'); } else { s = require('./cjs/react-server-dom-turbopack-server.node.development.js'); + w = require('./cjs/react-server-dom-turbopack-server.node-webstreams.development.js'); } exports.renderToPipeableStream = s.renderToPipeableStream; @@ -16,3 +18,6 @@ exports.registerServerReference = s.registerServerReference; exports.registerClientReference = s.registerClientReference; exports.createClientModuleProxy = s.createClientModuleProxy; exports.createTemporaryReferenceSet = s.createTemporaryReferenceSet; + +exports.renderToReadableStream = w.renderToReadableStream; +exports.decodeReplyFromAsyncIterable = w.decodeReplyFromAsyncIterable; diff --git a/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.node-webstreams.js b/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.node-webstreams.js new file mode 100644 index 00000000000..14a8876953b --- /dev/null +++ b/packages/react-server-dom-turbopack/src/client/react-flight-dom-client.node-webstreams.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export * from './ReactFlightDOMClientEdge'; diff --git a/packages/react-server-dom-turbopack/src/server/react-flight-dom-server.node-webstreams.js b/packages/react-server-dom-turbopack/src/server/react-flight-dom-server.node-webstreams.js new file mode 100644 index 00000000000..9198f9913ed --- /dev/null +++ b/packages/react-server-dom-turbopack/src/server/react-flight-dom-server.node-webstreams.js @@ -0,0 +1,21 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow + */ + +export { + renderToReadableStream, + prerender as unstable_prerender, + decodeReply, + decodeReplyFromAsyncIterable, + decodeAction, + decodeFormState, + registerServerReference, + registerClientReference, + createClientModuleProxy, + createTemporaryReferenceSet, +} from './ReactFlightDOMServerEdge'; diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index 825ec78a637..87c6bda3537 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -623,6 +623,18 @@ const bundles = [ wrapWithModuleBoundaries: false, externals: ['react', 'util', 'async_hooks', 'react-dom'], }, + { + bundleTypes: [NODE_DEV, NODE_PROD], + moduleType: RENDERER, + entry: + 'react-server-dom-turbopack/src/server/react-flight-dom-server.node-webstreams', + name: 'react-server-dom-turbopack-server.node-webstreams', + condition: 'react-server', + global: 'ReactServerDOMServer', + minifyWithProdErrorCodes: false, + wrapWithModuleBoundaries: false, + externals: ['react', 'util', 'async_hooks', 'react-dom'], + }, { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, @@ -657,6 +669,17 @@ const bundles = [ wrapWithModuleBoundaries: false, externals: ['react', 'react-dom', 'util'], }, + { + bundleTypes: [NODE_DEV, NODE_PROD], + moduleType: RENDERER, + entry: + 'react-server-dom-turbopack/src/client/react-flight-dom-client.node-webstreams', + name: 'react-server-dom-turbopack-client.node-webstreams', + global: 'ReactServerDOMClient', + minifyWithProdErrorCodes: false, + wrapWithModuleBoundaries: false, + externals: ['react', 'react-dom', 'util'], + }, { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, @@ -691,6 +714,18 @@ const bundles = [ wrapWithModuleBoundaries: false, externals: ['react', 'util', 'async_hooks', 'react-dom'], }, + { + bundleTypes: [NODE_DEV, NODE_PROD], + moduleType: RENDERER, + entry: + 'react-server-dom-parcel/src/server/react-flight-dom-server.node-webstreams', + name: 'react-server-dom-parcel-server.node-webstreams', + condition: 'react-server', + global: 'ReactServerDOMServer', + minifyWithProdErrorCodes: false, + wrapWithModuleBoundaries: false, + externals: ['react', 'util', 'async_hooks', 'react-dom'], + }, { bundleTypes: [NODE_DEV, NODE_PROD], moduleType: RENDERER, diff --git a/scripts/shared/inlinedHostConfigs.js b/scripts/shared/inlinedHostConfigs.js index 7bd2cfa7721..f98e0f54f06 100644 --- a/scripts/shared/inlinedHostConfigs.js +++ b/scripts/shared/inlinedHostConfigs.js @@ -235,6 +235,19 @@ module.exports = [ isFlowTyped: true, isServerSupported: true, }, + { + shortName: 'dom-node-webstreams-turbopack', + entryPoints: [ + 'react-server-dom-turbopack/src/client/react-flight-dom-client.node-webstreams', + 'react-server-dom-turbopack/src/server/react-flight-dom-server.node-webstreams', + ], + paths: [ + 'react-server-dom-turbopack/src/client/react-flight-dom-client.node-webstreams', + 'react-server-dom-turbopack/src/server/react-flight-dom-server.node-webstreams', + ], + isFlowTyped: false, + isServerSupported: true, + }, { shortName: 'dom-node-parcel', entryPoints: [ @@ -277,6 +290,19 @@ module.exports = [ isFlowTyped: true, isServerSupported: true, }, + { + shortName: 'dom-node-webstreams-parcel', + entryPoints: [ + 'react-server-dom-parcel/src/client/react-flight-dom-client.node-webstreams', + 'react-server-dom-parcel/src/server/react-flight-dom-server.node-webstreams', + ], + paths: [ + 'react-server-dom-parcel/src/client/react-flight-dom-client.node-webstreams', + 'react-server-dom-parcel/src/server/react-flight-dom-server.node-webstreams', + ], + isFlowTyped: false, + isServerSupported: true, + }, { shortName: 'dom-bun', entryPoints: ['react-dom/src/server/react-dom-server.bun.js'], From e334283bc234ce8432812920e2378135ef850009 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Fri, 6 Jun 2025 01:19:11 -0400 Subject: [PATCH 3/3] Test entry points should point to the entry point for interception --- packages/react-server-dom-parcel/client.browser.js | 2 +- packages/react-server-dom-parcel/client.edge.js | 2 +- packages/react-server-dom-parcel/client.node.js | 2 +- packages/react-server-dom-turbopack/client.browser.js | 2 +- packages/react-server-dom-turbopack/client.edge.js | 2 +- packages/react-server-dom-turbopack/client.node.js | 2 +- packages/react-server-dom-webpack/client.browser.js | 2 +- packages/react-server-dom-webpack/client.edge.js | 2 +- packages/react-server-dom-webpack/client.node.js | 2 +- packages/react-server-dom-webpack/client.node.unbundled.js | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/react-server-dom-parcel/client.browser.js b/packages/react-server-dom-parcel/client.browser.js index 945ceed7f39..1be0bc04a7e 100644 --- a/packages/react-server-dom-parcel/client.browser.js +++ b/packages/react-server-dom-parcel/client.browser.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientBrowser'; +export * from './src/client/react-flight-dom-client.browser'; diff --git a/packages/react-server-dom-parcel/client.edge.js b/packages/react-server-dom-parcel/client.edge.js index 0ba1d6b6b04..ab6a110c112 100644 --- a/packages/react-server-dom-parcel/client.edge.js +++ b/packages/react-server-dom-parcel/client.edge.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientEdge'; +export * from './src/client/react-flight-dom-client.edge'; diff --git a/packages/react-server-dom-parcel/client.node.js b/packages/react-server-dom-parcel/client.node.js index c2e364f42f1..c3ec7662d6e 100644 --- a/packages/react-server-dom-parcel/client.node.js +++ b/packages/react-server-dom-parcel/client.node.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientNode'; +export * from './src/client/react-flight-dom-client.node'; diff --git a/packages/react-server-dom-turbopack/client.browser.js b/packages/react-server-dom-turbopack/client.browser.js index 945ceed7f39..1be0bc04a7e 100644 --- a/packages/react-server-dom-turbopack/client.browser.js +++ b/packages/react-server-dom-turbopack/client.browser.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientBrowser'; +export * from './src/client/react-flight-dom-client.browser'; diff --git a/packages/react-server-dom-turbopack/client.edge.js b/packages/react-server-dom-turbopack/client.edge.js index 0ba1d6b6b04..ab6a110c112 100644 --- a/packages/react-server-dom-turbopack/client.edge.js +++ b/packages/react-server-dom-turbopack/client.edge.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientEdge'; +export * from './src/client/react-flight-dom-client.edge'; diff --git a/packages/react-server-dom-turbopack/client.node.js b/packages/react-server-dom-turbopack/client.node.js index c2e364f42f1..c3ec7662d6e 100644 --- a/packages/react-server-dom-turbopack/client.node.js +++ b/packages/react-server-dom-turbopack/client.node.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientNode'; +export * from './src/client/react-flight-dom-client.node'; diff --git a/packages/react-server-dom-webpack/client.browser.js b/packages/react-server-dom-webpack/client.browser.js index 945ceed7f39..1be0bc04a7e 100644 --- a/packages/react-server-dom-webpack/client.browser.js +++ b/packages/react-server-dom-webpack/client.browser.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientBrowser'; +export * from './src/client/react-flight-dom-client.browser'; diff --git a/packages/react-server-dom-webpack/client.edge.js b/packages/react-server-dom-webpack/client.edge.js index 0ba1d6b6b04..ab6a110c112 100644 --- a/packages/react-server-dom-webpack/client.edge.js +++ b/packages/react-server-dom-webpack/client.edge.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientEdge'; +export * from './src/client/react-flight-dom-client.edge'; diff --git a/packages/react-server-dom-webpack/client.node.js b/packages/react-server-dom-webpack/client.node.js index c2e364f42f1..c3ec7662d6e 100644 --- a/packages/react-server-dom-webpack/client.node.js +++ b/packages/react-server-dom-webpack/client.node.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientNode'; +export * from './src/client/react-flight-dom-client.node'; diff --git a/packages/react-server-dom-webpack/client.node.unbundled.js b/packages/react-server-dom-webpack/client.node.unbundled.js index c2e364f42f1..e5f8c2cb725 100644 --- a/packages/react-server-dom-webpack/client.node.unbundled.js +++ b/packages/react-server-dom-webpack/client.node.unbundled.js @@ -7,4 +7,4 @@ * @flow */ -export * from './src/client/ReactFlightDOMClientNode'; +export * from './src/client/react-flight-dom-client.node.unbundled';