Skip to content

Commit 8774088

Browse files
authored
[Backport 15.0] Use React 19 stable (#73564)
1 parent 7dc7be2 commit 8774088

File tree

11 files changed

+21
-43
lines changed

11 files changed

+21
-43
lines changed

examples/reproduction-template/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
},
88
"dependencies": {
99
"next": "canary",
10-
"react": "19.0.0-rc-66855b96-20241106",
11-
"react-dom": "19.0.0-rc-66855b96-20241106"
10+
"react": "^19.0.0",
11+
"react-dom": "^19.0.0"
1212
},
1313
"devDependencies": {
1414
"@types/node": "20.12.12",

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,10 +209,10 @@
209209
"pretty-bytes": "5.3.0",
210210
"pretty-ms": "7.0.0",
211211
"random-seed": "0.3.0",
212-
"react": "19.0.0-rc-66855b96-20241106",
212+
"react": "19.0.0",
213213
"react-17": "npm:[email protected]",
214214
"react-builtin": "npm:[email protected]",
215-
"react-dom": "19.0.0-rc-66855b96-20241106",
215+
"react-dom": "19.0.0",
216216
"react-dom-17": "npm:[email protected]",
217217
"react-dom-builtin": "npm:[email protected]",
218218
"react-dom-experimental-builtin": "npm:[email protected]",

packages/create-next-app/templates/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { GetTemplateFileArgs, InstallTemplateArgs } from "./types";
1313

1414
// Do not rename or format. sync-react script relies on this line.
1515
// prettier-ignore
16-
const nextjsReactPeerVersion = "19.0.0-rc-66855b96-20241106";
16+
const nextjsReactPeerVersion = "^19.0.0";
1717

1818
/**
1919
* Get the file path for a given file in a template, e.g. "next.config.js".
@@ -212,8 +212,8 @@ export const installTemplate = async ({
212212
...packageJson.devDependencies,
213213
typescript: "^5",
214214
"@types/node": "^20",
215-
"@types/react": "^18",
216-
"@types/react-dom": "^18",
215+
"@types/react": "^19",
216+
"@types/react-dom": "^19",
217217
};
218218
}
219219

packages/next/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@
109109
"@opentelemetry/api": "^1.1.0",
110110
"@playwright/test": "^1.41.2",
111111
"babel-plugin-react-compiler": "*",
112-
"react": "^18.2.0 || 19.0.0-rc-66855b96-20241106",
113-
"react-dom": "^18.2.0 || 19.0.0-rc-66855b96-20241106",
112+
"react": "^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0",
113+
"react-dom": "^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0",
114114
"sass": "^1.3.0"
115115
},
116116
"peerDependenciesMeta": {

packages/third-parties/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@
3333
},
3434
"peerDependencies": {
3535
"next": "^13.0.0 || ^14.0.0 || ^15.0.0",
36-
"react": "^18.2.0 || 19.0.0-rc-66855b96-20241106"
36+
"react": "^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0"
3737
}
3838
}

run-tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const { getTestFilter } = require('./test/get-test-filter')
2020

2121
// Do not rename or format. sync-react script relies on this line.
2222
// prettier-ignore
23-
const nextjsReactPeerVersion = "19.0.0-rc-66855b96-20241106";
23+
const nextjsReactPeerVersion = "^19.0.0";
2424

2525
let argv = require('yargs/yargs')(process.argv.slice(2))
2626
.string('type')

test/.stats-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"license": "MIT",
55
"dependencies": {
66
"next": "latest",
7-
"react": "19.0.0-rc-66855b96-20241106",
8-
"react-dom": "19.0.0-rc-66855b96-20241106"
7+
"react": "^19.0.0",
8+
"react-dom": "^19.0.0"
99
},
1010
"engines": {
1111
"node": ">=18.18.0"

test/e2e/app-dir/rsc-basic/rsc-basic.test.ts

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import cheerio from 'cheerio'
77
// on experimental flags. For example, as a first step we could all the common
88
// gates like this one into a single module.
99
const isPPREnabledByDefault = process.env.__NEXT_EXPERIMENTAL_PPR === 'true'
10-
const isReact18 = parseInt(process.env.NEXT_TEST_REACT_VERSION) === 18
1110

1211
async function resolveStreamResponse(response: any, onData?: any) {
1312
let result = ''
@@ -515,14 +514,7 @@ describe('app dir - rsc basics', () => {
515514
]
516515

517516
ssrPagesReactVersions.forEach((version) => {
518-
if (isReact18 || isPPREnabledByDefault) {
519-
expect(version).not.toMatch(bundledReactVersionPattern)
520-
} else {
521-
// TODO: Pages router only supports React 19 that is bundled
522-
// Once we run with React 19 stable, this branch should be removed in
523-
// favor of unconditional `not.toMatch`
524-
expect(version).toMatch(bundledReactVersionPattern)
525-
}
517+
expect(version).not.toMatch(bundledReactVersionPattern)
526518
})
527519
})
528520
await Promise.all(promises)
@@ -556,24 +548,10 @@ describe('app dir - rsc basics', () => {
556548
`)
557549

558550
browserPagesReactVersions.forEach((version) => {
559-
if (isReact18 || isPPREnabledByDefault) {
560-
expect(version).not.toMatch(bundledReactVersionPattern)
561-
} else {
562-
// TODO: Pages router only supports React 19 that is bundled
563-
// Once we run with React 19 stable, this branch should be removed in
564-
// favor of unconditional `not.toMatch`
565-
expect(version).toMatch(bundledReactVersionPattern)
566-
}
551+
expect(version).not.toMatch(bundledReactVersionPattern)
567552
})
568553
browserEdgePagesReactVersions.forEach((version) => {
569-
if (isReact18 || isPPREnabledByDefault) {
570-
expect(version).not.toMatch(bundledReactVersionPattern)
571-
} else {
572-
// TODO: Pages router only supports React 19 that is bundled
573-
// Once we run with React 19 stable, this branch should be removed in
574-
// favor of unconditional `not.toMatch`
575-
expect(version).toMatch(bundledReactVersionPattern)
576-
}
554+
expect(version).not.toMatch(bundledReactVersionPattern)
577555
})
578556
})
579557

test/e2e/next-test/first-time-setup-js/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
"dependencies": {
1010
"next": "canary",
11-
"react": "19.0.0-rc-66855b96-20241106",
12-
"react-dom": "19.0.0-rc-66855b96-20241106"
11+
"react": "^19.0.0",
12+
"react-dom": "^19.0.0"
1313
}
1414
}

test/e2e/next-test/first-time-setup-ts/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
},
99
"dependencies": {
1010
"next": "canary",
11-
"react": "19.0.0-rc-66855b96-20241106",
12-
"react-dom": "19.0.0-rc-66855b96-20241106"
11+
"react": "^19.0.0",
12+
"react-dom": "^19.0.0"
1313
},
1414
"devDependencies": {
1515
"@types/react": "^18",

test/lib/next-modes/base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ type OmitFirstArgument<F> = F extends (
5151

5252
// Do not rename or format. sync-react script relies on this line.
5353
// prettier-ignore
54-
const nextjsReactPeerVersion = "19.0.0-rc-66855b96-20241106";
54+
const nextjsReactPeerVersion = "^19.0.0";
5555

5656
export class NextInstance {
5757
protected files: FileRef | { [filename: string]: string | FileRef }

0 commit comments

Comments
 (0)