بلاگ پوسٹس سیریز "لیجر لائیو مونوریپو پروجیکٹ" کا دوسرا اندراج، جہاں ایک لیجر ڈویلپر ہمیں لیجر لائیو کوڈبیس کی ایک مونو ریپوزٹری میں بڑی منتقلی کی کہانی سناتا ہے۔ اگر آپ نے حصہ 1 چھوٹ دیا ہے تو اسے یہاں دیکھیں:
یہ ثابت کرنے کے بعد کہ ایک monorepo فن تعمیر ایک قابل عمل حل ہے، پھر ہم نے اپنے منصوبے کو عملی جامہ پہنانے کے لیے دستیاب ٹولز کو تلاش کرنا شروع کیا۔
متعدد پروجیکٹس کو ہینڈل کرنا
لیجر لائیو ٹیم میں ہم جاوا اسکرپٹ ایکو سسٹم میں نیویگیٹ کرتے ہیں، اور خوش قسمتی سے ہمارے لیے، ہمیں اپنے پیکیج مینیجر کے ساتھ متعدد پروجیکٹس کو ہینڈل کرنے کے کئی طریقے پہلے سے ہی معلوم تھے۔ ان میں سے کچھ ممکنہ حل میں شامل ہیں:
- این پی ایم (ورک اسپیس کے لیے سپورٹ ہے لیکن بہتر متبادل)
- سوت 1 (بہت پرانا، بہتر اور زیادہ موثر متبادل)
- سوت ≥ 2 (دلچسپ خیال، لیکن پلگ این پلے ہر جگہ اچھی طرح سے تعاون یافتہ نہیں ہے، خاص طور پر React Native کے ساتھ)
- پی این پی ایم (سم لنکس، ذہن میں ورک اسپیس کے ساتھ بنائے گئے، ڈسک موثر)۔
ان سب کو دیکھنے کے بعد ہم نے ساتھ جانے کا فیصلہ کیا۔ پی این پی ایم کے لئے:
- ڈسک کی کارکردگی (یہ ایک ورچوئل استعمال کرتا ہے۔ ذخیرہ اور ترکیب، لہذا پیکیجز صرف ایک بار ڈاؤن لوڈ کیے جاتے ہیں پھر ورچوئل اسٹور سے آپ کے نوڈ_موڈیول سے ہم آہنگ ہوتے ہیں)
- رفتار (چونکہ پیکجز کیش شدہ ہیں، اس کے بعد کی تنصیبات بہت تیز ہیں)،
- ورک اسپیس/مونوریپو فن تعمیر (عرف، آرکیسٹریشن وغیرہ…) کے لیے تعاون میں بنایا گیا ہے۔
کاغذ پر پی این پی ایم ایک مطلق جواہر ہے، لیکن صحیح طریقے سے سیٹ اپ کرنے کے لیے سیم لنکس قدرے عجیب تھے (دوبارہ، خاص طور پر React Native کے ساتھ)۔
ٹھیک ہے، تو ہمارا انتخاب ہو گیا، ہم ساتھ جائیں گے۔ پی این پی ایم۔
اسکرپٹ آرکیسٹریشن
اگرچہ پی این پی ایم اپنی خصوصیات میں زیادہ سے زیادہ آرکیسٹریشن کا اضافہ کرتا ہے، یہ اب بھی ہر اس چیز کا احاطہ نہیں کرتا جو ہم کرنا چاہتے تھے، جیسے:
- ترتیب وار تعمیرات،
- کیشنگ
ان کے لیے، ہمیں دو دلچسپ دعویدار ملے جن پر ہمیں ایک نظر ڈالنے کی ضرورت ہے:
- NX (کونی ٹیم کی طرف سے)
- ٹربورپو (جس نے ابھی v1.0.0 کا اعلان کیا جب ہم نے اس پر کام کرنا شروع کیا، اور اب Vercel ٹیم کے ساتھ کام کر رہے ہیں)۔
ہم نے دونوں پر تصور کا ثبوت دیا۔
NX اس میں بہت زیادہ خصوصیات، جنریٹر، آٹومیشن، زبردست انحصاری گراف وغیرہ تھے… لیکن، اس نے بہت زیادہ اوور ہیڈ کا اضافہ کیا، اور چونکہ یہ کافی رائے والا ہے، ہمیں ان کے کنونشنز پر عمل کرنا ہوگا۔
ٹربورپو دوسری طرف، بہت بنیادی خصوصیت وار ہے. پھر بھی یہ ایک آسان پلگ اینڈ پلے حل ہے جسے ضرورت پڑنے پر ہم بہت جلد تبدیل کر سکتے ہیں۔
اگرچہ ٹربورپو سے کم خصوصیات تھیں۔ NX، اس نے وہ 2 چیزیں کیں جن کی ہم تلاش کر رہے تھے:
- انحصار کے درخت کا احترام کرتے ہوئے تعمیرات کا آرکیسٹریشن (اور کنکرنٹ بلڈز)
- کیشنگ (تعمیرات کو کیش کیا جاتا ہے اور 'دوبارہ چلایا جاتا ہے' اگر ان کا کوڈ تبدیل نہیں ہوا ہے)۔
اس کے علاوہ آسان ڈراپ ان/ڈراپ آؤٹ نے ہمیں بلاک پر نئے بچے کا انتخاب کرنے پر مجبور کیا، ٹربو ریپو.
نسخہ
ہم نے کئی حلوں پر بھی غور کیا، لیکن بالآخر استعمال کرنے کا فیصلہ کیا۔ https://github.com/changesets/changesets جیسا کہ یہ ایک ٹول تھا جسے TurboRepo نے تجویز کیا تھا، اور کچھ دستاویزات پڑھنے کے بعد، ایسا لگتا تھا کہ وہ ہماری ضروریات کو پورا کرتا ہے۔
ڈویلپرز کو اپنے دیو بہاؤ اور فراہم کرنے میں تھوڑا زیادہ سخت ہونے کی ضرورت ہوگی۔ changesets
(فائل یہ بتاتی ہے کہ کون سی لائبریری ان کا کوڈ بدلتا ہے، اس کے بعد کی شدت سمور کنونشن، اور تبدیلی کی تفصیل)۔ یہ changesets
پھر دی گئی شدتوں کا احترام کرتے ہوئے پیکجوں کے ورژن کو خود بخود ٹکرانے کے ساتھ ساتھ چینج لاگز. اس کے سب سے اوپر، اوزار کے لئے اجازت دیتا ہے pre release
موڈ، 🍒 پر 🍰۔
اس کے بعد کیا ہے ؟
ٹولز پر فیصلہ کرنے کے بعد، یہ کام شروع کرنے کا وقت تھا. اگلے بلاگ آرٹیکل میں، ہم ایک مونو ریپوزٹری کے تناظر میں بلڈ سسٹم اور تمام dev-ops/ آٹومیشن/ مسلسل انضمام کے بارے میں بات کریں گے۔
ویلنٹائن ڈی المیڈا
ڈویلپر کا تجربہ اور بنیادی ٹیک - لیجر لائیو
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو ڈیٹا ڈاٹ نیٹ ورک ورٹیکل جنریٹو اے آئی۔ اپنے آپ کو بااختیار بنائیں۔ یہاں تک رسائی حاصل کریں۔
- پلیٹوآئ اسٹریم۔ ویب 3 انٹیلی جنس۔ علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- پلیٹو ای ایس جی۔ کاربن، کلین ٹیک، توانائی ، ماحولیات، شمسی، ویسٹ مینجمنٹ یہاں تک رسائی حاصل کریں۔
- پلیٹو ہیلتھ۔ بائیوٹیک اینڈ کلینیکل ٹرائلز انٹیلی جنس۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://www.ledger.com/blog/ledger-live-monorepo-project-part-2-the-tools-make-it-shine
- : ہے
- : ہے
- : نہیں
- :کہاں
- 1
- a
- ہمارے بارے میں
- مطلق
- شامل کیا
- جوڑتا ہے
- کے بعد
- پھر
- تمام
- کی اجازت دیتا ہے
- پہلے ہی
- متبادلات
- an
- اور
- کونیی
- کا اعلان کیا ہے
- فن تعمیر
- کیا
- مضمون
- AS
- At
- خود کار طریقے سے
- خود کار طریقے سے
- میشن
- دستیاب
- بنیادی
- BE
- بننے
- بہتر
- بٹ
- بلاک
- بلاگ
- بلاگ مراسلات
- دونوں
- تعمیر
- بناتا ہے
- تعمیر
- لیکن
- by
- تبدیل
- تبدیل کر دیا گیا
- تبدیلیاں
- چیک کریں
- انتخاب
- میں سے انتخاب کریں
- کوڈ
- کوڈ بیس
- آتا ہے
- عمل
- تصور
- سمورتی
- سیاق و سباق
- مسلسل
- آسان
- کنونشن
- کنونشنوں
- کور
- صحیح طریقے سے
- سکتا ہے
- احاطہ
- فیصلہ کیا
- فیصلہ کرنا
- انحصار
- بیان
- تفصیل
- دیو
- ڈیولپر
- DID
- do
- دستاویزات
- نہیں کرتا
- چھوڑ
- آسان
- ماحول
- کارکردگی
- ہنر
- اندراج
- خاص طور پر
- قیام
- Ether (ETH)
- کبھی نہیں
- سب کچھ
- ہر جگہ
- تجربہ
- تیز تر
- نمایاں کریں
- خصوصیات
- فائل
- بہاؤ
- پر عمل کریں
- کے بعد
- کے لئے
- خوش قسمتی سے
- ملا
- سے
- منی
- نسل
- جنریٹر
- دی
- Go
- گرافکس
- عظیم
- تھا
- ہاتھ
- ہینڈل
- ہے
- یہاں
- HTTPS
- بھاری
- خیال
- if
- in
- شامل
- انضمام
- دلچسپ
- میں
- IT
- میں
- جاوا سکرپٹ
- صرف
- کڈ
- لیجر
- لیجر براہ راست
- کم
- لائبریری
- رہتے ہیں
- دیکھو
- دیکھا
- تلاش
- بہت
- بنا
- بنا
- مینیجر
- زیادہ سے زیادہ چوڑائی
- منتقلی
- برا
- یاد آیا
- موڈ
- زیادہ
- زیادہ موثر
- بہت
- ایک سے زیادہ
- مقامی
- تشریف لے جائیں
- ضرورت ہے
- ضرورت
- ضروریات
- نئی
- اگلے
- اب
- of
- پرانا
- on
- ایک بار
- ایک
- صرف
- رائے دی
- آرکیسٹرا
- دیگر
- ہمارے
- باہر
- پیکج
- پیکجوں کے
- کاغذ.
- حصہ
- مقام
- منصوبہ
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- کھیلیں
- پلگ
- پلگ اور کھیل
- علاوہ
- ممکن
- مراسلات
- خوبصورت
- منصوبے
- منصوبوں
- ثبوت
- تصور کا ثبوت
- فراہم
- ڈال
- جلدی سے
- جواب دیں
- آبائی رد عمل
- پڑھنا
- سفارش کی
- ذخیرہ
- احترام کرنا
- سخت
- لگ رہا تھا
- سیریز
- سیٹ اپ
- کئی
- شدت
- چمک
- بعد
- So
- حل
- حل
- کچھ
- خاص طور پر
- تیزی
- شروع کریں
- شروع
- ابھی تک
- ذخیرہ
- کہانی
- بعد میں
- اس طرح
- حمایت
- تائید
- کے نظام
- لے لو
- بات
- ٹیم
- ٹیک
- بتاتا ہے
- سے
- کہ
- ۔
- بلاک
- ان
- تو
- یہ
- چیزیں
- ان
- اگرچہ؟
- وقت
- کرنے کے لئے
- بھی
- کے آلے
- اوزار
- سب سے اوپر
- درخت
- دو
- آخر میں
- us
- استعمال کیا جاتا ہے
- استعمال
- v1
- ورژن
- بہت
- قابل عمل
- مجازی
- چاہتے تھے
- تھا
- طریقوں
- we
- اچھا ہے
- تھے
- جب
- جس
- گے
- WISE
- ساتھ
- کام کر
- گا
- ابھی
- آپ
- اور
- زیفیرنیٹ