react/compiler/packages/babel-plugin-react-compiler
Joseph Savona eee5ca2a92
[compiler] Prune all unused array destructure items during DCE (#31619)
We didn't originally support holes within array patterns, so DCE was
only able to prune unused items from the end of an array pattern. Now
that we support holes we can replace any unused item with a hole, and
then just prune the items to the last identifier/spread entry.

Note: this was motivated by finding useState where either the state or
setState go unused — both are strong indications that you're violating
the rules in some way. By DCE-ing the unused portions of the useState
destructuring we can easily check if you're ignoring either value.

closes #31603 

This is a redo of that PR not using ghstack
2024-11-22 15:59:59 -05:00
..
scripts [rcr] Update default runtimeModule to react-compiler-runtime (#31144) 2024-10-07 17:59:33 -04:00
src [compiler] Prune all unused array destructure items during DCE (#31619) 2024-11-22 15:59:59 -05:00
jest.config.js
package.json [compiler] Update react deps (#31585) 2024-11-19 10:52:38 -05:00
README.md
rollup.config.js [compiler] Disable emit of .tsbuildinfo (#31459) 2024-11-14 15:43:36 -05:00
tsconfig.json

babel-plugin-react-compiler

React Compiler is a compiler that optimizes React applications, ensuring that only the minimal parts of components and hooks will re-render when state changes. The compiler also validates that components and hooks follow the Rules of React.

This package contains the React Compiler Babel plugin use in projects that make use of Babel. You can find instructions for using this plugin here: https://react.dev/learn/react-compiler