// the find
evanw/esbuild
An extremely fast bundler for the web
esbuild is a JavaScript/TypeScript/CSS bundler written in Go, designed to be orders of magnitude faster than webpack or rollup by doing everything in a single pass with heavy parallelism. It's for developers who are tired of waiting 30 seconds for a build and are willing to trade some ecosystem depth for speed. Vite uses it under the hood for dependency pre-bundling, which tells you how seriously the JS community takes it.
The speed claim is real and not marketing — bundling a large app in under a second without a cache is genuinely useful during development. The Go implementation means it ships as a single native binary with no npm dependency hell; the optional WASM build covers browser-based tooling. The plugin API is well-designed: synchronous resolve and load hooks that cover the common cases without the callback pyramid of webpack loaders. CSS modules support is first-class, not bolted on.
TypeScript support is transpile-only — it strips types but does not type-check, so you need a separate tsc pass to catch type errors, which complicates CI setup. The plugin ecosystem is thin compared to webpack or rollup; anything beyond basic asset handling usually requires writing your own plugin. Code splitting is supported but the output format options (ESM/CJS/IIFE) have enough edge cases with circular dependencies that you'll occasionally get runtime errors that webpack would have caught. No HMR built in — the dev server does live reload only, so you're on your own for hot module replacement in frameworks that need it.