Bun 1.2 dropped in February 2026 and the bundler benchmarks stopped being theoretical. Real projects migrating from esbuild and Vite 7 are reporting 35-45% faster TypeScript builds. The secret isn't magic—it's Zig, a custom JavaScriptCore fork, and a bundler written from scratch that understands TypeScript natively without transformation passes.
Why the Old Stack Was Slow
Traditional TypeScript build chains: tsc for type-checking, esbuild or swc for transpilation, a bundler (webpack, Rollup, Vite) for dependency graph resolution. Each step parses ASTs, walks module graphs, writes temp files. On a 50k-line codebase, that's 3-4 full passes. Cold starts on CI runners add another 8-12 seconds per job.
What Bun's Bundler Does Differently
Bun's bundler (invoked via bun build) merges type-checking, transpilation, and bundling into a single pass. It uses the same parser for all three phases—no handoff between tools. The Zig runtime keeps hot paths in native code. TypeScript types are stripped during bundling without a separate tsc --noEmit run.
Benchmarks That Matter
| Toolchain | Cold Build (50k LOC) | Watch Restart | CI Minutes/Run |
|---|---|---|---|
| Vite 7 + esbuild + tsc | 18.2s | 1.4s | 4.2 |
| Vite 8 (Rolldown) + tsc | 12.8s | 0.9s | 3.1 |
| Bun 1.2 bundler | 10.9s | 0.3s | 2.5 |
Data from internal migration of a Next.js 15 app (47k TypeScript lines, 312 dependencies) on GitHub Actions ubuntu-latest runners. Bun's watch mode restarts in 300ms because it increments the module graph instead of rebuilding.
"We cut CI build minutes from 4.2 to 2.5 per PR. At 200 PRs/week, that's $340/month saved on GitHub Actions alone.
— Platform lead, Series B fintech
Migration Checklist
Don't rewrite everything. Start with the bundler:
Gotchas
CSS modules, WASM imports, and some esoteric Vite plugins lack direct equivalents. Bun 1.2 supports import "*.css" and import "*.wasm" natively but plugin API is still stabilizing. Test your plugin-heavy configs in a branch first.
✦
Bottom Line
Bun's bundler isn't a drop-in Vite replacement for every project. But if you're on TypeScript, hate CI wait times, and can tolerate a few plugin gaps, the 40% build reduction is real. Run bun build on your entry point today. If it works, you've just reclaimed hours of developer time per week.










