Bundle of Joy
When the creator of Babel walked away from maintenance, I caught a glimpse of how fragile the frontend really was.
Transpile ES6+ syntax down to ES5. In an era when browser support was inconsistent, you wrote the syntax you wanted and let Babel handle the rest. It was frontend infrastructure itself. Sebastian McKenzie, its creator, burned out under the weight. "I used to be very emotionally invested in Babel, now I don't really care," he said, and left. He later built Rome. Rome itself was reborn as Biome.
His contribution to that era of frontend development is immeasurable. But it was too heavy for one person to carry.
Frontend build tools move fast.
First came Grunt. A task runner. Concatenate files, minify, compile. Line up tasks in a config file, run them in order. A cousin of Makefile. Then Gulp appeared, stream-based and faster. Pipe things through. Because you wrote code instead of config, you escaped Grunt's configuration hell.
Browserify pioneered the module bundler. It let you use Node.js require in the browser. Bundle CommonJS modules into a single file. Simple, but that alone was revolutionary. This was before browsers had a module system at all.
Webpack became king. Code splitting, tree shaking, hot module replacement. It could do everything. It could do everything, but webpack.config.js became a nightmare. Loaders and plugins bloated the config until nobody understood why it worked. Touch it and it breaks.
Vite changed the wind. In development, it transpiles with esbuild and hands ES modules straight to the browser. No bundling. That's why it's fast. Production builds go through Rollup. For anyone who lived through Webpack's configuration hell, the brevity of vite.config.ts was a shock.
What comes next? Turbopack is Webpack's successor, written in Rust. Rspack is a Rust-based Webpack-compatible alternative. Vite is migrating from Rollup to Rolldown. The rewrite-in-Rust wave won't stop. Build tools turn over on a three-year cycle.
Two years from now we'll probably be using something else.