Skip to content

Commit 7b55a2e

Browse files
authored
Merge pull request #464 from reactjs/sync-55986965
Sync with react.dev @ 5598696
2 parents 51d80ff + af056fc commit 7b55a2e

File tree

214 files changed

+8879
-7001
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

214 files changed

+8879
-7001
lines changed

.eslintrc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
"root": true,
33
"extends": "next/core-web-vitals",
44
"parser": "@typescript-eslint/parser",
5-
"plugins": ["@typescript-eslint"],
5+
"plugins": ["@typescript-eslint", "eslint-plugin-react-compiler"],
66
"rules": {
77
"no-unused-vars": "off",
8-
"@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "^_" }],
9-
"react-hooks/exhaustive-deps": "error"
8+
"@typescript-eslint/no-unused-vars": ["error", {"varsIgnorePattern": "^_"}],
9+
"react-hooks/exhaustive-deps": "error",
10+
"react/no-unknown-property": ["error", {"ignore": ["meta"]}],
11+
"react-compiler/react-compiler": "error"
1012
},
1113
"env": {
1214
"node": true,

.github/workflows/analyze.yml

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,32 @@ on:
77
- main # change this if your default branch is named differently
88
workflow_dispatch:
99

10+
permissions: {}
11+
1012
jobs:
1113
analyze:
1214
runs-on: ubuntu-latest
1315
steps:
14-
- uses: actions/checkout@v2
16+
- uses: actions/checkout@v4
1517

1618
- name: Set up node
17-
uses: actions/setup-node@v1
19+
uses: actions/setup-node@v4
1820
with:
1921
node-version: '20.x'
22+
cache: yarn
23+
cache-dependency-path: yarn.lock
24+
25+
- name: Restore cached node_modules
26+
uses: actions/cache@v4
27+
with:
28+
path: '**/node_modules'
29+
key: node_modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
2030

21-
- name: Install dependencies
22-
uses: bahmutov/npm-install@v1.7.10
31+
- name: Install deps
32+
run: yarn install --frozen-lockfile
2333

2434
- name: Restore next build
25-
uses: actions/cache@v2
35+
uses: actions/cache@v4
2636
id: restore-build-cache
2737
env:
2838
cache-name: cache-next-build
@@ -41,13 +51,13 @@ jobs:
4151
run: npx -p [email protected] report
4252

4353
- name: Upload bundle
44-
uses: actions/upload-artifact@v2
54+
uses: actions/upload-artifact@v4
4555
with:
4656
path: .next/analyze/__bundle_analysis.json
4757
name: bundle_analysis.json
4858

4959
- name: Download base branch bundle stats
50-
uses: dawidd6/action-download-artifact@v2
60+
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e
5161
if: success() && github.event.number
5262
with:
5363
workflow: analyze.yml
@@ -73,7 +83,7 @@ jobs:
7383
run: ls -laR .next/analyze/base && npx -p nextjs-bundle-analysis compare
7484

7585
- name: Upload analysis comment
76-
uses: actions/upload-artifact@v2
86+
uses: actions/upload-artifact@v4
7787
with:
7888
name: analysis_comment.txt
7989
path: .next/analyze/__bundle_analysis_comment.txt
@@ -82,7 +92,7 @@ jobs:
8292
run: echo ${{ github.event.number }} > ./pr_number
8393

8494
- name: Upload PR number
85-
uses: actions/upload-artifact@v2
95+
uses: actions/upload-artifact@v4
8696
with:
8797
name: pr_number
8898
path: ./pr_number

.github/workflows/analyze_comment.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ name: Analyze Bundle (Comment)
22

33
on:
44
workflow_run:
5-
workflows: ["Analyze Bundle"]
5+
workflows: ['Analyze Bundle']
66
types:
77
- completed
88

9+
permissions: {}
10+
911
jobs:
1012
comment:
1113
runs-on: ubuntu-latest
@@ -14,15 +16,15 @@ jobs:
1416
github.event.workflow_run.conclusion == 'success' }}
1517
steps:
1618
- name: Download base branch bundle stats
17-
uses: dawidd6/action-download-artifact@v2
19+
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e
1820
with:
1921
workflow: analyze.yml
2022
run_id: ${{ github.event.workflow_run.id }}
2123
name: analysis_comment.txt
2224
path: analysis_comment.txt
2325

2426
- name: Download PR number
25-
uses: dawidd6/action-download-artifact@v2
27+
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e
2628
with:
2729
workflow: analyze.yml
2830
run_id: ${{ github.event.workflow_run.id }}
@@ -48,7 +50,7 @@ jobs:
4850
echo "pr-number=$pr_number" >> $GITHUB_OUTPUT
4951
5052
- name: Comment
51-
uses: marocchino/sticky-pull-request-comment@v2
53+
uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728
5254
with:
5355
header: next-bundle-analysis
5456
number: ${{ steps.get-comment-body.outputs.pr-number }}

