The migration
A 12-route Express-style API with pg, redis, and a few heavy dependencies. Migration took 4 hours, most of which was dealing with native addons.
What improved
- Cold start: 340ms (Node) → 38ms (Bun)
- npm install: 18s → 4s
- Test suite: 22s → 7s
What broke
--experimental-vm-modulesJest tests need rewriting for Bun's test runner- One native module (argon2) required a rebuild
- Some
require/importinterop edge cases in old code
Verdict
For greenfield services: use Bun now. For migrations: plan a half-day per service, budget time for native addon issues.