react/compiler/packages/babel-plugin-react-compiler
Mofei Zhang c67e241c16 [compiler] Renames and no-op refactor for next PR
Rename for clarity:
- `CollectHoistablePropertyLoads:Tree` -> `CollectHoistablePropertyLoads:PropertyPathRegistry`
    - `getPropertyLoadNode` -> `getOrCreateProperty`
    - `getOrCreateRoot` -> `getOrCreateIdentifier`
- `PropertyLoadNode` -> `PropertyPathNode`

Refactor to CFG joining logic for `CollectHoistablePropertyLoads`. We now write to the same set of inferredNonNullObjects when traversing from entry and exit blocks. This is more correct, as non-nulls inferred from a forward traversal should be included when computing the backward traversal (and vice versa). This fix is needed by an edge case in #31036

Added invariant into fixed-point iteration to terminate (instead of infinite looping).

ghstack-source-id: 1e8eb2d566b649ede93de9a9c13dad09b96416a5
Pull Request resolved: https://github.com/facebook/react/pull/31036
2024-09-30 12:35:16 -04:00
..
scripts Compiler: unfork prettier config (#30205) 2024-07-18 17:00:24 -04:00
src [compiler] Renames and no-op refactor for next PR 2024-09-30 12:35:16 -04:00
jest.config.js Compiler: unfork prettier config (#30205) 2024-07-18 17:00:24 -04:00
package.json [playground] Decouple playground from compiler 2024-09-27 15:25:07 -04:00
README.md [compiler] Add readme for babel plugin 2024-05-15 17:29:49 -07:00
rollup.config.js Compiler: unfork prettier config (#30205) 2024-07-18 17:00:24 -04:00
tsconfig.json Don't emit types for babel-plugin-react-compiler 2024-05-14 11:02:30 -04:00

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