.github/workflows/discord_notify.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Discord Notify
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, ready_for_review]
6+
7+
permissions: {}
8+
9+
jobs:
10+
check_maintainer:
11+
uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main
12+
permissions:
13+
# Used by check_maintainer
14+
contents: read
15+
with:
16+
actor: ${{ github.event.pull_request.user.login }}
17+
18+
notify:
19+
if: ${{ needs.check_maintainer.outputs.is_core_team == 'true' }}
20+
needs: check_maintainer
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Discord Webhook Action
24+
uses: tsickert/[email protected]
25+
with:
26+
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
27+
embed-author-name: ${{ github.event.pull_request.user.login }}
28+
embed-author-url: ${{ github.event.pull_request.user.html_url }}
29+
embed-author-icon-url: ${{ github.event.pull_request.user.avatar_url }}
30+
embed-title: '#${{ github.event.number }} (+${{github.event.pull_request.additions}} -${{github.event.pull_request.deletions}}): ${{ github.event.pull_request.title }}'
31+
embed-description: ${{ github.event.pull_request.body }}
32+
embed-url: ${{ github.event.pull_request.html_url }}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Label Core Team PRs
2+
3+
on:
4+
pull_request_target:
5+
6+
permissions: {}
7+
8+
env:
9+
TZ: /usr/share/zoneinfo/America/Los_Angeles
10+
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cache-segment-restore-timeout
11+
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 1
12+
13+
jobs:
14+
check_maintainer:
15+
uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main
16+
permissions:
17+
# Used by check_maintainer
18+
contents: read
19+
with:
20+
actor: ${{ github.event.pull_request.user.login }}
21+
22+
label:
23+
if: ${{ needs.check_maintainer.outputs.is_core_team == 'true' }}
24+
runs-on: ubuntu-latest
25+
needs: check_maintainer
26+
permissions:
27+
# Used to add labels on issues
28+
issues: write
29+
# Used to add labels on PRs
30+
pull-requests: write
31+
steps:
32+
- name: Label PR as React Core Team
33+
uses: actions/github-script@v7
34+
with:
35+
script: |
36+
github.rest.issues.addLabels({
37+
owner: context.repo.owner,
38+
repo: context.repo.repo,
39+
issue_number: ${{ github.event.number }},
40+
labels: ['React Core Team']
41+
});

.github/workflows/site_lint.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,31 @@ on:
77
pull_request:
88
types: [opened, synchronize, reopened]
99

10+
permissions: {}
11+
1012
jobs:
1113
lint:
1214
runs-on: ubuntu-latest
1315

1416
name: Lint on node 20.x and ubuntu-latest
1517

1618
steps:
17-
- uses: actions/checkout@v1
19+
- uses: actions/checkout@v4
1820
- name: Use Node.js 20.x
19-
uses: actions/setup-node@v3
21+
uses: actions/setup-node@v4
2022
with:
2123
node-version: 20.x
24+
cache: yarn
25+
cache-dependency-path: yarn.lock
26+
27+
- name: Restore cached node_modules
28+
uses: actions/cache@v4
29+
with:
30+
path: '**/node_modules'
31+
key: node_modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
2232

23-
- name: Install deps and build (with cache)
24-
uses: bahmutov/npm-install@v1.8.32
33+
- name: Install deps
34+
run: yarn install --frozen-lockfile
2535

