Bun v1.3.10
(bun.com)- REPL sepenuhnya ditulis ulang dengan Zig, menghadirkan eksekusi instan dan UI terminal yang kaya, serta mendukung berbagai fitur seperti salin ke clipboard, pelengkapan tab, dan penyimpanan riwayat
- Dengan perintah kompilasi target browser, dapat dibuat satu file HTML tunggal dengan semuanya di-inline, sehingga bisa dijalankan tanpa server
- Dekorator ES standar TC39 kini didukung penuh, memungkinkan penggunaan sintaks terbaru seperti
accessor,Symbol.metadata, danaddInitializer - Termasuk banyak peningkatan platform dan performa seperti dukungan Windows ARM64, optimasi barrel import, opsi retry untuk test, dan engine JavaScriptCore dengan performa lebih baik
- Secara keseluruhan, ini adalah rilis yang sangat meningkatkan developer experience, performa, dan kompatibilitas Bun
REPL baru
- REPL diganti dengan implementasi native berbasis Zig, sehingga dapat langsung dijalankan tanpa dependensi paket npm eksternal
- Mendukung syntax highlighting, keybinding Emacs, pelengkapan tab, penyimpanan riwayat, input multi-baris, dan lain-lain
- Menyediakan perintah bawaan seperti
.copy,.help,.exit,.editor - Tetap mempertahankan deklarasi
const/let, serta mendukung top-level await dan import/require
--compile --target=browser
bun build --compile --target=browsermenghasilkan HTML dengan JavaScript, CSS, dan aset yang di-inline- Tag
<script src="...">dan<link rel="stylesheet">masing-masing diubah menjadi kode inline - Dapat dijalankan bahkan di lingkungan
file://tanpa batasan CORS - Mendukung TypeScript, JSX, React, CSS, ESM, dan CJS
- Tag
Dekorator ES standar TC39
- Dukungan penuh untuk dekorator standar Stage-3
- Mengimplementasikan spesifikasi terbaru seperti keyword
accessor,Symbol.metadata, danClassMethodDecoratorContext - Mendukung dekorator field, method, dan class serta initializer (
addInitializer) - Dekorator eksperimental TypeScript yang lama (
experimentalDecorators) juga tetap berfungsi
- Mengimplementasikan spesifikasi terbaru seperti keyword
Dukungan Windows ARM64
- Bun kini dapat dijalankan dan di-build di Windows berbasis ARM64 seperti Snapdragon
- Mendukung cross compile ke target
bun-windows-arm64 - Dapat digunakan dengan cara yang sama baik dari CLI maupun API
- Mendukung cross compile ke target
Optimasi barrel import
- Secara otomatis mendeteksi struktur re-export file barrel seperti
import { Button } from 'antd'- Optimasi otomatis aktif saat
"sideEffects": falsedisetel - Dapat ditentukan secara eksplisit lewat opsi
optimizeImports - Dengan hanya mem-parsing submodul yang diperlukan, kecepatan build meningkat hingga 2x
- Optimasi otomatis aktif saat
Optimasi output bundel
- Pada bundel ESM/CJS, jumlah closure dan penggunaan heap memory berkurang
- Jumlah objek turun 11%, ukuran heap berkurang 4MB, dan jumlah fungsi serta objek environment dipangkas signifikan
- Diterapkan otomatis tanpa perubahan kode
bun test --retry
- Kini bisa menetapkan jumlah retry default untuk seluruh test (
--retry N)- Opsi
{ retry: N }pada test individual tetap diprioritaskan - Reporter JUnit XML mencatat tiap percobaan sebagai
<testcase>terpisah
- Opsi
Peningkatan Bun.generateHeapSnapshot("v8")
- Opsi
"arraybuffer"memungkinkan heap snapshot dikembalikan dalam bentuk ArrayBuffer- Menghilangkan overhead konversi string saat menangani snapshot berukuran besar
Pembaruan TLS dan sertifikat
- Performa meningkat berkat dukungan keepalive untuk koneksi mTLS dan CA kustom
- Konfigurasi TLS yang sama dideduplikasi di registry global
- Sertifikat root diperbarui ke NSS 3.119 (Firefox 147.0.3)
- 4 sertifikat root CommScope dihapus
Upgrade engine JavaScriptCore
- Berbagai peningkatan performa termasuk string slicing 168x,
endsWith10,5x, akses flagRegExp1,6x, danpath.parse()hingga 7xstructuredClonemenjadi hingga 25x lebih cepat pada array dan array objekBuffer.slice()dansubarray()meningkat sekitar 1,8x- Ada optimasi internal untuk
BigInt, iterator string, operasi integer, dan lainnya
Perbaikan bug utama
- Menyelesaikan masalah kompatibilitas pipe dengan server MCP Python asyncio (
Bun.spawn) - Kompatibilitas Node.js: banyak perbaikan pada
AsyncLocalStorage,fs.watch, pemrosesan headerhttp, crash terkait GC, dan lainnya - Bun API: memperbaiki crash dan memory leak terkait
spawn,plugin,sql, danbuild - Meningkatkan stabilitas secara umum pada WebSocket, bun install, parser CSS, bun shell, lingkungan Windows, dan lainnya
- Kerentanan keamanan: memperbaiki injeksi header HTTP, penelusuran jalur tarball, kebocoran stream S3, dan lainnya
1 komentar
Saya sudah mengikuti perkembangannya cukup lama dan sesekali memakainya sejak awal, dan kesan yang saya dapat adalah para pengembang Bun benar-benar sungguh-sungguh ingin membuat dunia JS/TS bergerak lebih cepat. Mengesankan. Benar-benar...