-
webpack
A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
-
craco
Create React App Configuration Override, an easy and comprehensible configuration layer for Create React App.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
I wouldn't recommend starting a CRA app today. Our team is on CRA3 (Webpack 4) and for our large app dev startup time to first pageload is 70s -- not great. But I tried upgrading to CRA4 (Webpack 5) in a branch, and the startup time increased to 6 minutes. I'm not the only one having this issue with Webpack 5, and until there's substantial improvement on this front I am strongly inclined to stay away from Webpack or anything Webpack based.
You shouldn't ever have to eject. Tools like https://github.com/gsoft-inc/craco will let you override the CRA config without needing to eject at all.