Files
michael faith 5ccfcd17ff feat(eslint-plugin-react-hooks): merge rule from eslint-plugin-react-compiler into react-hooks plugin (#32416)
This change merges the `react-compiler` rule from
`eslint-plugin-react-compiler` into the `eslint-plugin-react-hooks`
plugin. In order to do the move in a way that keeps commit history with
the moved files, but also no remove them from their origin until a
future cleanup change can be done, I did the `git mv` first, and then
recreated the files that were moved in their original places, as a
separate commit. Unfortunately GH shows the moved files as new instead
of the ones that are truly new. But in the IDE and `git blame`, commit
history is intact with the moved files.

Since this change adds new dependencies, and one of those dependencies
has a higher `engines` declaration for `node` than what the plugin
currently has, this is technically a breaking change and will have to go
out as part of a major release.

### Related Changes
- https://github.com/facebook/react/pull/32458

---------

Co-authored-by: Lauren Tan <poteto@users.noreply.github.com>
2025-03-12 21:43:06 -04:00
..

React Compiler Playground

An interactive playground to demonstrate, test, and have fun with React Compiler.

Setup

# Build React Compiler from source and install Playground dependencies.
$ yarn

# Or similarly
$ npm install

Development

# Start the local development server with
$ yarn dev

# Or
$ npm run dev

# Rerun the following (in a separate terminal window) when React Compiler
# is changed locally to keep Playground in sync.
$ yarn

Testing

# Install playwright browser binaries
$ npx playwright install --with-deps
# Run tests
$ yarn test

Deployment

This project has been deployed using Vercel. Vercel does the exact same thing as we would locally, by running yarn at the install step in the Playground directory to build React Compiler from source and symlink it as its dependency. This means that Playground is automatically deployed on every push and pull requests will reflect the behaviors of React Compiler of that commit.