Upgrade to React 19
Recipe ID
org.openrewrite.react.migrate.upgrade-to-react-19Artifact@openrewrite/recipes-reactMigrate deprecated and removed APIs for React 19 compatibility. This includes removing forwardRef, updating Context.Provider usage, replacing useContext with use, and other breaking changes.
Composite recipeProprietary
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.react.migrate.upgrade-to-react-19If the recipe isn’t available locally, install it with:
mod config recipes npm install @openrewrite/recipes-reactDefinition
This recipe runs the following recipes in order.
- Upgrade to React 18
org.openrewrite.react.migrate.upgrade-to-react-18 - Remove
React.forwardRefwrapperorg.openrewrite.react.19.remove-forward-ref - Remove
React.FCtype annotationorg.openrewrite.react.19.remove-react-fc - Replace
actimport from react-dom/test-utilsorg.openrewrite.react.19.replace-act-import - Remove
Context.Providerwrapperorg.openrewrite.react.19.remove-context-provider - Replace
useContextwithuseorg.openrewrite.react.19.use-context-hook - Replace
useFormStatewithuseActionStateorg.openrewrite.react.19.replace-use-form-state - Replace string refs with callback refs
org.openrewrite.react.19.replace-string-ref - Replace
defaultPropswith default parameter valuesorg.openrewrite.react.19.replace-default-props - Replace
ReactDOM.hydratewithhydrateRootorg.openrewrite.react.19.replace-reactdom-hydrate - Add initial value to
useRef()callsorg.openrewrite.react.19.use-ref-required-initial - Remove
propTypesassignmentsorg.openrewrite.react.19.remove-prop-types - Remove implicit ref callback returns
org.openrewrite.react.19.no-implicit-ref-callback-return - Replace deprecated React types
org.openrewrite.react.19.deprecated-react-types - Replace
react-test-renderer/shallowimportorg.openrewrite.react.19.replace-react-shallow-renderer - org.openrewrite.javascript.UpgradeDependencyVersion
org.openrewrite.javascript.UpgradeDependencyVersion - org.openrewrite.javascript.UpgradeDependencyVersion
org.openrewrite.javascript.UpgradeDependencyVersion - org.openrewrite.javascript.UpgradeDependencyVersion
org.openrewrite.javascript.UpgradeDependencyVersion - org.openrewrite.javascript.UpgradeDependencyVersion
org.openrewrite.javascript.UpgradeDependencyVersion