Bun (thử nghiệm)
Mục tiêu: chạy repo này với Bun (tùy chọn, không khuyên dùng cho WhatsApp/Telegram) mà không làm thay đổi workflow của pnpm.
⚠️ Không khuyên dùng cho Gateway runtime (có bug với WhatsApp/Telegram). Dùng Node cho production nhé.
Tình trạng hiện tại
- Bun là runtime tùy chọn để chạy TypeScript trực tiếp (
bun run …,bun --watch …). pnpmvẫn là mặc định cho build và được hỗ trợ đầy đủ (một số công cụ docs vẫn dùng pnpm).- Bun không thể dùng
pnpm-lock.yamlvà sẽ bỏ qua file này.
Cài đặt
Mặc định:
bun install
Lưu ý: bun.lock/bun.lockb đã được gitignore, nên không ảnh hưởng gì đến repo. Nếu các bạn muốn không ghi lockfile:
bun install --no-save
Build / Test (Bun)
bun run build
bun run vitest run
Bun lifecycle scripts (bị chặn mặc định)
Bun có thể chặn các dependency lifecycle scripts trừ khi được trust rõ ràng (bun pm untrusted / bun pm trust).
Với repo này, các script thường bị chặn không cần thiết:
@whiskeysockets/baileyspreinstall: kiểm tra Node major >= 20 (mình đang chạy Node 22+).protobufjspostinstall: hiện cảnh báo về version schemes không tương thích (không có build artifacts).
Nếu gặp vấn đề runtime thực sự cần các script này, trust chúng rõ ràng:
bun pm trust @whiskeysockets/baileys protobufjs
Lưu ý
- Một số script vẫn hardcode pnpm (ví dụ
docs:build,ui:*,protocol:check). Chạy các script đó qua pnpm nhé.