Containers

Bun (ทดลอง)

Bun เป็นรันไทม์เฉพาะเครื่องแบบทางเลือกสำหรับรัน TypeScript โดยตรง (bun run ..., bun --watch ...) ตัวจัดการแพ็กเกจเริ่มต้นยังคงเป็น pnpm ซึ่งรองรับเต็มรูปแบบและใช้โดยเครื่องมือเอกสาร Bun ไม่สามารถใช้ pnpm-lock.yaml และจะเพิกเฉยต่อไฟล์นี้

ติดตั้ง

  • Install dependencies

    bun install
    

    bun.lock / bun.lockb ถูก gitignore ไว้ ดังนั้นจึงไม่มีการเปลี่ยนแปลงไฟล์ใน repo หากต้องการข้ามการเขียน lockfile ทั้งหมด:

    bun install --no-save
    
  • Build and test

    bun run build
    bun run vitest run
    
  • สคริปต์วงจรชีวิต

    Bun จะบล็อกสคริปต์วงจรชีวิตของ dependency เว้นแต่จะเชื่อถืออย่างชัดเจน สำหรับ repo นี้ สคริปต์ที่มักถูกบล็อกไม่จำเป็นต้องใช้:

    • @whiskeysockets/baileys preinstall -- ตรวจสอบว่า Node major >= 20 (OpenClaw ตั้งค่าเริ่มต้นเป็น Node 24 และยังรองรับ Node 22 LTS ซึ่งปัจจุบันคือ 22.14+)
    • protobufjs postinstall -- แสดงคำเตือนเกี่ยวกับรูปแบบเวอร์ชันที่เข้ากันไม่ได้ (ไม่มีอาร์ติแฟกต์สำหรับบิลด์)

    หากคุณพบปัญหารันไทม์ที่ต้องใช้สคริปต์เหล่านี้ ให้เชื่อถือสคริปต์เหล่านี้อย่างชัดเจน:

    bun pm trust @whiskeysockets/baileys protobufjs
    

    ข้อควรระวัง

    บางสคริปต์ยังคง hardcode pnpm อยู่ (เช่น docs:build, ui:*, protocol:check) ให้รันสคริปต์เหล่านั้นผ่าน pnpm ไปก่อน

    ที่เกี่ยวข้อง