Bun 是采用 Zig 语言编写的高性能 “全家桶” JavaScript 运行时,官方称其为 "all-in-one JavaScript runtime"。
所谓 "all in one",是因为 Bun 提供了打包、转译、安装和运行 JavaScript & TypeScript 项目的功能,内置原生打包器 (native bundler)、转译器、task runner、npm 客户端,以及 fetch
、WebSocket
等 Web API。
Bun 刚刚发布了 v0.8.0,新版本主要变化:
- 添加调试器支持
Bun 通过 WebKit 的 Inspector Protocol 实现了调试器支持。要使用它,需开启--inspect
flag 运行文件或脚本。
- 实现 fetch streaming
Bun 现已实现fetch()
response body streaming。因此开发者现在可以从 fetch response 流式传输数据,无需等待下载整个 response。
- 支持 SvelteKit
node:tty
中的 ReadStream 和 WriteStream 已实现,并且.setRawMode()
现在可以在process.stdin
上运行,从而支持多个交互式 CLI 工具。- 其他变化包括 Node.js 兼容性更新、错误修复和稳定性改进
插播预告:Bun 1.0 将于 9 月 7 日发布,https://bun.sh/1.0
详情查看发布公告。