DOUBLE SLASH

BunJS, l'environement JS ultime ?
139NEW
1h 02mn 48s

Bun est un toolkit tout-en-un pour JavaScript et TypeScript: runtime, gestionnaire de paquets, test runner et bundler, dans un seul exécutable. Créé par Jarred Sumner, présenté publiquement en juillet 2022 puis stable avec la 1.0 de septembre 2023, il se pose en alternative plus rapide à Node.js. On revient sur son historique et ce qu’il embarque vraiment.

Dans cet épisode, on soulève le capot de Bun : historique du JS back-end (Node, Deno, Bun), JavaScriptCore vs V8, l’effet waouh du bun install, workspaces et catalogues monorepo, bundler + binaire CLI, tests natifs, modules intégrés (SQLite, Redis, images, markdown…) et la polémique Anthropic / migration Rust. Pour qui c’est intéressant et pourquoi la DX compte autant que les performances.

Liens utiles :

Un peu d'histoire

Jarred Sumner commence Bun en 2021, bloqué par un hot reload Next.js trop lent. Il porte d’abord le transpileur JSX / TypeScript d’esbuild, puis embarque JavaScriptCore (le moteur de Safari) plutôt que V8, pour un démarrage plus rapide.

La preview publique, v0.1.0, sort en juillet 2022 : runtime pensé comme drop-in de Node.js, bundler, transpileur, test runner et package manager. La 1.0 arrive en septembre 2023. En décembre 2025, Bun rejoint Anthropic ; le projet reste open source, licence MIT.

Ce que Bun embarque

D’après la doc officielle, bun est un seul binaire qui fait plusieurs métiers :

  • Runtime : exécute JS et TypeScript (et JSX) sans outil externe, compatible Node (fs, path, http…) et APIs web (fetch, WebSocket).
  • Package manager : bun install, jusqu’à 30× plus rapide que npm, avec cache global et workspaces.
  • Tests : bun test, compatible Jest, TypeScript en premier.
  • Bundler : bun build pour le navigateur et le serveur.

Côté runtime, Bun ajoute aussi des modules natifs : SQLite (bun:sqlite), clients SQL (PostgreSQL, MySQL), Redis, et la compilation en binaire autonome.

Bonne écoute !

48% vers l'objectif de 70$ par mois

L'ensemble des charges seront couvertes. Service de stockage et abonnement aux services utilisés.

Abonnez-vous sur votre plateforme de podcast préférée