代码bug率,Bun是一个令人惊叹的快速的JavaScript运行时、打包器、转译器和包管理器,集多种功能于一身。在过去的几个月里,Bun团队频繁发布更新,不断提升Bun的强大与稳定。Bun 0.7.3版本带来了哪些重要更新呢?让我们来看看。
测试覆盖率报告
Bun测试现在内置支持代码覆盖率报告。只需添加--coverage参数,就可以在终端看到覆盖率报告。这对检查代码质量、发现潜在错误非常有帮助。未来版本还将提供更加详细的序列化报告。
bun test --coverage
正则表达式过滤测试
Bun测试新增了根据正则表达式过滤测试的功能。通过-t参数可以运行匹配指定模式的测试,方便快速定位和执行特定测试用例。
bun test -t /foo/
Bun插件机制优化
推荐使用--preload来加载Bun插件,确保插件在其他代码加载前启动。这可以避免潜在问题和冲突。当然,也可以在bunfig.toml中配置preload。
// my markdown plugin import { plugin, file } from "bun"; plugin({ name: "Markdown", async setup(builder) { builder.onLoad({ filter: /.(md)$/ }, async ({ path }) => { console.log(`[markdown-loader] ${path}`); const contents = await file(path).text(); const slug = path.split("/").slice(-1)[0].slice(0, -3); return { exports: { slug, contents, }, loader: "object", }; }); }, });
修复多处bug与崩溃
- 修复了bun:sqlite在列返回超过64个字符字符串时崩溃的问题。
- 修复了Node.js异步fs函数中的线程安全问题,避免传入线程本地字符串导致崩溃。
- 修复了Buffer.copy的bug。
- 修复了bun init路径问题。
- 修复了workspace:*依赖查找失败的bug。
增强Node.js兼容性
-
node:dns模块新增dns.getServers()。
- node:module模块新增Module.wrap()。
- 多处Web API变为可写,增强与Angular兼容性。
Bun 0.7.3是一个值得期待的重要更新,为JavaScript开发带来了更高效更稳定的运行时。如果你还未尝试Bun,现在就是最佳时机!
比 Protocol Buffers 快无限倍,开源十年后 Cap'n Proto 1.0 终发布 华为正式发布 HarmonyOS 4 华中科技大学博士后复现 LK-99 磁悬浮现象 miniblink 108 版本成功编译,全球最小 Chromium 内核 龙芯中科研制成功新一代处理器龙芯 3A6000 ChromeOS 将浏览器和操作系统拆分独立 特斯拉中国商城上架 1TB 固态硬盘,售价 2720 元 哔哩哔哩(B 站)站又崩了 Vim 之父 Bram Moolenaar 因病逝世 火绒安全升级版本,导致所有基于 Electron 的应用卡顿