Skip to content

Commit feb5ded

Browse files
committed
PPR is in Canary now
1 parent 5fb4a06 commit feb5ded

File tree

13 files changed

+413
-452
lines changed

13 files changed

+413
-452
lines changed

crates/next-core/js/src/entry/page-loader.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,21 @@
33
// inserted by rust code
44
declare const PAGE_PATH: string
55

6-
// Adapted from https://github.com/vercel/next.js/blob/b7f9f1f98fc8ab602e84825105b5727272b72e7d/packages/next/src/build/webpack/loaders/next-client-pages-loader.ts
6+
declare global {
7+
interface Window {
8+
/* prod */
9+
__NEXT_P: any[]
10+
}
11+
}
12+
13+
// Adapted from https://github.com/vercel/next.js/blob/b7f9f1f98fc8ab602e84825105b5727272b72e7d/packages/next/src/build/webpack/loaders/next-client-pages-loader.ts
714
;(window.__NEXT_P = window.__NEXT_P || []).push([
815
PAGE_PATH,
916
() => {
1017
return require('PAGE')
1118
},
1219
])
13-
// @ts-expect-error module.hot exists
1420
if (module.hot) {
15-
// @ts-expect-error module.hot exists
1621
module.hot.dispose(function () {
1722
window.__NEXT_P.push([PAGE_PATH])
1823
})

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@
142142
"@types/jest": "29.5.5",
143143
"@types/node": "20.17.6",
144144
"@types/node-fetch": "2.6.1",
145-
"@types/react": "19.1.14",
146-
"@types/react-dom": "19.1.7",
145+
"@types/react": "19.1.16",
146+
"@types/react-dom": "19.1.10",
147147
"@types/relay-runtime": "14.1.13",
148148
"@types/string-hash": "1.1.1",
149149
"@types/trusted-types": "2.0.3",
@@ -298,8 +298,8 @@
298298
"@babel/parser": "7.27.0",
299299
"@babel/types": "7.27.0",
300300
"@babel/traverse": "7.27.0",
301-
"@types/react": "19.1.14",
302-
"@types/react-dom": "19.1.7",
301+
"@types/react": "19.1.16",
302+
"@types/react-dom": "19.1.10",
303303
"@types/retry": "0.12.0",
304304
"jest-snapshot": "30.0.0-alpha.6",
305305
"react": "19.2.0-canary-1bd1f01f-20251001",

packages/next/src/server/app-render/collect-segment-data.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import type { ManifestNode } from '../../build/webpack/plugins/flight-manifest-p
1111
// eslint-disable-next-line import/no-extraneous-dependencies
1212
import { createFromReadableStream } from 'react-server-dom-webpack/client'
1313
// eslint-disable-next-line import/no-extraneous-dependencies
14-
import { unstable_prerender as prerender } from 'react-server-dom-webpack/static'
14+
import { prerender } from 'react-server-dom-webpack/static'
1515

1616
import {
1717
streamFromBuffer,

packages/next/src/server/app-render/entry-base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export {
88
} from 'react-server-dom-webpack/server'
99

1010
// eslint-disable-next-line import/no-extraneous-dependencies
11-
export { unstable_prerender as prerender } from 'react-server-dom-webpack/static'
11+
export { prerender } from 'react-server-dom-webpack/static'
1212

1313
// eslint-disable-next-line import/no-extraneous-dependencies
1414
export { captureOwnerStack } from 'react'

packages/next/src/server/use-cache/use-cache-wrapper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
encodeReply,
1212
createTemporaryReferenceSet as createClientTemporaryReferenceSet,
1313
} from 'react-server-dom-webpack/client'
14-
import { unstable_prerender as prerender } from 'react-server-dom-webpack/static'
14+
import { prerender } from 'react-server-dom-webpack/static'
1515
/* eslint-enable import/no-extraneous-dependencies */
1616

1717
import type { WorkStore } from '../app-render/work-async-storage.external'

packages/next/types/$$compiled.internal.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ declare module 'react-server-dom-webpack/server.node' {
264264
declare module 'react-server-dom-webpack/static' {
265265
export type TemporaryReferenceSet = WeakMap<any, string>
266266

267-
export function unstable_prerender(
267+
export function prerender(
268268
children: any,
269269
webpackMap: {
270270
readonly [id: string]: {

packages/next/types/react-dom.d.ts

Lines changed: 0 additions & 73 deletions
This file was deleted.

packages/next/types/react-dom.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
export {}
2+
3+
declare module 'react-dom/server' {
4+
/**
5+
* Options for `renderToReadableStream`.
6+
*
7+
* https://github.com/facebook/react/blob/aec521a96d3f1bebc2ba38553d14f4989c6e88e0/packages/react-dom/src/server/ReactDOMFizzServerEdge.js#L36-L52
8+
*/
9+
export interface RenderToReadableStreamOptions {
10+
onPostpone?: (reason: string) => void
11+
unstable_externalRuntimeSrc?:
12+
| string
13+
| import('react-dom/server').BootstrapScriptDescriptor
14+
}
15+
}
16+
17+
declare module 'react-dom/static' {
18+
/**
19+
* Options for `prerender`.
20+
*
21+
* https://github.com/facebook/react/blob/aec521a96d3f1bebc2ba38553d14f4989c6e88e0/packages/react-dom/src/server/ReactDOMFizzStaticEdge.js#L35-L49
22+
*/
23+
export interface PrerenderOptions {
24+
onPostpone?: (reason: string) => void
25+
unstable_externalRuntimeSrc?:
26+
| string
27+
| import('react-dom/server').BootstrapScriptDescriptor
28+
}
29+
}

0 commit comments

Comments
 (0)