Retour aux articles
Bun 2.0 : le runtime JavaScript qui ne se compare plus à Node.js, mais à Node.js + npm + Jest
Dev5 juillet 20262 min de lecture

Bun 2.0 : le runtime JavaScript qui ne se compare plus à Node.js, mais à Node.js + npm + Jest

Bun 2.0 est sorti en mars 2026. Cette version ne cherche plus seulement à être plus rapide que Node.js : elle embarque un gestionnaire de paquets, un bundler, un runner de tests et un transpileur, le tout dans un seul binaire. Benchmark, compatibilité, cas d'usage réels.

Bun 2.0, sorti en mars 2026, marque un tournant dans le positionnement du projet. La version 1.x se présentait principalement comme un runtime Node.js-compatible mais plus rapide. La version 2.0 assume pleinement son ambition : remplacer non seulement Node.js, mais l'ensemble de la chaîne d'outils JavaScript dans un seul binaire de 50 Mo.

Ce que Bun 2.0 remplace

Un projet Node.js standard nécessite typiquement : Node.js pour l'exécution, npm ou pnpm pour les paquets, esbuild ou Rollup pour le bundling, Jest ou Vitest pour les tests, et ts-node ou tsx pour le TypeScript. Bun 2.0 propose tout cela en une seule commande d'installation.

# Exécuter un fichier TypeScript directement
bun run index.ts

# Gérer les dépendances (compatible avec package.json)
bun install          # 10-30x plus rapide que npm
bun add express

# Lancer les tests
bun test

# Bundler pour la production
bun build ./index.ts --outdir ./dist --target node

La compatibilité Node.js reste le point fort : la grande majorité des packages npm fonctionnent sans modification. Bun implémente les APIs Node.js les plus utilisées (fs, path, http, crypto, process) et supporte CommonJS et ESM.

Les benchmarks 2026

Sur les benchmarks HTTP (hello world, JSON response, database query via pg), Bun 2.0 atteint environ 2,5 à 3 fois le débit de Node.js 22 LTS. Sur le démarrage à froid, l'écart est encore plus marqué : Bun démarre en 5-10ms là où Node.js prend 50-80ms, ce qui le rend attractif pour les fonctions serverless.

L'installation des dépendances est le benchmark le plus impressionnant. Sur un projet avec 200 dépendances depuis un cache vide, bun install prend 1,2 secondes contre 12 secondes pour npm install. Depuis le cache, c'est 0,2 seconde contre 3 secondes.

Ce qui reste problématique

La compatibilité n'est pas à 100%. Certains packages utilisant des bindings natifs compilés spécifiquement pour Node.js (modules N-API avec des dépendances sur l'ABI interne de V8) ne fonctionnent pas sous Bun, qui utilise le moteur JavaScriptCore de WebKit plutôt que V8. Les packages les plus courants sont supportés, mais des projets qui dépendent de bibliothèques moins maintenues peuvent rencontrer des problèmes.

L'écosystème de débogage est aussi moins mature. Les intégrations avec VS Code, les flamegraphs et les profilers avancés restent meilleurs côté Node.js.

Quand utiliser Bun en 2026 ?

Bun est le choix évident pour les nouveaux projets scripts, tooling, et services backend simples. Pour les projets existants avec un écosystème de dépendances complexe, la migration demande un audit préalable. La stratégie la plus fréquente en 2026 : utiliser bun install comme remplacement de npm (compatibilité quasi-totale) tout en gardant Node.js pour l'exécution, puis migrer le runtime progressivement.

Cet article a été partiellement rédigé ou modifié à l'aide d'une intelligence artificielle.