Bun ha rilasciato la 1.0 a settembre 2023. Tre mesi dopo, l'abbiamo provato in dev su una nostra app interna (Express + Prisma + 14k righe TypeScript) e su un'app Next.js media.
Install
bun install ha fatto il lavoro di npm install in 4,2 secondi contro 38. È un fattore 10x. Per i CI build di progetti grandi, questo da solo paga la transizione.
Test runner
L'API è quasi identica a Vitest/Jest. Sui nostri 480 test la suite girava in 6,1 secondi con Vitest. Con Bun: 2,4 secondi. Niente magic, è solo veloce.
Runtime
Eseguendo l'app Express con bun run start abbiamo guadagnato il 35% di throughput su un benchmark sintetico. In produzione la differenza è meno marcata perché il bottleneck è quasi sempre il database, non la CPU del runtime.
Cosa non funziona ancora
- Native modules: alcuni pacchetti che dipendono da N-API specifici (sharp, bcrypt) avevano workaround in 1.0, ora migliorati ma da verificare.
- Cluster mode / worker_threads: parità non ancora completa con Node.
- Production hosting: a fine 2023 quasi nessun PaaS (Vercel, Railway, Fly) supporta nativamente Bun. Esegue su Docker, ma è meno comodo.
Verdetto
Per dev experience: già oggi. bun install e bun test sono il primo cambio che facciamo nei nostri repo. Per produzione: aspettiamo metà 2024, quando il supporto degli host sarà migliorato e la nostra esperienza più consolidata.