Sync with react.dev @ d271a7ac by react-translations-bot · Pull Request #1120 · reactjs/pt-br.react.dev

and others added 30 commits

September 16, 2025 11:05
Happened to notice we were still on an old version of the compiler. This PR upgrades us to use the latest RC.
Copied over our copyright script from the react repo. I made a small fix to handle shebangs.
* Add copyright script

Copied over our copyright script from the react repo. I made a small fix to handle shebangs.

* Update copyright on all files

Run the script.
…iler (#7988)

In facebook/react#34462 for example, we found an issue where the compiler was incorrectly validating an example straight from the docs.

In order to find more issues like this + also provide more feedback to doc authors on valid/invalid patterns, this PR adds a new local eslint rule which validates all markdown codeblocks containing components/hooks with React Compiler. An autofixer is also provided.

To express that a codeblock has an expected error, we can use the following metadata:

```ts
// pseudo type def
type MarkdownCodeBlockMetadata = {
    expectedErrors?: {
      'react-compiler'?: number[];
    };
  };
```

and can be used like so:

````
```js {expectedErrors: {'react-compiler': [4]}}
// ❌ setState directly in render
function Component({value}) {
  const [count, setCount] = useState(0);
  setCount(value); // error on L4
  return <div>{count}</div>;
}
```
````

Because this is defined as a local rule, we don't have the same granular reporting that `eslint-plugin-react-hooks` yet. I can look into that later but for now this first PR just sets us up with something basic.
* Add local eslint rule to validate markdown codeblocks with React Compiler

In facebook/react#34462 for example, we found an issue where the compiler was incorrectly validating an example straight from the docs.

In order to find more issues like this + also provide more feedback to doc authors on valid/invalid patterns, this PR adds a new local eslint rule which validates all markdown codeblocks containing components/hooks with React Compiler. An autofixer is also provided.

To express that a codeblock has an expected error, we can use the following metadata:

```ts
// pseudo type def
type MarkdownCodeBlockMetadata = {
    expectedErrors?: {
      'react-compiler'?: number[];
    };
  };
```

and can be used like so:

````
```js {expectedErrors: {'react-compiler': [4]}}
// ❌ setState directly in render
function Component({value}) {
  const [count, setCount] = useState(0);
  setCount(value); // error on L4
  return <div>{count}</div>;
}
```
````

Because this is defined as a local rule, we don't have the same granular reporting that `eslint-plugin-react-hooks` yet. I can look into that later but for now this first PR just sets us up with something basic.

* fix compiler errors

I went through the list of existing errors and tried to separate the expected errors from those that seem to be flagging unexpected issues.  In particular, our effects validations are flagging patterns that our own docs examples use. I added todos for these and will follow up later.
Previously, `createFileMap` split the MDX meta string on spaces and assumed the first token was the filename. Once we prefixed code fences with `{expectedErrors: ...}`, it would incorrectly parse the meta and crash.

This PR updates createFileMap to skip tokens in the meta containing a start and end brace pair (using a stack to ensure we close on the correct brace) while tokenizing the meta string as expected.

Test plan: pages reported in #7994 no longer crash on the next PR

Closes #7994
For local dev and CI we want to have the eslint-local-rules running, so let's make sure both have their dependencies installed. We don't use a monorepo setup here, which is why they're currently setup as a two completely independent yarn workspaces.
Adds new docs for our new eslint rules.
* Fix view transition example

* Empty commit

* Fix fullscreen example
* Update useEffectEvent docs for canary

* Clean up prefixed imports

* Fix import

* Update blog post link
* Docs for `cacheSignal`

* Apply suggestion from review

Co-authored-by: Sebastian Markbåge <sebastian@calyptus.eu>

* Apply suggestion from review

Co-authored-by: Sebastian Markbåge <sebastian@calyptus.eu>

* Update src/content/reference/react/cacheSignal.md

---------

Co-authored-by: Sebastian Markbåge <sebastian@calyptus.eu>
* docs: scaffold docs structure for Performance tracks

* docs: initial draft of Tracks section

* refactor: moved to reference root section and added to the sidebar

* chore: updated to canary and minor changes
* Init PPR docs

* Overhaul

* Apply suggestions from code review

---------

Co-authored-by: Sebastian Sebbie Silbermann <sebastian.silbermann@vercel.com>
* wip

* feedback and rm canary stuff

* tweak

* fix json

* more canary stuff

* fix link

* update dates

* update meta description

* Expand performance track section

* adjust linter note

* edit perf tracks down

* edit perf tracks down more

* tweak note

* tweak useEffectEvent

* formatting

* tweaks

* ppr

* rm canary stuff

* fix json

* fix json

* tweaks

* linter note

* nit

* nit

* link

* nit

* ppr

* missing await

* add lint v6

* fix link

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
We're updating eslint-plugin-react-hooks with support for useEffectEvent usage and updated configuration options for applying the useEffectEvent and other effect rules to custom effect hooks.

This adds the documentation for the config syntax and adds mention to the useEffectEvent reference page that the linter should be used to ensure proper usage of Effect Events.
* Fix Activity sandboxes

* hacky fix
* Use stable release in demos with HTML output

* Fix Activity sandboxes (#8035)

* Fix Activity sandboxes

* hacky fix

* Revert "Fix Activity sandboxes (#8035)"

This reverts commit f9fd07c.

* Bump to 19.2

* cleanup rest of sandpacks

* Pin deps

* Add back package.json with third-party deps

* "^" should be fixed now

* add back package.json for more toastify deps

* fuggin whitespace

* more fuggin whitespace

* fml like fr fr

---------

Co-authored-by: Sebastian Sebbie Silbermann <sebastian.silbermann@vercel.com>
Co-authored-by: Ricky <rickhanlonii@gmail.com>
Co-authored-by: Rick Hanlon <rickhanlonii@meta.com>

@moijes12

@Yonas650

@ardi-zanki

Removed CityJS New Delhi 2025 conference details and added CityJS Singapore 2026, CityJS New Delhi 2026, and CityJS London 2026 conference details.

@gramsco

@sachanritik1

@WuMingDao

… (#8026)

* Fix Server Components link text to match target section heading

Change "React Server Components" to "Full-stack frameworks" in the
server-components.md link text to accurately reflect the destination
section heading

* Remove unnecessary RSC tags from Server Components documentation

@kenkam

…pis.md (#7990)

Because components link to /reference/react/components, I think hooks should link to /reference/react/hooks.

@rammba

…/index.md (#7983)

Suggestion: Link to /reference/react/hooks rather than /reference/react. The preceding sentence refers to “If you are looking for Hooks that are supported in web browsers *and other environments* see [the React Hooks page](/reference/react/hooks). This page lists all the Hooks in the `react-dom` package.” which matches the React Hooks page better.

@rickhanlonii

* clarify SRP definition

* Update src/content/learn/thinking-in-react.md

---------

Co-authored-by: Ricky <rickhanlonii@gmail.com>

@mattcarrollcode

@jackpope

@imjordanxd

@poteto

@JayCeeKay1991

@SeungJin051

* Remove esquery hack

* Add comment explaining next.config change

@martinrebo

@gaearon

* fix: correct link for RedwoodJS to RedwoodSDK in documentation

* fix: update links for React Query and TanStack Start in documentation

* fix: update Vite installation command to use TypeScript template

* fix: update references from React Query to TanStack Query in documentation

@WuMingDao

@egvr2002

Fixes #8097

The refactored example in the "Chains of computations" section uses
an incorrect condition that changes the game logic from the original.

The original Effect-based code advances the round after 4 gold cards:
- Increments first (0→1, 1→2, 2→3, 3→4)
- Then checks `goldCardCount > 3` (true when count is 4)

The refactored code with `goldCardCount <= 3` allows 5 gold cards:
- Checks before incrementing
- Allows counts 0, 1, 2, 3 to increment (4 values)
- Advances on the 5th card (when count is 4)

This fix changes the condition to `goldCardCount < 3`:
- Allows counts 0, 1, 2 to increment (3 values)
- Advances on the 4th card (when count is 3)
- Matches the original behavior

Verified by tracing execution logic and building the docs site locally.

Co-authored-by: PaulyBearCoding <PaulyBearCoding@users.noreply.github.com>

@react-translations-bot