Skip to content

Commit 414c9f2

Browse files
merging all conflicts
2 parents 917e081 + 2534424 commit 414c9f2

35 files changed

+391
-9
lines changed

.github/ISSUE_TEMPLATE/3-framework.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ body:
88
value: |
99
## Apply to be included as a recommended React framework
1010
11-
_This form is for framework authors to apply to be included as a recommended [React framework](https://react.dev/learn/start-a-new-react-project). If you are not a framework author, please contact the authors before submitting._
11+
_This form is for framework authors to apply to be included as a recommended [React framework](https://react.dev/learn/creating-a-react-app). If you are not a framework author, please contact the authors before submitting._
1212
1313
Our goal when recommending a framework is to start developers with a React project that solves common problems like code splitting, data fetching, routing, and HTML generation without any extra work later. We believe this will allow users to get started quickly with React, and scale their app to production.
1414
15-
While we understand that many frameworks may want to be featured, this page is not a place to advertise every possible React framework or all frameworks that you can add React to. There are many great frameworks that offer support for React that are not listed in our guides. The frameworks we recommend have invested significantly in the React ecosystem, and collaborated with the React team to be compatible with our [full-stack React architecture vision](https://react.dev/learn/start-a-new-react-project#which-features-make-up-the-react-teams-full-stack-architecture-vision).
15+
While we understand that many frameworks may want to be featured, this page is not a place to advertise every possible React framework or all frameworks that you can add React to. There are many great frameworks that offer support for React that are not listed in our guides. The frameworks we recommend have invested significantly in the React ecosystem, and collaborated with the React team to be compatible with our [full-stack React architecture vision](https://react.dev/learn/creating-a-react-app#which-features-make-up-the-react-teams-full-stack-architecture-vision).
1616
1717
To be included, frameworks must meet the following criteria:
1818

plugins/remark-smartypants.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,24 @@ const visit = require('unist-util-visit');
1414
const retext = require('retext');
1515
const smartypants = require('retext-smartypants');
1616

17-
function check(parent) {
17+
function check(node, parent) {
18+
if (node.data?.skipSmartyPants) return false;
1819
if (parent.tagName === 'script') return false;
1920
if (parent.tagName === 'style') return false;
2021
return true;
2122
}
2223

24+
function markSkip(node) {
25+
if (!node) return;
26+
node.data ??= {};
27+
node.data.skipSmartyPants = true;
28+
if (Array.isArray(node.children)) {
29+
for (const child of node.children) {
30+
markSkip(child);
31+
}
32+
}
33+
}
34+
2335
module.exports = function (options) {
2436
const processor = retext().use(smartypants, {
2537
...options,
@@ -43,8 +55,14 @@ module.exports = function (options) {
4355
let startIndex = 0;
4456
const textOrInlineCodeNodes = [];
4557

58+
visit(tree, 'mdxJsxFlowElement', (node) => {
59+
if (['TerminalBlock'].includes(node.name)) {
60+
markSkip(node); // Mark all children to skip smarty pants
61+
}
62+
});
63+
4664
visit(tree, ['text', 'inlineCode'], (node, _, parent) => {
47-
if (check(parent)) {
65+
if (check(node, parent)) {
4866
if (node.type === 'text') allText += node.value;
4967
// for the case when inlineCode contains just one part of quote: `foo'bar`
5068
else allText += 'A'.repeat(node.value.length);

src/components/Layout/HomeContent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ export function HomeContent() {
270270
<CTA
271271
color="gray"
272272
icon="framework"
273-
href="/learn/start-a-new-react-project">
273+
href="/learn/creating-a-react-app">
274274
Get started with a framework
275275
</CTA>
276276
</div>

src/components/MDX/TerminalBlock.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,19 @@ function TerminalBlock({level = 'info', children}: TerminalBlockProps) {
7979
</div>
8080
</div>
8181
</div>
82+
<<<<<<< HEAD
8283
<div
84+
=======
85+
<pre
86+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
8387
className="px-8 pt-4 pb-6 text-primary-dark dark:text-primary-dark font-mono text-code whitespace-pre overflow-x-auto"
8488
translate="no"
8589
dir="ltr">
86-
<LevelText type={level} />
87-
{message}
88-
</div>
90+
<code>
91+
<LevelText type={level} />
92+
{message}
93+
</code>
94+
</pre>
8995
</div>
9096
);
9197
}

src/content/blog/2023/05/03/react-canaries.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ date: 2023/05/03
55
description: We'd like to offer the React community an option to adopt individual new features as soon as their design is close to final, before they're released in a stable version--similar to how Meta has long used bleeding-edge versions of React internally. We are introducing a new officially supported [Canary release channel](/community/versioning-policy#canary-channel). It lets curated setups like frameworks decouple adoption of individual React features from the React release schedule.
66
---
77

8+
<<<<<<< HEAD
89
في الثالث من مايو، 2023، كتبه [دان أبراموف](https://bsky.app/profile/danabra.mov)، [صوفي ألبرت](https://twitter.com/sophiebits)، [ريك هانلون](https://twitter.com/rickhanlonii)، [سيباستيان ماركباج](https://twitter.com/sebmarkbage)، و [أندرو كلارك](https://twitter.com/acdlite).
10+
=======
11+
May 3, 2023 by [Dan Abramov](https://bsky.app/profile/danabra.mov), [Sophie Alpert](https://twitter.com/sophiebits), [Rick Hanlon](https://twitter.com/rickhanlonii), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Andrew Clark](https://twitter.com/acdlite)
12+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
913
1014
---
1115

src/content/blog/2024/10/21/react-compiler-beta-release.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,8 @@ Thanks to [Sathya Gunasekaran](https://twitter.com/_gsathya), [Joe Savona](https
131131

132132
[^2]: Thanks [Vaishali Garg](https://www.linkedin.com/in/vaishaligarg09) for leading this study on React Compiler at Meta, and for reviewing this post.
133133

134+
<<<<<<< HEAD
134135
[^3]: After controlling on author tenure, diff length/complexity, and other potential confounding factors.
136+
=======
137+
[^3]: After controlling on author tenure, diff length/complexity, and other potential confounding factors.
138+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0

src/content/blog/2025/10/07/react-compiler-1.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,29 @@ To install the compiler:
6969

7070
npm
7171
<TerminalBlock>
72+
<<<<<<< HEAD
7273
{`npm install --save-dev --save-exact babel-plugin-react-compiler@latest`}
74+
=======
75+
npm install --save-dev --save-exact babel-plugin-react-compiler@latest
76+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
7377
</TerminalBlock>
7478
7579
pnpm
7680
<TerminalBlock>
81+
<<<<<<< HEAD
7782
{`pnpm add --save-dev --save-exact babel-plugin-react-compiler@latest`}
83+
=======
84+
pnpm add --save-dev --save-exact babel-plugin-react-compiler@latest
85+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
7886
</TerminalBlock>
7987
8088
yarn
8189
<TerminalBlock>
90+
<<<<<<< HEAD
8291
{`yarn add --dev --exact babel-plugin-react-compiler@latest`}
92+
=======
93+
yarn add --dev --exact babel-plugin-react-compiler@latest
94+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
8395
</TerminalBlock>
8496
8597
As part of the stable release, we've been making React Compiler easier to add to your projects and added optimizations to how the compiler generates memoization. React Compiler now supports optional chains and array indices as dependencies. These improvements ultimately result in fewer re-renders and more responsive UIs, while letting you keep writing idiomatic declarative code.
@@ -101,17 +113,29 @@ To install:
101113

102114
npm
103115
<TerminalBlock>
116+
<<<<<<< HEAD
104117
{`npm install --save-dev eslint-plugin-react-hooks@latest`}
118+
=======
119+
npm install --save-dev eslint-plugin-react-hooks@latest
120+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
105121
</TerminalBlock>
106122
107123
pnpm
108124
<TerminalBlock>
125+
<<<<<<< HEAD
109126
{`pnpm add --save-dev eslint-plugin-react-hooks@latest`}
127+
=======
128+
pnpm add --save-dev eslint-plugin-react-hooks@latest
129+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
110130
</TerminalBlock>
111131
112132
yarn
113133
<TerminalBlock>
134+
<<<<<<< HEAD
114135
{`yarn add --dev eslint-plugin-react-hooks@latest`}
136+
=======
137+
yarn add --dev eslint-plugin-react-hooks@latest
138+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
115139
</TerminalBlock>
116140
117141
```js {6}
@@ -153,19 +177,31 @@ We have partnered with the Expo, Vite, and Next.js teams to add the compiler to
153177
[Expo SDK 54](https://docs.expo.dev/guides/react-compiler/) and up has the compiler enabled by default, so new apps will automatically be able to take advantage of the compiler from the start.
154178

155179
<TerminalBlock>
180+
<<<<<<< HEAD
156181
{`npx create-expo-app@latest`}
182+
=======
183+
npx create-expo-app@latest
184+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
157185
</TerminalBlock>
158186
159187
[Vite](https://vite.dev/guide/) and [Next.js](https://nextjs.org/docs/app/api-reference/cli/create-next-app) users can choose the compiler enabled templates in `create-vite` and `create-next-app`.
160188

161189
<TerminalBlock>
190+
<<<<<<< HEAD
162191
{`npm create vite@latest`}
192+
=======
193+
npm create vite@latest
194+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
163195
</TerminalBlock>
164196
165197
<br />
166198

167199
<TerminalBlock>
200+
<<<<<<< HEAD
168201
{`npx create-next-app@latest`}
202+
=======
203+
npx create-next-app@latest
204+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
169205
</TerminalBlock>
170206
171207
## Adopt React Compiler incrementally {/*adopt-react-compiler-incrementally*/}

src/content/blog/index.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,88 @@ title: مدونة React
44

55
<Intro>
66

7+
<<<<<<< HEAD
78
هذه المدونة هي المصدر الرسمي لتحديثات فريق React. سيتم نشر التحديثات المهمة هنا أولًا بأول، بما في ذلك ملاحظات الإصدار أو تحذيرات الإيقاف.
89

910
يمكنك أيضًا متابعة حساب [<span dir="ltr">@reactjs</span>](https://twitter.com/reactjs) على تويتر، وحساب [@react.dev](https://bsky.app/profile/react.dev) في Bluesky، ولكن لن يفوتك أي شيء أساسي إذا قرأت هذه المدونة فقط.
11+
=======
12+
This blog is the official source for the updates from the React team. Anything important, including release notes or deprecation notices, will be posted here first.
13+
14+
You can also follow the [@react.dev](https://bsky.app/profile/react.dev) account on Bluesky, or [@reactjs](https://twitter.com/reactjs) account on Twitter, but you won’t miss anything essential if you only read this blog.
15+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
1016
1117
</Intro>
1218

1319
<div className="sm:-mx-5 flex flex-col gap-5 mt-12">
1420

1521
<BlogCard title="React Conf 2025 Recap" date="October 16, 2025" url="/blog/2025/10/16/react-conf-2025-recap">
22+
<<<<<<< HEAD
23+
=======
24+
25+
Last week we hosted React Conf 2025. In this post, we summarize the talks and announcements from the event...
26+
27+
</BlogCard>
28+
29+
<BlogCard title="React Compiler v1.0" date="October 7, 2025" url="/blog/2025/10/07/react-compiler-1">
30+
31+
We're releasing the compiler's first stable release today, plus linting and tooling improvements to make adoption easier.
32+
33+
</BlogCard>
34+
35+
<BlogCard title="Introducing the React Foundation" date="October 7, 2025" url="/blog/2025/10/07/introducing-the-react-foundation">
36+
37+
Today, we're announcing our plans to create the React Foundation and a new technical governance structure ...
38+
39+
</BlogCard>
40+
41+
<BlogCard title="React 19.2" date="October 1, 2025" url="/blog/2025/10/01/react-19-2">
42+
43+
React 19.2 adds new features like Activity, React Performance Tracks, useEffectEvent, and more. In this post ...
44+
45+
</BlogCard>
46+
47+
<BlogCard title="React Labs: View Transitions, Activity, and more" date="April 23, 2025" url="/blog/2025/04/23/react-labs-view-transitions-activity-and-more">
48+
49+
In React Labs posts, we write about projects in active research and development. In this post, we're sharing two new experimental features that are ready to try today, and sharing other areas we're working on now ...
50+
51+
</BlogCard>
52+
53+
<BlogCard title="Sunsetting Create React App" date="February 14, 2025" url="/blog/2025/02/14/sunsetting-create-react-app">
54+
55+
Today, we’re deprecating Create React App for new apps, and encouraging existing apps to migrate to a framework, or to migrate to a build tool like Vite, Parcel, or RSBuild. We’re also providing docs for when a framework isn’t a good fit for your project, you want to build your own framework, or you just want to learn how React works by building a React app from scratch ...
56+
57+
</BlogCard>
58+
59+
<BlogCard title="React v19 " date="December 5, 2024" url="/blog/2024/12/05/react-19">
60+
61+
In the React 19 Upgrade Guide, we shared step-by-step instructions for upgrading your app to React 19. In this post, we'll give an overview of the new features in React 19, and how you can adopt them ...
62+
63+
</BlogCard>
64+
65+
<BlogCard title="React Compiler Beta Release" date="October 21, 2024" url="/blog/2024/10/21/react-compiler-beta-release">
66+
67+
We announced an experimental release of React Compiler at React Conf 2024. We've made a lot of progress since then, and in this post we want to share what's next for React Compiler ...
68+
69+
</BlogCard>
70+
71+
<BlogCard title="React Conf 2024 Recap" date="May 22, 2024" url="/blog/2024/05/22/react-conf-2024-recap">
72+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
1673
1774
Last week we hosted React Conf 2025. In this post, we summarize the talks and announcements from the event...
1875

1976
</BlogCard>
2077

78+
<<<<<<< HEAD
2179
<BlogCard title="React Compiler v1.0" date="October 7, 2025" url="/blog/2025/10/07/react-compiler-1">
2280

2381
We're releasing the compiler's first stable release today, plus linting and tooling improvements to make adoption easier.
2482

2583
</BlogCard>
2684

2785
<BlogCard title="Introducing the React Foundation" date="October 7, 2025" url="/blog/2025/10/07/introducing-the-react-foundation">
86+
=======
87+
<BlogCard title="React 19 Upgrade Guide" date="April 25, 2024" url="/blog/2024/04/25/react-19-upgrade-guide">
88+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
2889
2990
Today, we're announcing our plans to create the React Foundation and a new technical governance structure ...
3091

src/content/community/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,8 @@ title: من أين تحصل على المساعدة
3333

3434
## الأخبار {/*news*/}
3535

36+
<<<<<<< HEAD
3637
لمتابعة آخر الأخبار حول React، [تابع **@reactjs** على Twitter](https://twitter.com/reactjs) و [**@react.dev** في Bluesky](https://bsky.app/profile/react.dev) وكذلك [مدوّنة React الرسمة](/blog/) على هذا الموقع.
38+
=======
39+
For the latest news about React, [follow **@reactjs** on Twitter](https://twitter.com/reactjs), [**@react.dev** on Bluesky](https://bsky.app/profile/react.dev) and the [official React blog](/blog/) on this website.
40+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0

src/content/errors/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,8 @@ In the minified production build of React, we avoid sending down full error mess
77

88
We highly recommend using the development build locally when debugging your app since it tracks additional debug info and provides helpful warnings about potential problems in your apps, but if you encounter an exception while using the production build, the error message will include just a link to the docs for the error.
99

10+
<<<<<<< HEAD
1011
For an example, see: [https://ar.react.dev/errors/149](/errors/149).
12+
=======
13+
For an example, see: [https://react.dev/errors/149](/errors/149).
14+
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0

0 commit comments

Comments
 (0)