
阅读《2024 中国开源开发者报告》赢大奖,扫码申请享特权

开源JavaScript运行时Bun于近日发布了1.2.3版本,此次更新修复了128个bug,并带来多项重要改进。其中最引人注目的是对Glob功能的全面重写和优化,这使得Bun的Glob实现了性能与正确性的双重突破。
Glob模式匹配是现代构建工具的核心功能之一,用于快速查找和过滤文件。此次更新中,Bun团队将Rust生态系统中广受好评的fast-glob库移植到了Bun中,这不仅带来了显著的性能提升,更确保了匹配结果的准确性。新版本特别优化了目录匹配和"**"通配符模式的处理,解决了之前版本中存在的多个关键bug。这一改进使得Bun的Glob实现不仅在速度上领先业界,在可靠性方面也达到了一个新的高度。
除了Glob的重大改进,Bun 1.2.3还为开发者带来了一个全功能的前端开发工具链。现在开发者可以直接通过执行HTML文件来启动开发服务器,支持React的热重载功能,并计划在未来支持Svelte和Vue等框架。这种零配置的开发体验大大简化了前端项目的启动流程。
在Web应用开发方面,Bun.serve()新增了内置路由功能,支持动态路径参数和异步响应,使得全栈应用的开发变得更加流畅。开发者现在可以在同一个进程中运行前端和后端代码,无需额外的代理服务器或URL重写配置。
数据库方面,Bun.SQL得到了显著增强,新增了sql.array、SQL片段和sql.file等功能,并修复了多个关键bug。新版本支持多语句查询执行、可配置的预处理语句,以及改进的数组支持,这些改进使得Bun在处理复杂数据库操作时更加可靠。
在性能优化方面,此版本引入了新的WebAssembly解释器IPInt,取代了原有的LLInt解释器。这一改变显著减少了WebAssembly代码的启动时间和内存占用,因为新的解释器可以直接执行WebAssembly代码,而无需先将其转换为不同的字节码格式。
Node.js兼容性也得到了进一步加强,特别是在Buffer处理和Node-API(napi)方面。现在支持完整的证书包加载,Buffer的多个核心方法得到了改进,确保了与Node.js生态系统的更好兼容性。
其他值得注意的改进包括:优化了文件流的内存使用、改进了CSS处理、修复了FormData边界引号问题,以及增强了UDP多播成员资格的稳定性等。此版本还改进了命令行帮助显示,使得标志参数的使用更加直观。
这次更新得到了开源社区的广泛支持,共有23位贡献者参与其中。特别值得一提的是,probably-neb和zackradisic在改进Glob功能方面做出了重要贡献,而其他贡献者也在各个方面帮助提升了Bun的整体质量。
总的来说,Bun 1.2.3的发布标志着这个年轻的JavaScript运行时在性能、功能性和可靠性方面都达到了一个新的水平。特别是新的Glob实现,不仅展示了项目团队的技术实力,也为未来的发展奠定了坚实的基础。随着更多功能的完善和性能的提升,Bun正在逐步实现其成为主流JavaScript运行时的目标。
还没有评论,来说两句吧...