Skip to main content

Create React App (CRA)

Deprecated

Do not use for new projects. Use Vite instead.

What is it

Create React App (CRA) was an officially-supported CLI tool by Meta for bootstrapping React projects with a pre-configured webpack setup, including Babel, ESLint, and dev server.

Why it's deprecated

  • Officially deprecated by the React team — React's website now says "Create React App has been deprecated" (Feb 2025 blog post).
  • Unmaintained since ~2022 — last meaningful commit Sep 2022; 1,500+ open issues.
  • Uses webpack under the hood — inherits all of webpack's performance problems.
  • No modern React features — doesn't support React Server Components, streaming, or React 18+ architecture.
  • React docs now recommend Vite — the official "Creating a React App" page recommends Vite, Next.js, or React Router v7.

Vite for SPAs; Next.js or React Router v7 for full-stack React.

Migration path

  1. Create a new Vite project: npm create vite@latest my-app -- --template react-ts
  2. Copy src/ files over; adjust entry point (main.tsx instead of index.js)
  3. Move public/index.html to root index.html and add <script type="module" src="/src/main.tsx"></script>
  4. Replace REACT_APP_* env vars with VITE_* prefixed ones
  5. Replace react-scripts npm scripts with vite, vite build, vite preview
  6. Remove react-scripts from dependencies
  7. Migrate Jest tests to Vitest — the API surface is similar, but expect manual work around jsdom setup, module transforms, mocks, and React Testing Library configuration

Resources