عن المشروع
@node-ts/bus مكتبة TypeScript مصممة لتبسيط تطوير التطبيقات المرنة القائمة على الرسائل. تجرّد التفاصيل التقنية لنقل الناقل الأساسي، مما يسمح للمطورين بالتركيز على إنشاء أنظمة مترابطة بشكل غير محكم مع الحد الأدنى من التعليمات البرمجية المتكررة.
تمكّن المكتبة المطورين من تعريف الرسائل ومعالجات الرسائل، مع إدارة نقل الرسائل والاشتراكات وإعادة المحاولة تلقائيًا. في حالة حدوث أعطال، تُعاد الرسائل إلى قائمة الانتظار لإعادة المحاولة، مما يعزز مرونة التطبيق. كما توفر سير عمل الرسائل (sagas) لتنسيق رسائل ومعالجات متعددة في عمليات طويلة الأمد، مما يجعل التطبيقات أكثر متانة وقدرة على الإصلاح الذاتي ومقاومة لفقدان البيانات أو تلفها.
يتطلب Node.js 24 أو أحدث.
## المكونات
المشروع عبارة عن مستودع أحادي يضم عدة حزم:
- **@node-ts/bus-core**: مكتبة الناقل الأساسية لإرسال واستقبال الرسائل وإدارة سير العمل
- **@node-ts/bus-messages**: تعريفات أنواع الرسائل لتعريف رسائلك وأحداثك وأوامرك الخاصة
- **@node-ts/bus-class-serializer**: مُسلسِل JSON يحوّل إلى نسخ من الفئات
- **@node-ts/bus-postgres**: محوّل استمرارية Postgres
- **@node-ts/bus-mongodb**: محوّل استمرارية MongoDB
- **@node-ts/bus-rabbitmq**: محوّل نقل RabbitMQ
- **@node-ts/bus-sqs**: محوّل نقل Amazon SQS
## التطوير
بالنسبة للمساهمين، يستخدم المستودع `pnpm` لدعم المستودعات الأحادية ومساحات العمل. تشمل البرامج النصية الرئيسية:
- `bootstrap`: تثبيت التبعيات في جميع الحزم ورفعها إلى الجذر
- `build`: بناء جميع الحزم
- `build:watch`: بناء جميع الحزم ومراقبة التغييرات مع عمليات البناء التدريجية
- `clean`: إزالة جميع مجلدات dist و node_modules
- `lint`: تشغيل ESLint (typescript-eslint، مع إدراك الأنواع) على المستودع
- `format`: التنسيق باستخدام prettier
- `test`: تشغيل اختبارات الوحدة والتكامل
- `test:watch`: تشغيل الاختبارات في وضع المراقبة
التوثيق متاح على [https://bus.node-ts.com](https://bus.node-ts.com)، ويمكن توجيه الأسئلة إلى GitHub Discussions.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.