Skip to main content

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

Цель: запускать этот репозиторий с Bun (необязательно, не рекомендуется для WhatsApp/Telegram), не отклоняясь от рабочих процессов pnpm. ⚠️ Не рекомендуется для runtime Gateway (шлюза) (ошибки WhatsApp/Telegram). Для продакшена используйте Node.

Статус

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

Установка

По умолчанию:
Примечание: bun.lock/bun.lockb игнорируются git, поэтому в репозитории не будет лишних изменений в любом случае. Если вы хотите без записи lockfile:

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

Скрипты жизненного цикла Bun (заблокированы по умолчанию)

Bun может блокировать скрипты жизненного цикла зависимостей, если им явно не доверять (bun pm untrusted / bun pm trust). Для этого репозитория часто блокируемые скрипты не требуются:
  • @whiskeysockets/baileys preinstall: проверяет Node major >= 20 (мы используем Node 22+).
  • protobufjs postinstall: выводит предупреждения о несовместимых схемах версий (без артефактов сборки).
Если вы столкнулись с реальной проблемой выполнения, которая требует этих скриптов, явно разрешите их:

Пещеры

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