• 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/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.
  • React Router/7/Update Imports

    In v7 the react-router and react-router-dom packages are combined so this codemod import everything directly from "react-router" except for the RouterProvider exception.

  • Webpack To Rspack/Migrate Update Babel Loader To Swc Loader

    Using builtin:swc-loader offers better performance compared to the babel-loader and the external swc-loader, as it avoids frequent communication between JavaScript and Rust.

  • React Router/7/Migration Recipe

    This codemods designed to facilitate the migration of your project from React Router to version 7. Each codemod targets specific changes and improvements introduced in React Router v7, ensuring a smoother transition.

  • React Router/7/Add V7 SkipActionStatusRevalidation Flag

    This transformation adds the necessary configuration to enable v7 features, specifically the v7_skipActionStatusRevalidation flag.

  • React Router/7/Add V7 PartialHydration Flag

    This transformation adds the necessary configuration to enable v7 features, specifically the v7_partialHydration_Flag flags