منصوبے کے بارے میں
@node-ts/bus ایک TypeScript لائبریری ہے جو لچکدار، پیغام پر مبنی ایپلیکیشنز کی تیاری کو آسان بنانے کے لیے ڈیزائن کی گئی ہے۔ یہ بنیادی بس ٹرانسپورٹ کی تکنیکی تفصیلات کو چھپا دیتی ہے، جس سے ڈویلپرز کم سے کم بوائلر پلیٹ کے ساتھ ڈھیلے جڑے نظام بنانے پر توجہ مرکوز کر سکتے ہیں۔
یہ لائبریری ڈویلپرز کو پیغامات اور پیغام ہینڈلرز کی تعریف کرنے کی اجازت دیتی ہے، جبکہ پیغام کی ترسیل، سبسکرپشنز، اور دوبارہ کوششیں خودکار طور پر سنبھالتی ہے۔ ناکامی کی صورت میں، پیغامات دوبارہ کوشش کے لیے قطار میں واپس بھیج دیے جاتے ہیں، جس سے ایپلیکیشن کی لچک بڑھتی ہے۔ یہ پیغام ورک فلو (ساگاز) بھی فراہم کرتی ہے تاکہ طویل المدتی عمل میں متعدد پیغامات اور ہینڈلرز کو مربوط کیا جا سکے، جس سے ایپلیکیشنز زیادہ مضبوط، خود کو ٹھیک کرنے والی، اور ڈیٹا کے ضیاع یا خرابی کے خلاف مزاحم بن جاتی ہیں۔
اس کے لیے 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.