Build Tools and Bundlers
The machinery that transforms source code into production assets. Webpack, Vite, Rollup, esbuild, SWC, Turbopack -- when each is the right choice and why.
How webpack constructs a dependency graph from your entry points, transforms files through loaders, taps into compiler hooks with plugins, splits chunks, and produces your final bundle.
Why Vite's native ESM dev server starts instantly regardless of app size, how esbuild pre-bundles dependencies, how HMR works over ESM, and why production uses Rollup.
Why Rollup is the go-to bundler for libraries — ESM-first philosophy, best-in-class tree shaking, multiple output formats, and the preserveModules strategy.
Why Go and Rust-based build tools are 10-100x faster than JavaScript-based ones — esbuild's architecture, SWC as a Babel replacement, benchmarks, and when to use each.
The next generation of bundlers built in Rust — Turbopack's incremental computation model, Rspack's webpack compatibility, and why Rust is winning the build tooling race.
Babel's parsing-transform-generate pipeline, AST structure, presets vs plugins, when Babel is still essential, and when esbuild/SWC have replaced it.
How to analyze your JavaScript bundles, identify bloat, verify tree shaking, detect duplicate dependencies, and set performance budgets that prevent regression.
How dynamic import() creates split points, route-based and component-level splitting strategies, prefetching patterns, and how to measure split effectiveness.
Share code between independently deployed applications at runtime — host/remote architecture, shared dependency negotiation, version management, and when not to use it.
How source maps work under the hood (VLQ encoding, mappings), devtool options in webpack, production source map strategies, and debugging with Chrome DevTools.
Test your understanding of bundling behavior, tree shaking, code splitting, source maps, module federation, and build tool differences with these 10 challenging questions.