Skip to content

Commit 7cb356e

Browse files
authored
[Flight] rename prerender to unstable_prerender and include in stable channel (#31724)
We added an experimental `prerender` API to flight. This change exposes this API in stable channels prefixed as `unstable_prerender`. We have high confidence this API should exist but because we have not yet settled on how to handle resuming/replaying of RSC streams we may need to change the API contract to suit future needs. This release will allow us to get more usage out of the existing implemented functionality without requiring you to use experimental builds which will open up greater adoption and opportunity for feedback. the `prerender` implementation is documented in the `react-server` package. As with all RSC APIs implemented in bundler specific binding packages these aren't intended to be called by end users but instead be used by frameworks implementing React Server Components. Previously `prerender` was exposed unprefixed and only in the experimental channel. This PR renames the export across all channels to `unstable_prerender` so users of this previously unprefixed api will need to update to the unstable form. This isn't a breaking change because it was only exposed in the experimental channel which does not follow semver. The reason we don't expose it under both names is that users may feature detect the unprefixed form and then when we finally do ship it as unprefixed we may change the function signature and break this code. Changing the name now is much safer.
1 parent 4a8fc0f commit 7cb356e

37 files changed

+97
-83
lines changed

fixtures/flight/server/region.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ async function renderApp(res, returnValue, formState) {
106106
}
107107

108108
async function prerenderApp(res, returnValue, formState) {
109-
const {prerenderToNodeStream} = await import(
109+
const {unstable_prerenderToNodeStream: prerenderToNodeStream} = await import(
110110
'react-server-dom-webpack/static'
111111
);
112112
// const m = require('../src/App.js');

packages/react-server-dom-esm/npm/static.node.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ if (process.env.NODE_ENV === 'production') {
77
s = require('./cjs/react-server-dom-esm-server.node.development.js');
88
}
99

10-
if (s.prerenderToNodeStream) {
11-
exports.prerenderToNodeStream = s.prerenderToNodeStream;
10+
if (s.unstable_prerenderToNodeStream) {
11+
exports.unstable_prerenderToNodeStream = s.unstable_prerenderToNodeStream;
1212
}

packages/react-server-dom-esm/src/server/react-flight-dom-server.node.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
export {
1111
renderToPipeableStream,
12-
prerenderToNodeStream,
12+
prerenderToNodeStream as unstable_prerenderToNodeStream,
1313
decodeReplyFromBusboy,
1414
decodeReply,
1515
decodeAction,

packages/react-server-dom-esm/src/server/react-flight-dom-server.node.stable.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
export {
1111
renderToPipeableStream,
12+
prerenderToNodeStream as unstable_prerenderToNodeStream,
1213
decodeReplyFromBusboy,
1314
decodeReply,
1415
decodeAction,

packages/react-server-dom-esm/static.node.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
* @flow
88
*/
99

10-
export {prerenderToNodeStream} from './src/server/react-flight-dom-server.node';
10+
export {unstable_prerenderToNodeStream} from './src/server/react-flight-dom-server.node';

packages/react-server-dom-turbopack/npm/static.browser.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ if (process.env.NODE_ENV === 'production') {
77
s = require('./cjs/react-server-dom-turbopack-server.browser.development.js');
88
}
99

10-
if (s.prerender) {
11-
exports.prerender = s.prerender;
10+
if (s.unstable_prerender) {
11+
exports.unstable_prerender = s.unstable_prerender;
1212
}

packages/react-server-dom-turbopack/npm/static.edge.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ if (process.env.NODE_ENV === 'production') {
77
s = require('./cjs/react-server-dom-turbopack-server.edge.development.js');
88
}
99

10-
if (s.prerender) {
11-
exports.prerender = s.prerender;
10+
if (s.unstable_prerender) {
11+
exports.unstable_prerender = s.unstable_prerender;
1212
}

packages/react-server-dom-turbopack/npm/static.node.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ if (process.env.NODE_ENV === 'production') {
77
s = require('./cjs/react-server-dom-turbopack-server.node.development.js');
88
}
99

10-
if (s.prerenderToNodeStream) {
11-
exports.prerenderToNodeStream = s.prerenderToNodeStream;
10+
if (s.unstable_prerenderToNodeStream) {
11+
exports.unstable_prerenderToNodeStream = s.unstable_prerenderToNodeStream;
1212
}

packages/react-server-dom-turbopack/src/server/react-flight-dom-server.browser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
export {
1111
renderToReadableStream,
12-
prerender,
12+
prerender as unstable_prerender,
1313
decodeReply,
1414
decodeAction,
1515
decodeFormState,

packages/react-server-dom-turbopack/src/server/react-flight-dom-server.browser.stable.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
export {
1111
renderToReadableStream,
12+
prerender as unstable_prerender,
1213
decodeReply,
1314
decodeAction,
1415
decodeFormState,

0 commit comments

Comments
 (0)