Bun(実験的)

目標:pnpm ワークフローから大きく外れることなく、Bun でこのリポジトリを実行すること(任意、WhatsApp/Telegram には非推奨)。

⚠️ Gateway ランタイムとしては非推奨(WhatsApp/Telegram でバグが発生します)。本番環境では 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 を確認するもの(OpenClaw は Node 24 をデフォルトとし、Node 22 LTS、現在 22.16+ もサポート)。
  • protobufjspostinstall:互換性のないバージョンスキームに関する警告を出力するもの(ビルド成果物なし)。

これらのスクリプトが実際に必要なランタイムの問題が発生した場合は、明示的に信頼してください:

bun pm trust @whiskeysockets/baileys protobufjs

注意事項

  • 一部のスクリプトは依然として pnpm をハードコードしています(例:docs:buildui:*protocol:check)。これらは当面 pnpm で実行してください。