Bun (experimental)

Objetivo: ejecutar este repositorio con Bun (opcional, no recomendado para WhatsApp/Telegram) sin divergir de los flujos de trabajo de pnpm.

⚠️ No recomendado para el runtime del Gateway (bugs con WhatsApp/Telegram). Usa Node para producción.

Estado

  • Bun es un runtime local opcional para ejecutar TypeScript directamente (bun run …, bun --watch …).
  • pnpm es el valor predeterminado para compilaciones y sigue completamente soportado (y usado por algunas herramientas de documentación).
  • Bun no puede usar pnpm-lock.yaml y lo ignora.

Instalación

Por defecto:

bun install

Nota: bun.lock/bun.lockb están en el gitignore, así que no genera cambios en el repositorio de ninguna forma. Si quieres evitar la escritura del lockfile:

bun install --no-save

Compilar / Probar (Bun)

bun run build
bun run vitest run

Scripts de ciclo de vida de Bun (bloqueados por defecto)

Bun puede bloquear los scripts de ciclo de vida de dependencias a menos que se confíe explícitamente (bun pm untrusted / bun pm trust). Para este repositorio, los scripts comúnmente bloqueados no son necesarios:

  • @whiskeysockets/baileys preinstall: verifica que la versión mayor de Node sea >= 20 (OpenClaw usa Node 24 por defecto y sigue siendo compatible con Node 22 LTS, actualmente 22.16+).
  • protobufjs postinstall: emite advertencias sobre esquemas de versión incompatibles (sin artefactos de compilación).

Si encuentras un problema real en runtime que requiera estos scripts, confía en ellos explícitamente:

bun pm trust @whiskeysockets/baileys protobufjs

Advertencias

  • Algunos scripts todavía tienen pnpm hardcodeado (por ejemplo docs:build, ui:*, protocol:check). Ejecútalos con pnpm por ahora.