Bun (sperimentale)

Obiettivo: eseguire questo repo con Bun (opzionale, sconsigliato per WhatsApp/Telegram) senza divergere dai workflow pnpm.

⚠️ Sconsigliato per il runtime del Gateway (bug con WhatsApp/Telegram). Usa Node in produzione.

Stato

  • Bun e un runtime locale opzionale per eseguire TypeScript direttamente (bun run …, bun --watch …).
  • pnpm e il default per i build e rimane pienamente supportato (ed e usato da alcuni strumenti di documentazione).
  • Bun non puo usare pnpm-lock.yaml e lo ignorera.

Installazione

Default:

bun install

Nota: bun.lock/bun.lockb sono nel gitignore, quindi nessun inquinamento del repo. Se non vuoi nessuna scrittura di lockfile:

bun install --no-save

Build / Test (Bun)

bun run build
bun run vitest run

Script lifecycle di Bun (bloccati per default)

Bun puo bloccare gli script lifecycle delle dipendenze a meno che non siano esplicitamente approvati (bun pm untrusted / bun pm trust). Per questo repo, gli script comunemente bloccati non sono necessari:

  • @whiskeysockets/baileys preinstall: controlla che la versione major di Node >= 20 (OpenClaw usa Node 24 per default e supporta ancora Node 22 LTS, attualmente 22.16+).
  • protobufjs postinstall: emette avvisi su schemi di versione incompatibili (nessun artefatto di build).

Se riscontri un vero problema a runtime che richiede questi script, approvali esplicitamente:

bun pm trust @whiskeysockets/baileys protobufjs

Avvertenze

  • Alcuni script hanno ancora pnpm hardcoded (es. docs:build, ui:*, protocol:check). Eseguili via pnpm per ora.