{
  "id": "create-react-app",
  "title": "Create React App",
  "language": "JavaScript / TypeScript",
  "group": "Rewrite sources",
  "summary": "A React application bootstrapped and built with Create React App (CRA). React deprecated CRA for new applications in February 2025; existing applications can keep React while changing the build or application framework.",
  "kind": [
    "web"
  ],
  "roles": [
    "browser-ui"
  ],
  "ui": "client-rendered React; inspect routing, rendering, state and browser APIs in the actual app",
  "host": "Typically emits static assets for a web server or CDN. Any separately owned API, authentication, jobs and data services remain outside CRA and must be inventoried independently.",
  "responsibilities": [
    "browser-ui: client-rendered React; inspect routing, rendering, state and browser APIs in the actual app",
    "React component and page behavior",
    "CRA scripts, webpack/Babel configuration and environment variables",
    "Routes, client state, forms and browser-side validation",
    "Static asset paths, public files, service workers and deployment rewrites",
    "Any separately owned API, identity, persistence, jobs and integrations",
    "server-runtime: inventory the actual API, identity, data, job, integration and hosting owners; the browser framework itself does not establish whether or how these exist."
  ],
  "lifecycle": {
    "status": "Deprecated for new applications; existing applications remain in maintenance mode",
    "date": "Deprecation announced 2025-02-14; CRA continues to work in maintenance mode",
    "as_of": "2026-10-23",
    "sources": [
      "https://react.dev/blog/2025/02/14/sunsetting-create-react-app"
    ]
  },
  "version_check": [
    "Read package.json and the lockfile for react-scripts, React, Node and related tooling versions.",
    "Record custom webpack overrides, eject status, Babel/Jest configuration and installed scripts.",
    "Check CRA's official deprecation guidance and the target tool/framework's migration documentation at planning time; versions and ecosystem support can change."
  ],
  "inventory": [
    "Map route behavior, authentication boundaries, browser storage, analytics, service worker and asset URL assumptions.",
    "List every API and service owner; record endpoints, request/response shapes, credentials and error behavior.",
    "Capture test, lint, build and deploy commands, environment variables, browser support and direct-route behavior.",
    "Identify build-time assumptions such as proxy configuration, public URL and imported environment variables."
  ],
  "options": [
    "Keep CRA temporarily while making a scoped dependency or application change, with an explicit maintenance and security plan.",
    "Retain React and replace CRA tooling with a build tool such as Vite, Parcel or Rsbuild when the app remains a client application; explicitly recreate required routing, testing, environment and deployment behavior.",
    "Move to a React framework when its routing, server rendering or full-stack capabilities match actual requirements; server rendering is not mandatory for every migration.",
    "Partially replace routes or isolated UI while preserving API, identity and data owners."
  ],
  "target_research": "React can remain the UI ecosystem. Compare the maintained React framework or build-tool paths against server-rendering, routing, deployment, API ownership and team requirements. A target guide is a starting point, not proof that its framework replaces every source responsibility.",
  "caution": "Do not equate CRA deprecation with React deprecation. A tooling change can alter routing, asset paths, environment variable conventions, service-worker behavior and build outputs. Verify each against the deployed app.",
  "sources": [
    {
      "title": "Sunsetting Create React App",
      "url": "https://react.dev/blog/2025/02/14/sunsetting-create-react-app",
      "claim": "React deprecated CRA for new apps, says existing apps continue in maintenance mode, and describes migration to a framework or build tool; client-side rendering can still be appropriate."
    },
    {
      "title": "Creating a React App",
      "url": "https://react.dev/learn/creating-a-react-app",
      "claim": "Current official React guidance describes framework and build-tool choices."
    }
  ],
  "guide_url": "/rewrite/sources/create-react-app/",
  "markdown_url": "/rewrite/sources/create-react-app.md",
  "json_url": "/rewrite/sources/create-react-app.json"
}
