Bun(实验性)

目标:用 Bun 运行这个仓库(可选,不推荐用于 WhatsApp/Telegram),同时不偏离 pnpm 工作流。

⚠️ 不推荐用于 Gateway 运行时(WhatsApp/Telegram 有 bug)。生产环境请用 Node。

状态

  • Bun 是一个可选的本地运行时,用于直接运行 TypeScript(bun run …bun --watch …)。
  • pnpm 是构建的默认工具,仍然完全支持(某些文档工具也在用)。
  • Bun 无法使用 pnpm-lock.yaml,会忽略它。

安装

默认方式:

bun install

注意:bun.lock/bun.lockb 已被 gitignore,所以不会产生仓库变更。如果你想 不写入锁文件

bun install --no-save

构建 / 测试(Bun)

bun run build
bun run vitest run

Bun 生命周期脚本(默认被阻止)

Bun 可能会阻止依赖的生命周期脚本,除非明确信任(bun pm untrusted / bun pm trust)。 对于这个仓库,常见被阻止的脚本其实不需要:

  • @whiskeysockets/baileyspreinstall:检查 Node 主版本 >= 20(我们运行 Node 22+)。
  • protobufjspostinstall:发出关于不兼容版本方案的警告(没有构建产物)。

如果你遇到真正需要这些脚本的运行时问题,可以明确信任它们:

bun pm trust @whiskeysockets/baileys protobufjs

注意事项

  • 有些脚本仍然硬编码了 pnpm(例如 docs:buildui:*protocol:check)。暂时用 pnpm 运行这些脚本。