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을 통해 실행하세요.