Bun 1.1 Release
(bun.sh)Windows-Unterstützung
- Bun kann unter Windows 10 und neuer ausgeführt werden
- Besteht 98 % der Bun-Testsuite von macOS und Linux
- Mit integriertem npm-kompatiblem Paketmanager ist die Installation einer Vite-React-App 18-mal schneller als mit
yarnund 30-mal schneller als mitnpm - Unterstützt schnellere Skriptausführung unter Windows mit dem Dateiformat
.bunx - Optimiert die Node.js-API unter Windows durch Nutzung der schnellsten Systemaufrufe
- Beispiel:
fs.readdir()ist 58 % schneller als bei Node.js
- Beispiel:
Bun ist eine JavaScript-Runtime
- Unterstützt JavaScript, TypeScript und JSX
- Kommandozeilen-Tools wie
tscsind bis zu 2-mal schneller als in Bun 1.0 - Bun Shell ist jetzt eine plattformübergreifende Shell, die auch unter Windows verfügbar ist
- Enthält Core-Utilities wie
ls,rm,catusw. - Shell kann aus JavaScript und TypeScript über die API
Bun.$ausgeführt werden
- Enthält Core-Utilities wie
Bun.Glob- Bietet eine integrierte Glob-API für Datei- und String-Matching
- Ähnlich wie
fast-globundmicromatch, aber beim String-Matching 3-mal schneller
Bun.Semver- Neue Semver-API zum Parsen und Sortieren von semver-Strings
- Ähnlich wie das Paket
node-semver, aber 20-mal schneller Bun.stringWidth()- Neue API zur Messung der sichtbaren Breite von Strings im Terminal
- Unterstützt ANSI-Escape-Codes, vollbreite Zeichen, Grapheme und Emojis
server.url: Mit der Eigenschaftserver.urlkann die URL eines mitBun.serve()erstellten HTTP-Servers abgerufen werdenserver.requestIP(): Mit der Methodeserver.requestIP()kann die IP-Adresse einer HTTP-Anfrage abgerufen werdensubprocess.resourceUsage(): Auf die CPU- und Speicherauslastung eines mitBun.spawn()erzeugten Unterprozesses kann über die MethoderesourceUsage()zugegriffen werden- Verbesserte Node.js-Kompatibilität
- Verschiedene API-Verbesserungen, darunter Unterstützung für die Client-API von
node:http2,Date.parse()-Kompatibilität und rekursivesfs.readdir() - IPC zwischen Bun und Node.js möglich
- Unterstützt auch einige nicht dokumentierte Node.js-APIs
- Verschiedene API-Verbesserungen, darunter Unterstützung für die Client-API von
- Web API: Unterstützung für standardisierte Web-APIs wie
WebSocket,performance.mark(),fetch()mit Brotli-Komprimierung undURL.canParse()
Bun ist ein npm-kompatibler Paketmanager
- Mit
bun installlassen sich npm-Pakete bis zu 29-mal schneller installieren - Verbesserungen bei Lifecycle-Skripten,
trustedDependencies,bun pm trustund weiteren Funktionen
Bun ist ein JavaScript-Bundler
- Unterstützt das Bundling von unter Node.js ausführbarem Code mit
bun build --target=node - Mit dem Flag
--compilekönnen TypeScript- und JavaScript-Dateien zu ausführbaren Einzeldateien kompiliert werden
Bun ist ein Test-Runner
- Bietet ein integriertes Testmodul mit derselben API wie Jest
- Neue
expect()-Matcher hinzugefügt und Unterstützung für Module-Mocking
Integrierte SQLite-Unterstützung
- SQLite-Unterstützung mit einer von
better-sqlite3inspirierten API - Verbesserungen bei Multi-Statement-Queries, detaillierten Fehlermeldungen, Datenbankimport und integrierter Unterstützung
Meinung von GN⁺
- Bun ist ein JavaScript-Toolkit, das die Performance bei gleichzeitiger Kompatibilität mit Node.js deutlich verbessert und durch die Windows-Unterstützung eine breitere Entwickler-Community erreichen kann.
- Der integrierte Test-Runner und die SQLite-Unterstützung ermöglichen es Entwicklern, auch ohne zusätzliche Tools effizient zu arbeiten.
- Die hohe Geschwindigkeit von Bun und die verbesserte Developer Experience können sich besonders bei großen Projekten oder performancekritischen Anwendungen bemerkbar machen.
- Trotz der vielen Funktionen und Verbesserungen von Bun sind kontinuierliche Weiterentwicklung und Feedback aus der Community nötig, um vollständige Kompatibilität mit dem breiten Paket-Ökosystem von Node.js zu erreichen.
- Es braucht weitere Analysen dazu, wie die neuen Funktionen von Bun mit bestehenden Node.js-basierten Tools konkurrieren oder mit ihnen zusammenarbeiten können.
1 Kommentare
Hacker-News-Kommentare
Beeindruckende Liste an Änderungen in Bun
Buns Makro-Funktion
Fragen zum Einsatz von Bun und Deno
Ein großer Fan von Bun
Einschätzung zum neuen Bun-Release
.js-Einstiegspunkt eines Projekts und die Runtime zu bündeln, um eine ausführbare Datei ohne Abhängigkeiten zu erzeugen. Das ist nützlich, wenn man Nutzern ein einzelnes Binary bereitstellen möchte, allerdings ist die Dateigröße derzeit noch recht groß (bei kleinen Projekten unter GNU/Linux über 90 MB).Bitte an das Bun-Team
Beteiligung eines Bun-Entwicklers
Fragen zur Stabilität von Bun
Buns Erlösmodell und VC-Finanzierung