Skip to content

Bun(实验性)

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

⚠️ 不推荐用作 Gateway runtime(WhatsApp/Telegram 相关 bug)。生产环境请使用 Node。

状态

  • Bun 可以作为可选的本地 runtime,用于直接运行 TypeScript(bun run …bun --watch …)。
  • pnpm 仍是默认构建工具,并保持完整支持(一些 docs 工具也依赖 pnpm)。
  • Bun 不能使用 pnpm-lock.yaml,并会忽略它。

安装

默认:

sh
bun install

注意:bun.lock/bun.lockb 已被 gitignore,所以无论哪种方式都不会造成 repo 变脏。如果你希望 不写 lockfile

sh
bun install --no-save

构建 / 测试(Bun)

sh
bun run build
bun run vitest run

Bun lifecycle scripts(默认会被阻止)

Bun 可能会阻止依赖的 lifecycle scripts,除非你显式信任它们(bun pm untrusted / bun pm trust)。 对这个仓库来说,常见被阻止的脚本通常并不必需:

  • @whiskeysockets/baileyspreinstall:检查 Node major >= 20(我们用 Node 22+)。
  • protobufjspostinstall:会输出关于版本 scheme 的警告(不会生成构建产物)。

如果你确实遇到需要这些脚本才能修复的运行时问题,可以显式信任:

sh
bun pm trust @whiskeysockets/baileys protobufjs

注意事项

  • 部分脚本仍硬编码 pnpm(例如 docs:buildui:*protocol:check)。这些目前请用 pnpm 运行。