跳到主要内容

Bun (实验性)

目标:在不偏离 pnpm 工作流的情况下,使用 Bun 运行此仓库(可选,不推荐用于 WhatsApp/Telegram)。

⚠️ 不推荐用于网关运行时(WhatsApp/Telegram 存在 bug)。生产环境请使用 Node。

状态

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

安装

默认:

bun install

注意:bun.lock/bun.lockb 已被 gitignore,因此无论如何都不会对仓库产生变动。如果你不想 写入 lockfile

bun install --no-save

构建 / 测试 (Bun)

bun run build
bun run vitest run

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

Bun 可能会阻塞依赖项的生命周期脚本,除非显式信任(bun pm untrusted / bun pm trust)。 对于此仓库,通常被阻塞的脚本不是必需的:

  • @whiskeysockets/baileys preinstall: 检查 Node 主版本 >= 20(我们运行的是 Node 22+)。
  • protobufjs postinstall: 发出关于不兼容版本方案的警告(无构建产物)。

如果你遇到了需要这些脚本的真实运行时问题,请显式信任它们:

bun pm trust @whiskeysockets/baileys protobufjs

注意事项

  • 某些脚本仍然硬编码了 pnpm(例如 docs:build, ui:*, protocol:check)。目前请通过 pnpm 运行这些脚本。