Products
GG网络技术分享 2025-03-18 16:16 0
Bun 的最新版本 1.0.19 为 JavaScript 和 TypeScript 运行环境带来了一系列重要更新。这个版本在性能、兼容性和可用性方面进行了显著改进,解决了多个问题,并提高了整体的开发者体验。
Bun 1.0.19 中的一个突出更新是重新引入 @types/bun,此前称为 bun-types。这一变化极大地简化了 Bun 与 TypeScript 的整合,解决了先前实现中的一些问题。开发者不再需要为 Bun 特别配置 tsconfig.json,而新包无缝重导出 @types/node 包,确保了兼容性和易用性。
对于 JavaScript 生态系统的安全来说,Bun 1.0.19 现在完全支持 bcrypt 和 argon2 包,这是对 N-API 兼容性改进的重要一步。这一更新允许开发者在 Bun 环境中使用这些流行的加密包进行安全的密码哈希和验证,使 Bun 成为构建安全应用程序的更加多功能的平台。
Bun 1.0.19 引入了几项性能增强。setTimeout 和 setInterval 的实现在 Linux x64 系统上现在快了四倍,这要归功于一种新的计时器堆,它有效地管理计时器。对于严重依赖计时器操作的应用程序来说,这一改进至关重要,提供了显著更好的性能和资源利用。
此外,针对 Linux 系统上处理大量输入的 Bun.spawnSync 进行了优化,为具有大量输出的子进程提供了 50% 的性能提升。Bun.peek() 函数也实现了惊人的 90 倍速度提升,而使用 expect(...).toEqual 比较 Map 实例现在快了 100 倍,这对于广泛依赖这些功能的应用程序来说,是一大益处。
Bun 1.0.19 引入了更好的错误处理,特别是对于使用 await 在 async 函数外部这类常见错误。这次更新提供了更有信息量的错误消息,帮助开发者调试并提高代码质量。此版本还解决了 bun:test 中模块模拟的问题,通过直接使用模块指定符使其更直观。
新版本记录了安装后脚本的执行速度,帮助开发者在包安装期间识别性能瓶颈。此外,bun install --verbose 现在将安装后脚本的输出实时流式传输,提供实时反馈,增强了安装包过程的透明度。
Bun 1.0.19 修复了一系列问题,包括与 --frozen-lockfile 标志相关的问题、TypeScript 解析器的边缘案例以及与环境变量相关的回归。此更新还带来了 SQLite 版本的升级(至 v3.44.2),确保内嵌的 SQLite 客户端保持最新和安全。
Demand feedback