2636
- name: Lint codebase
2737
run: yarn ci-check

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This repo contains the source code and documentation powering [react.dev](https:
77
### Prerequisites
88

99
1. Git
10-
1. Node: any 12.x version starting with v12.0.0 or greater
10+
1. Node: any version starting with v16.8.0 or greater
1111
1. Yarn: See [Yarn website for installation instructions](https://yarnpkg.com/lang/en/docs/install/)
1212
1. A fork of the repo (for any contributions)
1313
1. A clone of the [vi.react.dev repo](https://github.com/reactjs/vi.react.dev) on your local machine

next-env.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/// <reference types="next" />
22
/// <reference types="next/image-types/global" />
3+
/// <reference types="next/navigation-types/compat/navigation" />
34

45
// NOTE: This file should not be edited
5-
// see https://nextjs.org/docs/basic-features/typescript for more information.
6+
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

next.config.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@ const nextConfig = {
99
pageExtensions: ['jsx', 'js', 'ts', 'tsx', 'mdx', 'md'],
1010
reactStrictMode: true,
1111
experimental: {
12-
// TODO: Remove after https://github.com/vercel/next.js/issues/49355 is fixed
13-
appDir: false,
1412
scrollRestoration: true,
15-
legacyBrowsers: false,
13+
reactCompiler: true,
1614
},
1715
env: {},
1816
webpack: (config, {dev, isServer, ...options}) => {

package.json

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,27 @@
1818
"ci-check": "npm-run-all prettier:diff --parallel lint tsc lint-heading-ids rss",
1919
"tsc": "tsc --noEmit",
2020
"start": "next start",
21-
"postinstall": "patch-package && (is-ci || husky install .husky)",
21+
"postinstall": "is-ci || husky install .husky",
2222
"check-all": "npm-run-all prettier lint:fix tsc rss",
2323
"rss": "node scripts/generateRss.js"
2424
},
2525
"dependencies": {
2626
"@codesandbox/sandpack-react": "2.13.5",
27-
"@docsearch/css": "3.0.0-alpha.41",
28-
"@docsearch/react": "3.0.0-alpha.41",
27+
"@docsearch/css": "^3.8.3",
28+
"@docsearch/react": "^3.8.3",
2929
"@headlessui/react": "^1.7.0",
30+
"@radix-ui/react-context-menu": "^2.1.5",
3031
"body-scroll-lock": "^3.1.3",
3132
"classnames": "^2.2.6",
3233
"date-fns": "^2.16.1",
3334
"debounce": "^1.2.1",
3435
"github-slugger": "^1.3.0",
35-
"next": "^13.4.1",
36+
"next": "15.1.0",
3637
"next-remote-watch": "^1.0.0",
3738
"parse-numeric-range": "^1.2.0",
38-
"react": "^0.0.0-experimental-16d053d59-20230506",
39+
"react": "^19.0.0",
3940
"react-collapsed": "4.0.4",
40-
"react-dom": "^0.0.0-experimental-16d053d59-20230506",
41+
"react-dom": "^19.0.0",
4142
"remark-frontmatter": "^4.0.1",
4243
"remark-gfm": "^3.0.1"
4344
},
@@ -53,20 +54,22 @@
5354
"@types/mdx-js__react": "^1.5.2",
5455
"@types/node": "^14.6.4",
5556
"@types/parse-numeric-range": "^0.0.1",
56-
"@types/react": "^18.0.9",
57-
"@types/react-dom": "^18.0.5",
57+
"@types/react": "^19.0.0",
58+
"@types/react-dom": "^19.0.0",
5859
"@typescript-eslint/eslint-plugin": "^5.36.2",
5960
"@typescript-eslint/parser": "^5.36.2",
6061
"asyncro": "^3.0.0",
6162
"autoprefixer": "^10.4.2",
6263
"babel-eslint": "10.x",
64+
"babel-plugin-react-compiler": "19.0.0-beta-e552027-20250112",
6365
"eslint": "7.x",
6466
"eslint-config-next": "12.0.3",
6567
"eslint-config-react-app": "^5.2.1",
6668
"eslint-plugin-flowtype": "4.x",
6769
"eslint-plugin-import": "2.x",
6870
"eslint-plugin-jsx-a11y": "6.x",
6971
"eslint-plugin-react": "7.x",
72+
"eslint-plugin-react-compiler": "^19.0.0-beta-e552027-20250112",
7073
"eslint-plugin-react-hooks": "^0.0.0-experimental-fabef7a6b-20221215",
7174
"fs-extra": "^9.0.1",
7275
"globby": "^11.0.1",
@@ -77,7 +80,6 @@
7780
"mdast-util-to-string": "^1.1.0",
7881
"metro-cache": "0.72.2",
7982
"npm-run-all": "^4.1.5",
80-
"patch-package": "^6.2.2",
8183
"postcss": "^8.4.5",
8284
"postcss-flexbugs-fixes": "4.2.1",
8385
"postcss-preset-env": "^6.7.0",
@@ -93,7 +95,7 @@
9395
"retext-smartypants": "^4.0.0",
9496
"rss": "^1.2.2",
9597
"tailwindcss": "^3.4.1",
96-
"typescript": "^4.0.2",
98+
"typescript": "^5.7.2",
9799
"unist-util-visit": "^2.0.3",
98100
"webpack-bundle-analyzer": "^4.5.0"
99101
},
@@ -108,5 +110,6 @@
108110
"lint-staged": {
109111
"*.{js,ts,jsx,tsx,css}": "yarn prettier",
110112
"src/**/*.md": "yarn fix-headings"
111-
}
113+
},
114+
"packageManager": "[email protected]"
112115
}

patches/next+13.4.1.patch

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

patches/next-remote-watch+1.0.0.patch

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

postcss.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ module.exports = {
1717
},
1818
},
1919
},
20-
}
20+
};

0 commit comments

Comments
 (0)