Bun(實驗性)

目標:以 Bun 執行此儲存庫(選用,不建議用於 WhatsApp/Telegram), 同時不偏離 pnpm 工作流程。

不建議用於閘道 runtime(WhatsApp/Telegram 有 bug)。正式環境請使用 Node。

狀態

  • Bun 是選用的本機 runtime,用於直接執行 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 lifecycle 腳本(預設封鎖)

Bun 可能封鎖相依套件的 lifecycle 腳本,除非明確信任(bun pm untrusted / bun pm trust)。 在此儲存庫中,常被封鎖的腳本並非必要:

  • @whiskeysockets/baileys preinstall:檢查 Node major >= 20(OpenClaw 預設使用 Node 24,且仍支援 Node 22 LTS,目前 22.16+)。
  • protobufjs postinstall:輸出版本配置不相容的警告(無建置產物)。

如果遇到需要這些腳本的實際 runtime 問題,請明確信任:

bun pm trust @whiskeysockets/baileys protobufjs

限制

  • 部分腳本仍寫死使用 pnpm(如 docs:buildui:*protocol:check)。目前請透過 pnpm 執行。