Skip to content

Commit 76f1df7

Browse files
merging all conflicts
2 parents 0d91aa8 + 2da4f7f commit 76f1df7

Some content is hidden

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

45 files changed

+1164
-23
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

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@
3535
"classnames": "^2.2.6",
3636
"debounce": "^1.2.1",
3737
"github-slugger": "^1.3.0",
38+
<<<<<<< HEAD
3839
"next": "15.4.8",
40+
=======
41+
"next": "15.1.11",
42+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
3943
"next-remote-watch": "^1.0.0",
4044
"parse-numeric-range": "^1.2.0",
4145
"react": "^19.0.0",

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/Sandpack/template.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,13 @@ root.render(
3535
eject: 'react-scripts eject',
3636
},
3737
dependencies: {
38+
<<<<<<< HEAD
3839
react: '^19.2.0',
3940
'react-dom': '^19.2.0',
41+
=======
42+
react: '^19.2.1',
43+
'react-dom': '^19.2.1',
44+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
4045
'react-scripts': '^5.0.0',
4146
},
4247
},

src/components/MDX/SandpackWithHTMLOutput.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,13 @@ export default function formatHTML(markup) {
5656
const packageJSON = `
5757
{
5858
"dependencies": {
59+
<<<<<<< HEAD
5960
"react": "^19.2.0",
6061
"react-dom": "^19.2.0",
62+
=======
63+
"react": "^19.2.1",
64+
"react-dom": "^19.2.1",
65+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
6166
"react-scripts": "^5.0.0",
6267
"html-format": "^1.1.2"
6368
},

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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc

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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
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+
>>>>>>> 2da4f7fbd90ddc09835c9f85d61fd5644a271abc
163195
</TerminalBlock>
164196
165197
<br />
166198

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

0 commit comments

Comments
 (0)