导读:Bun的开源项目,了解一下。
对于大多数开源项目来说,从 v1.1 升级到 v1.2 通常不会有什么大事发生。但 Bun 有一些个性,也比较勤奋。
这个团队上周为Bun 1.2 版本发布的博文长达11679 个字,这比《迷失》系列大结局的整个剧本还要长。
但是当你试图重新发明地球上的每一个 JavaScript 构建工具时,我想快速行动是值得的。
让我们仔细看看 Bun 1.2 中的 5 个最大更新,以及它们如何融入 Bun 成为“统治一切的工具链”的计划。
#1 Node.js 兼容性:
Bun 正在努力成为 Node 的直接替代品,因此他们现在已开始在 Bun 本身中运行整个 Node 测试套件。这是一个非常复杂的过程,需要进行数千次测试,但它帮助他们修复了大量错误并增加了对更多 Node API(如cluster、dgram和http2服务器)的支持。
#2 HTML 导入:
这让你可以用单个导入语句替换整个前端工具链。然后,Bun 将扫描 HTML 并自动压缩和打包你的 JS 和 CSS,这样 React 和 Tailwind 等工具就可以正常工作。
这样,Bun 就正式进入了打包器业务。
#3 内置 S3 对象支持:
现在,你可以使用与 Web 标准兼容的 API 从 S3 存储桶中读取、写入和删除文件,例如Blob。
这包括一个Bun.s3用于访问默认 的新 API S3客户端。
#4 Postgres 支持:
Bun 现在使用基于 Promise 的新 API 为 PostgreSQL 数据库提供本机绑定,Bun.sql该 API 以本机代码编写。
它在读取行方面已经比 Node 中最流行的 Postgres 客户端快 50%,并且是 Bun 成为“云优先运行时”的追求的一部分。
#5 基于文本的锁文件
bun install
Bun 的 npm 兼容包管理器将其二进制锁文件替换为名为bun.lock的新基于文本的锁文件。这使得查看拉取请求中的差异变得容易得多,并且不太可能导致合并冲突。不知何故,bun install现在也比 Bun 1.1 快了 30%以上。
结语
多年来,我们看到多个项目尝试构建 JavaScript 的一体化工具链,但都以失败告终。但考虑到 Bun 团队的交付速度,他们可能已经疯狂到可以实现这一目标。
作者:场长
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。