Bun (experimentell)

Ziel: Dieses Repo mit Bun ausführen (optional, nicht empfohlen für WhatsApp/Telegram), ohne von den pnpm-Workflows abzuweichen.

⚠️ Nicht empfohlen für Gateway Runtime (WhatsApp/Telegram Bugs). Nutze Node für Produktion.

Status

  • Bun ist eine optionale lokale Runtime, um TypeScript direkt auszuführen (bun run …, bun --watch …).
  • pnpm bleibt der Standard für Builds und wird weiterhin vollständig unterstützt (und von einigen Docs-Tools verwendet).
  • Bun kann pnpm-lock.yaml nicht nutzen und ignoriert diese Datei.

Installation

Standard:

bun install

Hinweis: bun.lock/bun.lockb sind in gitignore, also gibt es keine Repo-Änderungen. Falls du keine Lockfile-Schreibvorgänge willst:

bun install --no-save

Build / Test (Bun)

bun run build
bun run vitest run

Bun Lifecycle Scripts (standardmäßig blockiert)

Bun blockiert möglicherweise Dependency-Lifecycle-Scripts, sofern sie nicht explizit vertraut werden (bun pm untrusted / bun pm trust). Für dieses Repo sind die häufig blockierten Scripts nicht erforderlich:

  • @whiskeysockets/baileys preinstall: Prüft Node major >= 20 (wir nutzen Node 22+).
  • protobufjs postinstall: Gibt Warnungen über inkompatible Versionsschemas aus (keine Build-Artefakte).

Falls du auf ein echtes Runtime-Problem stößt, das diese Scripts benötigt, vertraue ihnen explizit:

bun pm trust @whiskeysockets/baileys protobufjs

Einschränkungen

  • Einige Scripts nutzen noch fest pnpm (z.B. docs:build, ui:*, protocol:check). Führe diese vorerst über pnpm aus.