- Cruller 是 Bun 的一个专注于生产环境的分支,已移植到 Zig 0.16,旨在运行预构建的 JavaScript 服务器。
- 它保留了核心运行时特性,如 JavaScriptCore、Bun.serve、HTTP/1-3、WebSockets、fetch、streams、Blob、Request/Response 以及静态文件服务。
- 移除的子系统包括包管理器、打包器、转译器、Shell、测试运行器、N-API、SQL 客户端和归档支持。
- 移植过程涉及将运行时与 Bun 的修补版 Zig 构建分离,使用原版 Zig 0.16,并加入兼容性垫片和生成的代码嵌入。
- Cruller 有意不作为 Bun 的完整替代品;它是一个用于运行预构建入口点的最小运行时。
- 当前二进制大小为 73.0 MiB,而 Bun 为 88.5 MiB(缩小 18%),在 V8 加密基准测试中性能接近。
- 该项目通过了基本冒烟测试,包括 CJS/ESM 入口点、Node 路径测试以及 HTTP/serve 端点。
- 目前仅支持 Linux x64,开发仍在进行中。