Create React App was the right choice for my Enterprise SPA - even with its flaws.

When you search for 'should you use create react app' every post on my homepage was trying to discourage the reader from using it. I was going to offer a different perspective but CRA took a turn recently.

the results of searching 'should you create react app' on google showing many articles discouraging its use
My results

UPDATE - uncertain future of CRA

This blog post was originally titled - Why Create React App could be the correct choice for your enterprise SPA.
As if the universe conspired against me - literally 1 day after I wrote this blog post the future of Create React App became uncertain. In this GitHub issue Dan Abramov speaks about create react apps future. It is an excellent post and details the history of create react app as well as its shortcomings directly.
He acknowledges himself that it is only really useful for creating SPA's and the frameworks that have risen since its creation might do a better job. He talks about possibly turning create react app into a launcher. Im unsure I can recommend something that might get deprecated soon.


You can find the original post below, all of the benefits I found are still benefits. Create react app may remain functionally the same in the future but it requires a little more thought and planning now

My situation

I have built (and now shipped) the entire front end of an enterprise B2B SaaS SPA during the last year and a half. I did it on my own, with someone writing an API for it in Laravel on the server. My half of codebase is currently 200k lines long and consists of mostly tables, forms, drag and drop interfaces and Stripe integration.

I am perfectly happy with create react app and I can summarise it like this:

Apart from running the initial command and installing Tailwind I have not had to touch my build tools. At all. For any reason.

Not for a single minute. Just think about that, I haven't had to commit a single development minute to tweaking bundler settings, writing or patching together custom plugins and suffering in Webpack hell. It has delivered its promise to me of 'it just works'. I think everyone is happier when you don't have to spend precious dev time fiddling with frustrating build tools.

I don't know if I would recommend it for a product that is more advanced but a significant amount of apps, especially in the b2b sector, are just tables and forms and it worked well for me here

My stack?

Designed to move incredible fast, be set up once and never touched again.

What are people saying?

The main general criticism seems to be

CRA Slows down with large codebases

I haven't experienced this personally but 200k lines of code is a fraction of some codebases and I am on a Mac Studio. Its also worth noting that I don't have to bundle any images or css because, again, tables and forms and I am using tailwind. Your CMS/QMS/FOS/CM.... etc might be the same.

Another criticism

Its difficult to add custom build configs

I have not wanted to change mine, but even if you do there are packages that can allow you to not have to eject from CRA and still modify it. Some are:

These both allow you to make changes without having to fork react-scripts or eject from create-react-app. I think this expands the use cases where its the correct choice even further.

Story time over.

There used to be a recommendation to try it here, but as the update at the top says.... it might not be such a good idea anymore. Perhaps expect a 'migrating from create react app' post in the future.

If you want to you can find me @SimonHarrisCo