Containers

Bun (آزمایشی)

Edit source

Bun یک زمان اجرای محلی اختیاری برای اجرای مستقیم TypeScript است (bun run ...، bun --watch ...). مدیر بستهٔ پیش‌فرض همچنان pnpm است، که کاملاً پشتیبانی می‌شود و ابزارهای مستندات از آن استفاده می‌کنند. Bun نمی‌تواند از pnpm-lock.yaml استفاده کند و آن را نادیده می‌گیرد.

نصب

  • نصب وابستگی‌ها

    sh
    bun install

    bun.lock / bun.lockb در gitignore هستند، بنابراین تغییری در repo ایجاد نمی‌شود. برای رد کردن کامل نوشتن lockfile:

    sh
    bun install --no-save
  • ساخت و آزمون

    sh
    bun run buildbun run vitest run
  • اسکریپت‌های چرخهٔ حیات

    Bun اسکریپت‌های چرخهٔ حیات وابستگی‌ها را مسدود می‌کند مگر اینکه صریحاً قابل اعتماد اعلام شوند. برای این repo، اسکریپت‌هایی که معمولاً مسدود می‌شوند لازم نیستند:

    • baileys preinstall -- بررسی می‌کند که نسخهٔ اصلی Node >= 20 باشد (OpenClaw به‌صورت پیش‌فرض از Node 24 استفاده می‌کند و همچنان از Node 22 LTS، در حال حاضر 22.16+، پشتیبانی می‌کند)
    • protobufjs postinstall -- هشدارهایی دربارهٔ طرح‌های نسخه‌گذاری ناسازگار صادر می‌کند (بدون artifactهای ساخت)

    اگر با مشکلی در زمان اجرا روبه‌رو شدید که به این اسکریپت‌ها نیاز دارد، آن‌ها را صریحاً قابل اعتماد اعلام کنید:

    sh
    bun pm trust baileys protobufjs

    نکات احتیاطی

    برخی اسکریپت‌ها هنوز pnpm را به‌صورت hardcode دارند (برای مثال docs:build، ui:*، protocol:check). فعلاً آن‌ها را از طریق pnpm اجرا کنید.

    مرتبط

    Was this useful?