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/baileyspreinstall:檢查 Node major >= 20(OpenClaw 預設使用 Node 24,且仍支援 Node 22 LTS,目前22.16+)。protobufjspostinstall:輸出版本配置不相容的警告(無建置產物)。
如果遇到需要這些腳本的實際 runtime 問題,請明確信任:
bun pm trust @whiskeysockets/baileys protobufjs
限制
- 部分腳本仍寫死使用 pnpm(如
docs:build、ui:*、protocol:check)。目前請透過 pnpm 執行。