• Refactor Native Module Calls

    This codemod updates your React Native code to use the New Architecture's synchronous native module calls, replacing callback-based patterns for improved performance and simplicity.

  • Vue 2 To Vue 3 Refs And Methods

    Example

    This codemod turns X into Y. It also does Z. Note: this is a contrived example. Please modify it.

  • Remix/2/React Router/Upgrade

    This codemod automates most of the manual steps outlined in the Remix to React Router upgrade guide.

  • React 17 Default Props To Params

    Example

    This codemod turns X into Y. It also does Z. Note: this is a contrived example. Please modify it.

  • React Router/6/UseHistory To UseNavigate

    This codemod migrates useHistory to useNavigate in React Router codebases. It replaces useHistory imports and updates all instances of history.push, history.replace, go, goBack, and goForward to align with the useNavigate API.

  • React Router/6/Switch To Routes

    This codemod updates Switch components to Routes in React Router, in line with React Router v6 and newer. It also adjusts the imports, replacing Switch with Routes in react-router-dom import statements.

  • React Router/6/Migrate StaticRouter Import

    This codemod updates imports of StaticRouter to use the react-router-dom/server package instead of react-router-dom, in line with updated React Router requirements.

  • React Router/6/Seperate Link State Prop

    This codemod simplifies the Link component by transforming its to prop from an object with a pathname to a string. It removes the unnecessary object wrapper around the pathname, maintaining the state prop as is.

  • React Router/6/Replace UseRouteMatchWithUseMatch

    This codemod updates useRouteMatch calls to the newer useMatch function in react-router-dom. It also adjusts any arguments passed to useRouteMatch, changing strict to end and sensitive to caseSensitive. Additionally, it ensures that imports are updated to reflect the removal of useRouteMatch.

  • React Router/6/Reorder Matchpath Args

    This codemod reorders the arguments in the matchPath function calls. It switches the position of the string path and the second callback argument, improving consistency and readability.

  • React Router/6/Remove ActiveStyleprops

    This codemod updates NavLink components that use separate style and activeStyle props to the modern isActive function in react-router-dom. It simplifies the logic by combining the two props into a single style prop with conditional styling.

  • React Router/6/Update Relative Links

    This codemod modernizes Route and Link components in React Router by:

    1. Removing the deprecated exact prop from Route.
    2. Updating Route to use the element prop.
    3. Rewriting dynamic Link and Route paths that use template literals like ${match.url} and ${match.path}.
  • React Router/5.1/Redirect To Navigate

    This codemod updates deprecated Redirect components from react-router-dom to the modern Navigate API. It also updates the imports by replacing Redirect with Navigate.

  • React Router/6/React Router Config To Use Routes

    This codemod helps update code that uses react-router-config to the modern useRoutes API from react-router-dom. It removes renderRoutes from imports and replaces it with useRoutes. Manual adjustments might be required after running the codemod, especially if other customizations exist in your routing logic.

  • React Router/6/Navlink Exact To End

    This codemod replaces the deprecated exact prop in NavLink with the modern end prop. React Router v6 and beyond use end to indicate that the path should match exactly, making this a necessary update for compatibility with newer versions.

  • React Router/5.1/Component Render To Children

    This codemod transforms Route components using render and component props into JSX with nested children.

  • ChakraUI/V3/Remove Theme Tools

    Theme tools has been removed, so this codemod transforms it, to use CSS color mix.

  • ChakraUI/V3/Update Chakra Provider

    • Updates the ChakraProvider import from @chakra-ui/react
    • Renames the theme prop to value to match the new system-based theming approach
  • ChakraUI/V3/Refactor Custom Theme

    • Replaces extendTheme with createSystem and defaultConfig.
    • Updates your theme object to fit the new structure required by Chakra UI.
  • I18n/23/Remove Options

    Modification of the InterpolationOptions type. In version 23.0.0, the ns property within InterpolationOptions is now constrained to be of type Namespace instead of being a string or a readonly string[]. This change requires you to adjust your code accordingly.