Bun (экспериментальный)
Цель: запустить этот репозиторий с Bun (опционально, не рекомендуется для WhatsApp/Telegram) без расхождения с рабочими процессами pnpm.
⚠️ Не рекомендуется для среды выполнения Gateway (баги WhatsApp/Telegram). Используйте 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
Скрипты жизненного цикла 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 пока что.