Перейти к основному содержанию

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

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

Статус

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

Установка

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

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

bun run build
bun run vitest run

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

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

Пещеры

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