Bun (экспериментально)

Цель: запустить этот репозиторий с Bun (опционально, не рекомендуется для WhatsApp/Telegram) без отклонения от pnpm-воркфлоу.

Не рекомендуется для работы шлюза (баги WhatsApp/Telegram). Для production используйте Node.

Статус

  • Bun — опциональная среда выполнения для локального запуска TypeScript (bun run …, bun --watch …).
  • pnpm используется по умолчанию для сборки и полностью поддерживается (в том числе некоторыми инструментами документации).
  • Bun не может использовать pnpm-lock.yaml и игнорирует его.

Установка

По умолчанию:

bun install

Файлы bun.lock/bun.lockb добавлены в gitignore, так что репозиторий не засоряется. Если хотите вообще без записи lockfile:

bun install --no-save

Сборка / Тесты (Bun)

bun run build
bun run vitest run

Lifecycle-скрипты Bun (заблокированы по умолчанию)

Bun может блокировать lifecycle-скрипты зависимостей, если они не доверены явно (bun pm untrusted / bun pm trust). В этом репозитории часто блокируемые скрипты не обязательны:

  • @whiskeysockets/baileys preinstall: проверяет, что Node >= 20 (OpenClaw по умолчанию использует Node 24, а Node 22 LTS, сейчас 22.16+, по-прежнему поддерживается).
  • protobufjs postinstall: выводит предупреждения о несовместимых схемах версий (без артефактов сборки).

Если столкнётесь с реальной проблемой, требующей этих скриптов, разрешите их явно:

bun pm trust @whiskeysockets/baileys protobufjs

Ограничения

  • Некоторые скрипты жёстко привязаны к pnpm (например, docs:build, ui:*, protocol:check). Пока запускайте их через pnpm.