Sunsetting Create React App

How CRA Got Sunset and Docs Updated

  • React 19 broke Create React App (CRA), which triggered public complaints and an umbrella issue detailing breakage and urging formal deprecation.
  • React team fixed the breakage, published the sunset blog post, updated the “Create a Project” docs, and adjusted SEO so old CRA docs stop ranking.
  • Commenters appreciate the explicit deprecation after years of CRA effectively being dead, but think it came too late.

Docs Messaging: SPA vs Frameworks

  • Many welcome mentioning Vite as an option, but criticize the docs for:
    • Not plainly stating that “React + Vite SPA” is a first-class, valid way to use React.
    • Linking “Build Your Own Framework” but using it mostly to warn users off DIY setups instead of giving concrete Vite/Parcel recipes.
    • Overusing “framework” and sounding paternalistic (“we know what’s best; don’t build your own”).
  • Several people feel the React team is implicitly hostile to SPAs, despite survey data showing most React usage is still SPA-centric.

Next.js, Vercel, and Lock‑In Concerns

  • The new guidance effectively reads as “use a framework,” with Next.js front and center.
  • Multiple commenters are uncomfortable with React pushing a framework largely controlled by a hosting company (Vercel), blurring community vs profit motives.
  • Specific worries:
    • Features like API routes and image optimization incentivize using Vercel.
    • Static export + <Image> support is debated; some say it works with custom loaders, others argue the first‑class path is clearly Vercel.
  • Others counter that Next.js works fine self‑hosted and provides real value (SSR, RSC, routing).

What Replaces CRA in Practice

  • Many treat “Vite (+ React plugin)” as the practical CRA successor: fast, simple, good for embedding React into existing apps; several teams report smooth CRA→Vite migrations.
  • Rsbuild and similar tools are also suggested; some prefer “just React + Vite + tiny router” to avoid Next’s complexity.
  • Some argue Vite itself feels heavy for single-page widgets; they wish for an even simpler, opinionated “React compiler” with minimal config.

Wider Frontend Backlash and Alternatives

  • Strong current of frustration with frontend complexity: “tool to start using a tool,” fragile dependency trees, and constant churn.
  • Many argue most projects could be SSR HTML with light JS; SPAs and RSC frameworks are over-applied.
  • Alternatives mentioned: Vue/Nuxt, Svelte(Kit), Astro, htmx, Go templating, Blazor, Phoenix LiveView, Ruby on Rails.
  • Ongoing meta-debate: frameworks as necessary support for truly interactive apps vs overkill driven by trends, resumes, and vendor incentives.