Aller au contenu

Bun 1.4.4 ajoute bun fmt, un formateur compatible avec Prettier

Bun 1.4.4, sorti le 22 octobre 2026, ajoute bun fmt, un formateur compatible avec Prettier qui, selon Bun, vérifie le dépôt de Prettier 286 fois plus vite que Prettier.

Par Tech AI Wire Team

4 min de lecture

XLinkedIn
The Bun blog post Bun v1.4.4 by Jarred Sumner, dated October 22, 2026, with install and upgrade commands.

En chiffres

bun fmt --check on Prettier's repo, per Bun
59.7 ms
Prettier 3.9.10 on the same repo
17.1 s
faster bun check on MUI docs than Bun 1.4.3
7.8x

Bun 1.4.4, sorti le 22 octobre 2026, ajoute bun fmt, un formateur de code intégré au runtime Bun qui lit votre configuration Prettier existante. Sur le dépôt de Prettier lui-même, Bun affirme que bun fmt --check prend 59,7 millisecondes, contre 17,1 secondes pour Prettier. La version accélère aussi bun check et migre les lockfiles de Yarn Berry.

Bun est un runtime JavaScript qui intègre aussi un gestionnaire de paquets, un lanceur de tests et un vérificateur de types. Un formateur réécrit le code dans un style uniforme, pour que les équipes cessent de débattre des espaces et des retours à la ligne.

Ce que fait bun fmt

bun fmt est un portage de Prettier, un formateur JavaScript très utilisé, selon les notes de version de Bun v1.4.4 signées Jarred Sumner. Il lit les fichiers de configuration qu'un projet possède déjà :

  • .prettierrc*, prettier.config.* et la clé prettier de package.json
  • .editorconfig et .prettierignore
  • les configurations d'oxfmt, un autre formateur
  • une section [fmt] dans bunfig.toml

Il formate notamment JavaScript, TypeScript, JSX, CSS, SCSS, HTML, Vue, Svelte, JSON, YAML, TOML, Markdown, MDX et GraphQL. Le tri des classes Tailwind, le tri des clés de package.json et la prise en charge de Svelte sont intégrés, donc ces plugins Prettier deviennent inutiles. Le tri des imports est aussi intégré, mais désactivé par défaut.

Les langages qui exigent encore un plugin Prettier, comme Astro, se rabattent sur le Prettier installé dans le projet. Avec un plugin non pris en charge, bun fmt affiche une erreur, ignore les fichiers concernés et se termine avec le code 2. La commande bun format existante lance toujours le script format du projet.

Les chiffres de Bun

Ces chiffres viennent de Bun et n'ont pas été vérifiés de façon indépendante.

Testbun fmtComparaison
Dépôt de Prettier, 2 616 fichiers59,7 ms, 48 MoPrettier 3.9.10 : 17,1 s, 459 Mo (286 fois)
vitest, date-fns, monkeytype, h3234 à 425 fois plus rapide que Prettier 3.9.9
vite, avec sa propre configuration65,2 msoxfmt 0.74.0 : 406,7 ms (6,2 fois)
fumadocs, avec sa propre configuration44,6 msoxfmt 0.74.0 : 1 395 ms (31 fois)

Le résumé du billet dit que bun fmt est 3 à 6 fois plus rapide qu'oxfmt, alors que sa propre ligne fumadocs indique 31 fois. Côté résultat, Bun indique que 9 648 des 9 731 tests de formatage de Prettier correspondent, soit 99,1 %. Face à Prettier et ses plugins courants, 97,9 % de la sortie JavaScript et TypeScript était identique.

AICoder, qui a couvert l'arrivée du formateur dans la branche principale de Bun le 12 octobre, citait un autre test. Vérifier le formatage du code source de VS Code prenait 2,9 secondes de CPU avec Bun, contre 295 secondes avec Prettier 3.9.9.

Un bun check et un bun install plus rapides

La version améliore aussi le vérificateur de types arrivé dans Bun 1.4.3 ajoute bun check, un vérificateur de types TypeScript plus rapide. Sur la documentation de MUI, bun check prend désormais 1,31 seconde au lieu de 10,28, et le pic de mémoire passe de 11,2 Go à 1,3 Go. Un projet a ralenti : le src/js de Bun est passé de 0,11 à 0,20 seconde.

bun install migre désormais les lockfiles de Yarn 2 et suivants (« Yarn Berry ») vers bun.lock en conservant les versions figées. Bun 1.4.3 ne gérait que Yarn v1. Les téléchargements ratés sont maintenant relancés jusqu'à cinq fois, avec des délais croissants. « Dans Bun v1.4.3, les cinq tentatives avaient lieu en 5 ms, si bien qu'une brève panne du registre faisait échouer l'installation », écrit Sumner.

La version corrige 271 problèmes et contient des correctifs de sécurité pour TLS, WebSocket, les clients de bases de données et le gestionnaire de paquets, sans donner de détails. Elle affirme aussi que Bun.SQL consomme jusqu'à 48 % de CPU client en moins par requête.

Les changements incompatibles à vérifier

Le billet cite plusieurs changements de comportement dans le texte :

  • Les motifs glob comme {1..3} et !(g)/a.ts sont désormais traités comme des motifs et non comme du texte littéral.
  • bun publish refuse les préversions sans --tag, et --provenance provoque désormais une erreur.
  • Bun.hash() lève une exception sur null et undefined au lieu de les hacher.
  • Les serveurs TLS ne demandent un certificat client que si requestCert: true est défini.
  • La couverture « % Lines » de bun test peut baisser après la mise à jour, donc vérifiez tout coverageThreshold.

Ce que cela signifie pour les développeurs

Bun intègre un formateur compatible avec Prettier dans un outil que beaucoup d'équipes utilisent déjà, ce qui retire une dépendance d'un projet JavaScript.

  • Testez-le en CI avant de basculer. Lancez bun fmt --check sur une branche et comparez le résultat avec Prettier. Avec 97,9 % de sortie identique, attendez-vous à peu de fichiers modifiés.
  • Vérifiez vos plugins. Un plugin Prettier non pris en charge fait sortir bun fmt avec le code 2, ce qui fera échouer une tâche de CI.
  • Mettez à jour pour les correctifs de sécurité. Lancez bun upgrade. Bun cite des correctifs pour TLS et WebSocket, qui comptent surtout pour les serveurs tournant sur Bun.
  • Examinez d'abord les changements incompatibles. Le comportement des globs, les règles de bun publish et les certificats clients TLS ont tous changé. Faites tourner vos tests sur 1.4.4 avant le déploiement.

Sources

  1. Bun v1.4.4 - Bun Blog
  2. Bun adds built-in bun lint and bun fmt: reads ESLint/Prettier configs, 1,021 rules, 2.9s vs Prettier's 295s CPU on vscode format check - AICoder

Articles liés