Skip to content

Commit 00f5331

Browse files
Merge branch 'reactjs:main' into main
2 parents 83d38f5 + 6648e5c commit 00f5331

File tree

66 files changed

+2119
-607
lines changed

Some content is hidden

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

66 files changed

+2119
-607
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/discord_notify.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,18 @@ name: Discord Notify
22

33
on:
44
pull_request_target:
5-
types: [ labeled ]
5+
types: [labeled]
66

77
jobs:
8+
check_maintainer:
9+
uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main
10+
with:
11+
actor: ${{ github.event.pull_request.user.login }}
12+
is_remote: true
13+
814
notify:
9-
if: ${{ github.event.label.name == 'React Core Team' }}
15+
if: ${{ needs.check_maintainer.outputs.is_core_team == 'true' }}
16+
needs: check_maintainer
1017
runs-on: ubuntu-latest
1118
steps:
1219
- name: Discord Webhook Action
@@ -18,4 +25,4 @@ jobs:
1825
embed-author-icon-url: ${{ github.event.pull_request.user.avatar_url }}
1926
embed-title: '#${{ github.event.number }} (+${{github.event.pull_request.additions}} -${{github.event.pull_request.deletions}}): ${{ github.event.pull_request.title }}'
2027
embed-description: ${{ github.event.pull_request.body }}
21-
embed-url: ${{ github.event.pull_request.html_url }}
28+
embed-url: ${{ github.event.pull_request.html_url }}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Label Core Team PRs
2+
3+
on:
4+
pull_request_target:
5+
6+
env:
7+
TZ: /usr/share/zoneinfo/America/Los_Angeles
8+
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cache-segment-restore-timeout
9+
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 1
10+
11+
jobs:
12+
check_maintainer:
13+
uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main
14+
with:
15+
actor: ${{ github.event.pull_request.user.login }}
16+
is_remote: true
17+
18+
label:
19+
if: ${{ needs.check_maintainer.outputs.is_core_team == 'true' }}
20+
runs-on: ubuntu-latest
21+
needs: check_maintainer
22+
steps:
23+
- name: Label PR as React Core Team
24+
uses: actions/github-script@v7
25+
with:
26+
script: |
27+
github.rest.issues.addLabels({
28+
owner: context.repo.owner,
29+
repo: context.repo.repo,
30+
issue_number: ${{ github.event.number }},
31+
labels: ['React Core Team']
32+
});

next-env.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
/// <reference types="next/image-types/global" />
33

44
// NOTE: This file should not be edited
5-
// see https://nextjs.org/docs/basic-features/typescript for more information.
5+
// see https://nextjs.org/docs/pages/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: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
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
},
@@ -33,12 +33,12 @@
3333
"date-fns": "^2.16.1",
3434
"debounce": "^1.2.1",
3535
"github-slugger": "^1.3.0",
36-
"next": "^13.4.1",
36+
"next": "15.1.0",
3737
"next-remote-watch": "^1.0.0",
3838
"parse-numeric-range": "^1.2.0",
39-
"react": "^0.0.0-experimental-16d053d59-20230506",
39+
"react": "^19.0.0",
4040
"react-collapsed": "4.0.4",
41-
"react-dom": "^0.0.0-experimental-16d053d59-20230506",
41+
"react-dom": "^19.0.0",
4242
"remark-frontmatter": "^4.0.1",
4343
"remark-gfm": "^3.0.1"
4444
},
@@ -54,20 +54,22 @@
5454
"@types/mdx-js__react": "^1.5.2",
5555
"@types/node": "^14.6.4",
5656
"@types/parse-numeric-range": "^0.0.1",
57-
"@types/react": "^18.0.9",
58-
"@types/react-dom": "^18.0.5",
57+
"@types/react": "^19.0.0",
58+
"@types/react-dom": "^19.0.0",
5959
"@typescript-eslint/eslint-plugin": "^5.36.2",
6060
"@typescript-eslint/parser": "^5.36.2",
6161
"asyncro": "^3.0.0",
6262
"autoprefixer": "^10.4.2",
6363
"babel-eslint": "10.x",
64+
"babel-plugin-react-compiler": "19.0.0-beta-e552027-20250112",
6465
"eslint": "7.x",
6566
"eslint-config-next": "12.0.3",
6667
"eslint-config-react-app": "^5.2.1",
6768
"eslint-plugin-flowtype": "4.x",
6869
"eslint-plugin-import": "2.x",
6970
"eslint-plugin-jsx-a11y": "6.x",
7071
"eslint-plugin-react": "7.x",
72+
"eslint-plugin-react-compiler": "^19.0.0-beta-e552027-20250112",
7173
"eslint-plugin-react-hooks": "^0.0.0-experimental-fabef7a6b-20221215",
7274
"fs-extra": "^9.0.1",
7375
"globby": "^11.0.1",
@@ -78,7 +80,6 @@
7880
"mdast-util-to-string": "^1.1.0",
7981
"metro-cache": "0.72.2",
8082
"npm-run-all": "^4.1.5",
81-
"patch-package": "^6.2.2",
8283
"postcss": "^8.4.5",
8384
"postcss-flexbugs-fixes": "4.2.1",
8485
"postcss-preset-env": "^6.7.0",
@@ -94,7 +95,7 @@
9495
"retext-smartypants": "^4.0.0",
9596
"rss": "^1.2.2",
9697
"tailwindcss": "^3.4.1",
97-
"typescript": "^4.0.2",
98+
"typescript": "^5.7.2",
9899
"unist-util-visit": "^2.0.3",
99100
"webpack-bundle-analyzer": "^4.5.0"
100101
},
@@ -109,5 +110,6 @@
109110
"lint-staged": {
110111
"*.{js,ts,jsx,tsx,css}": "yarn prettier",
111112
"src/**/*.md": "yarn fix-headings"
112-
}
113+
},
114+
"packageManager": "[email protected]"
113115
}

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.

src/components/ExternalLink.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
/*
22
* Copyright (c) Facebook, Inc. and its affiliates.
33
*/
4+
import type {DetailedHTMLProps, AnchorHTMLAttributes} from 'react';
45

56
export function ExternalLink({
67
href,
78
target,
89
children,
910
...props
10-
}: JSX.IntrinsicElements['a']) {
11+
}: DetailedHTMLProps<
12+
AnchorHTMLAttributes<HTMLAnchorElement>,
13+
HTMLAnchorElement
14+
>) {
1115
return (
1216
<a href={href} target={target ?? '_blank'} rel="noopener" {...props}>
1317
{children}

src/components/Icon/IconArrow.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44

55
import {memo} from 'react';
66
import cn from 'classnames';
7+
import type {SVGProps} from 'react';
78

89
export const IconArrow = memo<
9-
JSX.IntrinsicElements['svg'] & {
10+
SVGProps<SVGSVGElement> & {
1011
/**
1112
* The direction the arrow should point.
1213
* `start` and `end` are relative to the current locale.

0 commit comments

Comments
 (0)