您现在的位置是:首页 > 文章详情

Bun 1.0.26 版本发布:Windows 版即将在 2 月 15 日发布

日期:2024-02-04点击:79

近日,Bun的开发者Jarred Sumner宣布了JavaScript运行时环境Bun的最新版本——1.0.26的发布。Bun不仅是一个运行时环境,还集成了打包器、转译器和包管理器的功能。在这个新版本中,Bun带来了一系列的改进和修复,包括解决了30个bug,增加了对bun:sqlite中多语句查询的支持,提升了bun --watch在长时间运行中的可靠性,以及对Bun.FileSystemRouter的路由数量进行了扩展。

具体到功能改进上,Bun 1.0.26版本增加了对bun:sqlite多语句查询的支持。这意味着开发者可以在单次调用db.run()时执行多个SQL语句,提高了开发效率和灵活性。此外,bun --watch命令在这个版本中得到了改进,增加了防御性的文件描述符关闭机制,以防在监视大量文件时出现资源耗尽等问题。在Linux系统中,Bun使用了close_range(2)系统调用,在重新加载进程之前关闭所有文件描述符,而在macOS上,通过使用POSIX_SPAWN_CLOEXEC_DEFAULT标志实现了类似的功能。

值得一提的是,Bun的FileSystemRouter现在支持超过64条路由。之前版本中,使用超过64条路由时会引发无法捕获的异常,这一问题已经在1.0.26版本中得到了修复。

此外,关于错误处理方面,Bun修复了error.stack有时返回undefined的问题,并且解决了error.stack CallSite lineNumber有时为负数的问题。此外,Bun还修复了Error.prepareStackTrace默认未定义的问题,使其行为与Node.js保持一致。

关于测试方面,Bun解决了expect(a).toStrictEqual(b)在比较带有删除属性的对象时的错误处理问题。之前的版本中,这可能会引发一个带有空diff的错误,而现在这一问题已经得到了正确的处理。

在网络通信方面,Bun修复了Bun.serve()中WebSocket的事件循环调度问题,保证在执行事件循环回调后总是清空微任务队列,避免内存过高增长的问题。

在对Node.js兼容性的提升上,Bun 1.0.26版本对module.path进行了修正,使其行为更加符合Node.js的规范。另外,该版本对new Response(Bun.file())偶尔在stderr中记录错误的问题也进行了修复。

值得关注的是,Bun在Windows平台的支持也在稳步推进中。虽然目前78%的测试已通过,但开发团队认为这还不足以发布Windows版本。大部分在此版本中的更改都与Windows相关,但由于尚未正式发布,因此在此次更新日志中并未涉及。

Bun的这些更新显示了它作为一个现代JavaScript工具的持续成长和完善。对于开发者而言,这意味着更高的效率和更稳定的开发体验。随着Windows版本的即将到来,Bun的受众和应用范围预计将会进一步扩大。

原文链接:https://www.oschina.net/news/277652
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章