Bun (experimental)

Objetivo: executar este repositorio com Bun (opcional, nao recomendado para WhatsApp/Telegram) sem divergir dos workflows pnpm.

⚠️ Nao recomendado para o runtime do Gateway (bugs com WhatsApp/Telegram). Use Node em producao.

Status

  • O Bun e um runtime local opcional para executar TypeScript diretamente (bun run …, bun --watch …).
  • O pnpm e o padrao para builds e continua totalmente suportado (e usado por algumas ferramentas de documentacao).
  • O Bun nao consegue usar pnpm-lock.yaml e vai ignora-lo.

Instalacao

Padrao:

bun install

Observacao: bun.lock/bun.lockb estao no gitignore, entao nao ha poluicao no repositorio. Se voce nao quer nenhuma escrita de lockfile:

bun install --no-save

Build / Test (Bun)

bun run build
bun run vitest run

Scripts de lifecycle do Bun (bloqueados por padrao)

O Bun pode bloquear scripts de lifecycle de dependencias a menos que sejam explicitamente aprovados (bun pm untrusted / bun pm trust). Para este repositorio, os scripts comumente bloqueados nao sao necessarios:

  • @whiskeysockets/baileys preinstall: verifica se a versao major do Node >= 20 (OpenClaw usa Node 24 por padrao e ainda suporta Node 22 LTS, atualmente 22.16+).
  • protobufjs postinstall: emite avisos sobre esquemas de versao incompativeis (sem artefatos de build).

Se voce encontrar um problema real em runtime que exija esses scripts, aprove-os explicitamente:

bun pm trust @whiskeysockets/baileys protobufjs

Ressalvas

  • Alguns scripts ainda tem pnpm hardcoded (por exemplo docs:build, ui:*, protocol:check). Execute-os via pnpm por enquanto.