3.12 Bun实验性

本文档涵盖使用 Bun(一个 TypeScript 运行时)运行仓库,作为标准 Node.js 设置的可选替代方案。

状态与建议

Bun 是"用于直接运行 TypeScript 的可选本地运行时",但请注意"不建议用于 Gateway 运行时(WhatsApp/Telegram 存在 bug)"。生产部署应坚持使用 Node.js。

包管理

虽然 Bun 可用于本地开发,但 pnpm 仍然是构建的默认选择。值得注意的是,Bun 无法读取 pnpm-lock.yaml 文件,因此它维护自己的锁文件。

安装

基本设置使用:

bun install

可以选择通过 --no-save 标志防止锁文件写入:

bun install --no-save

构建命令

开发者可以使用以下命令运行构建和测试:

# 构建
bun run build

# 运行测试
bun run vitest run

生命周期脚本

Bun 可能默认阻止依赖项脚本。文档指出,来自 @whiskeysockets/baileys 等包的常见阻止对此仓库不是必需的,但开发者如有需要可以显式信任脚本。

限制

某些脚本仍需要 pnpm,包括:

  • 文档构建
  • UI 任务
实验性功能
Bun 支持目前是实验性的,生产环境建议使用 Node.js。
提示
完整的 Bun 配置文档请参考 官方英文文档