الانتقال إلى المحتوى الرئيسي

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، لذا لا يحدث أي تغيّر في المستودع في كلتا الحالتين. إذا كنت تريد عدم كتابة أي ملفات قفل:
bun install --no-save

البناء / الاختبار (Bun)

bun run build
bun run vitest run

نصوص دورة حياة Bun (محجوبة افتراضيًا)

قد يحجب Bun نصوص دورة حياة التبعيات ما لم يتم الوثوق بها صراحةً (bun pm untrusted / bun pm trust). بالنسبة لهذا المستودع، النصوص الشائعة التي تُحجب ليست مطلوبة:
  • @whiskeysockets/baileys preinstall: يتحقق من أن الإصدار الرئيسي لـ Node >= 20 (نحن نشغّل Node 22+).
  • protobufjs postinstall: يُصدر تحذيرات حول مخططات إصدارات غير متوافقة (من دون مخرجات بناء).
إذا واجهت مشكلة تشغيل حقيقية تتطلب هذه النصوص، فقم بالوثوق بها صراحةً:
bun pm trust @whiskeysockets/baileys protobufjs

التنبيهات

  • لا تزال بعض النصوص تُضمّن pnpm بشكل ثابت (مثل docs:build، ui:*، protocol:check). شغّل هذه عبر pnpm في الوقت الحالي.