← All work
Row 02 of 07
Off Create React App
Replaced Babel with esbuild and moved a second app off Create React App. Total JavaScript shipped fell 55%, from 39.4 MB to 17.6 MB.
Context
Every file went through Babel and ts-loader. A second app still ran on Create React App, which keeps its Webpack config out of reach, so there was no clean way to add compression to it.
What I did
I replaced Babel and ts-loader with esbuild-loader, and moved the second app to a custom Webpack config with Gzip and Brotli compression.
I also owned the upgrade to React 19, Axios 1 and Node 20.
Outcome
Total JavaScript shipped across the apps fell 55%, from 39.4 MB to 17.6 MB, and the codebase runs on React 19.