Zum Inhalt springen

Bun 1.4.4 bringt bun fmt, einen Prettier-kompatiblen Formatierer

Bun 1.4.4, erschienen am 22. Oktober 2026, bringt bun fmt, einen Prettier-kompatiblen Formatierer, der laut Bun Prettiers eigenes Repo 286-mal schneller prüft als Prettier.

Von Tech AI Wire Team

4 Min. Lesezeit

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

Die Zahlen

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, erschienen am 22. Oktober 2026, bringt bun fmt, einen Code-Formatierer, der direkt in die Laufzeitumgebung Bun eingebaut ist und Ihre vorhandene Prettier-Konfiguration liest. Auf Prettiers eigenem Repository braucht bun fmt --check laut Bun 59,7 Millisekunden, Prettier dagegen 17,1 Sekunden. Die Version beschleunigt außerdem bun check und migriert Lockfiles von Yarn Berry.

Bun ist eine JavaScript-Laufzeitumgebung, die auch einen Paketmanager, einen Test-Runner und einen Typprüfer mitbringt. Ein Formatierer schreibt Code in einen einheitlichen Stil um, damit Teams nicht mehr über Leerzeichen und Zeilenumbrüche streiten.

Was bun fmt macht

bun fmt ist eine Portierung von Prettier, einem weit verbreiteten JavaScript-Formatierer, so die Release Notes zu Bun v1.4.4 von Jarred Sumner. Es liest die Konfigurationsdateien, die ein Projekt bereits hat:

  • .prettierrc*, prettier.config.* und den Schlüssel prettier in package.json
  • .editorconfig und .prettierignore
  • Konfigurationen für oxfmt, einen anderen Formatierer
  • einen Abschnitt [fmt] in bunfig.toml

Es formatiert unter anderem JavaScript, TypeScript, JSX, CSS, SCSS, HTML, Vue, Svelte, JSON, YAML, TOML, Markdown, MDX und GraphQL. Das Sortieren von Tailwind-Klassen, das Sortieren der Schlüssel in package.json und die Unterstützung für Svelte sind eingebaut, sodass diese Prettier-Plugins nicht nötig sind. Das Sortieren von Imports ist ebenfalls eingebaut, aber standardmäßig ausgeschaltet.

Sprachen, die noch ein Prettier-Plugin brauchen, etwa Astro, fallen auf das im Projekt installierte Prettier zurück. Bei einem nicht unterstützten Plugin gibt bun fmt einen Fehler aus, überspringt die betroffenen Dateien und endet mit Exit-Code 2. Der bestehende Befehl bun format führt weiterhin das eigene format-Skript eines Projekts aus.

Buns Benchmark-Zahlen

Diese Werte stammen von Bun selbst und wurden nicht unabhängig geprüft.

Testbun fmtVergleich
Prettiers Repo, 2.616 Dateien59,7 ms, 48 MBPrettier 3.9.10: 17,1 s, 459 MB (286-mal)
vitest, date-fns, monkeytype, h3234- bis 425-mal schneller als Prettier 3.9.9
vite, mit eigener Konfiguration65,2 msoxfmt 0.74.0: 406,7 ms (6,2-mal)
fumadocs, mit eigener Konfiguration44,6 msoxfmt 0.74.0: 1.395 ms (31-mal)

Die Zusammenfassung des Beitrags sagt, bun fmt sei 3- bis 6-mal schneller als oxfmt, doch die eigene fumadocs-Zeile zeigt das 31-Fache. Beim Ergebnis meldet Bun, dass 9.648 von 9.731 Prettier-Formatierungstests übereinstimmen, also 99,1 %. Im Vergleich mit Prettier und seinen gängigen Plugins war die Ausgabe für JavaScript und TypeScript zu 97,9 % identisch.

AICoder berichtete schon, als der Formatierer am 12. Oktober in Buns Main-Branch landete, von einem anderen Test. Die Formatprüfung des VS-Code-Quellcodes brauchte mit Bun 2,9 Sekunden CPU-Zeit, mit Prettier 3.9.9 dagegen 295 Sekunden.

Schnelleres bun check und bun install

Die Version baut auch auf dem Typprüfer auf, der in Bun 1.4.3 bringt bun check, einen schnelleren TypeScript-Typprüfer kam. Bei der MUI-Dokumentation braucht bun check jetzt 1,31 statt 10,28 Sekunden, und der Spitzenspeicher fällt von 11,2 GB auf 1,3 GB. Ein Projekt wurde langsamer: Buns eigenes src/js stieg von 0,11 auf 0,20 Sekunden.

bun install migriert jetzt Lockfiles von Yarn 2 und neuer („Yarn Berry“) nach bun.lock und behält die festgelegten Versionen. Bun 1.4.3 konnte nur Yarn v1. Fehlgeschlagene Downloads werden nun bis zu fünfmal mit wachsenden Pausen wiederholt. „In Bun v1.4.3 passierten alle fünf Wiederholungen innerhalb von 5 ms, sodass ein kurzer Ausfall der Registry die Installation scheitern ließ“, schreibt Sumner.

Die Version behebt 271 Probleme und enthält Sicherheitskorrekturen für TLS, WebSocket, die Datenbank-Clients und den Paketmanager, nennt aber keine Details. Außerdem soll Bun.SQL pro Abfrage bis zu 48 % weniger CPU auf dem Client brauchen.

Inkompatible Änderungen, die man prüfen sollte

Der Beitrag nennt mehrere Verhaltensänderungen im Text:

  • Glob-Muster wie {1..3} und !(g)/a.ts gelten jetzt als Muster statt als wörtlicher Text.
  • bun publish lehnt Vorabversionen ohne --tag ab, und --provenance löst jetzt einen Fehler aus.
  • Bun.hash() wirft bei null und undefined einen Fehler, statt sie zu hashen.
  • TLS-Server fordern Client-Zertifikate nur noch an, wenn requestCert: true gesetzt ist.
  • Die Abdeckung „% Lines“ in bun test kann nach dem Upgrade sinken, prüfen Sie also jede coverageThreshold.

Was das für Entwickler bedeutet

Bun baut einen Prettier-kompatiblen Formatierer in ein Werkzeug ein, das viele Teams schon nutzen, und spart damit eine Abhängigkeit in JavaScript-Projekten.

  • Erst in der CI testen, dann umsteigen. Lassen Sie bun fmt --check auf einem Branch laufen und vergleichen Sie das Ergebnis mit Prettier. Bei 97,9 % identischer Ausgabe sollten nur wenige Dateien abweichen.
  • Plugins prüfen. Ein nicht unterstütztes Prettier-Plugin lässt bun fmt mit Exit-Code 2 enden, was einen CI-Job scheitern lässt.
  • Wegen der Sicherheitskorrekturen aktualisieren. Führen Sie bun upgrade aus. Bun nennt Korrekturen für TLS und WebSocket, die vor allem für Server auf Bun wichtig sind.
  • Zuerst die inkompatiblen Änderungen prüfen. Glob-Verhalten, die Regeln für bun publish und TLS-Client-Zertifikate haben sich geändert. Lassen Sie Ihre Tests auf 1.4.4 laufen, bevor Sie ausrollen.

Quellen

  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

Ähnliche Artikel