ব্লগ পোস্ট সিরিজের দ্বিতীয় এন্ট্রি “লেজার লাইভ মনোরেপো প্রজেক্ট”, যেখানে একজন লেজার ডেভেলপার আমাদেরকে লেজার লাইভ কোডবেস বিশাল মাইগ্রেশনের গল্প বলে একটি মনো ভান্ডারে। আপনি যদি অংশ 1 মিস করেন তবে এটি এখানে দেখুন:
একটি মনোরেপো আর্কিটেকচার একটি কার্যকর সমাধান ছিল তা প্রতিষ্ঠিত করার পরে, আমরা আমাদের পরিকল্পনাটি স্থাপন করার জন্য উপলব্ধ সরঞ্জামগুলি দেখতে শুরু করি।
একাধিক প্রকল্প পরিচালনা করা
লেজার লাইভ দলে আমরা জাভাস্ক্রিপ্ট ইকোসিস্টেমে নেভিগেট করি এবং সৌভাগ্যবশত আমাদের জন্য, আমরা ইতিমধ্যেই আমাদের প্যাকেজ ম্যানেজারের সাথে একাধিক প্রকল্প পরিচালনা করার বিভিন্ন উপায় জানতাম। এই সম্ভাব্য সমাধানগুলির মধ্যে কয়েকটি অন্তর্ভুক্ত:
- NPM (ওয়ার্কস্পেসের জন্য সমর্থন আছে তবে আরও ভাল বিকল্প),
- সুতা ঘ (খুব পুরানো হয়ে যাওয়া, আরও ভাল এবং আরও দক্ষ বিকল্প),
- সুতা ≥ 2 (আকর্ষণীয় ধারণা, কিন্তু প্লাগ এন প্লে সর্বত্র সমর্থিত নয়, বিশেষ করে প্রতিক্রিয়া নেটিভের সাথে)
- পিএনপিএম (সিমলিঙ্ক, ওয়ার্কস্পেসকে মাথায় রেখে তৈরি, ডিস্ক দক্ষ)।
এই সব দেখার পরে, আমরা সঙ্গে যেতে সিদ্ধান্ত নিয়েছে পিএনপিএম জন্য:
- ডিস্ক দক্ষতা (এটি একটি ভার্চুয়াল ব্যবহার করে দোকান এবং symlinks, তাই প্যাকেজগুলি শুধুমাত্র একবার ডাউনলোড করা হয় তারপর ভার্চুয়াল স্টোর থেকে আপনার node_modules এর সাথে সিমলিংক করা হয়),
- গতি (যেহেতু প্যাকেজগুলি ক্যাশে করা হয়, পরবর্তী ইনস্টলেশনগুলি অনেক দ্রুত হয়),
- ওয়ার্কস্পেস/মনোরেপো আর্কিটেকচারের সমর্থনে নির্মিত (উনাম, অর্কেস্ট্রেশন ইত্যাদি...)।
কাগজে পিএনপিএম একটি পরম রত্ন, কিন্তু সিমলিংকগুলি সঠিকভাবে সেটআপ করার জন্য কিছুটা অদ্ভুত ছিল (আবার, বিশেষভাবে প্রতিক্রিয়া নেটিভের সাথে)।
ঠিক আছে, তাই আমাদের পছন্দ করা হয়েছে, আমরা সঙ্গে যেতে হবে পিএনপিএম।
স্ক্রিপ্ট অর্কেস্ট্রেশন
যদিও পিএনপিএম এর বৈশিষ্ট্যগুলিতে আরও বেশি অর্কেস্ট্রেশন যোগ করে, এটি এখনও আমরা যা করতে চেয়েছিলাম তা কভার করে না, যেমন:
- অনুক্রমিক নির্মাণ,
- ক্যাশিং
এইগুলির জন্য, আমরা দুটি আকর্ষণীয় প্রতিযোগী পেয়েছি যেগুলি আমাদের একবার দেখতে হবে:
- NX (কৌণিক দল দ্বারা),
- টার্বোরেপো (যেটি মাত্র v1.0.0 ঘোষণা করেছিল যখন আমরা এটিতে কাজ শুরু করি এবং এখন Vercel দলের সাথে কাজ করছি)।
আমরা উভয়ের ধারণার একটি প্রমাণ করেছি।
NX আরও অনেক বৈশিষ্ট্য ছিল, জেনারেটর, অটোমেশন, দুর্দান্ত নির্ভরতা গ্রাফ ইত্যাদি… কিন্তু, এটি অনেক বেশি ওভারহেড যোগ করেছে, এবং যেহেতু এটি বেশ মতামতপূর্ণ, তাই আমাদের তাদের নিয়মগুলি অনুসরণ করতে হবে।
টার্বোরেপো অন্যদিকে, এটি বেশ মৌলিক বৈশিষ্ট্য অনুসারে। তবুও এটি একটি সুবিধাজনক প্লাগ এবং প্লে সমাধান যা প্রয়োজন হলে আমরা খুব দ্রুত পরিবর্তন করতে পারি।
যদিও টার্বোরেপো তুলনায় কম বৈশিষ্ট্য ছিল NX, এটি 2টি জিনিস করেছে যা আমরা খুঁজছিলাম:
- নির্ভরশীলতা গাছকে সম্মান করে নির্মাণের অর্কেস্ট্রেশন (এবং সমসাময়িক নির্মাণ),
- ক্যাশিং (বিল্ডগুলি ক্যাশে করা হয় এবং তাদের কোড পরিবর্তন না হলে 'রিপ্লে' হয়)।
এটি, সহজে ড্রপ ইন/ড্রপ আউট, আমাদের ব্লকে নতুন বাচ্চা বেছে নিতে বাধ্য করেছে, টার্বোরেপো.
ভারশনিং
আমরা বেশ কয়েকটি সমাধানও দেখেছি, কিন্তু শেষ পর্যন্ত ব্যবহার করার সিদ্ধান্ত নিয়েছি https://github.com/changesets/changesets যেহেতু এটি একটি টুল ছিল TurboRepo সুপারিশ করেছে, এবং কিছু ডকুমেন্টেশন পড়ার পরে, আমাদের প্রয়োজনগুলি মেনে চলছে বলে মনে হচ্ছে।
ডেভেলপারদের তাদের ডেভ ফ্লো এবং প্রদানে একটু বেশি কঠোর হতে হবে changesets
(ফাইল বর্ণনা করে কোন লাইব্রেরিতে তাদের কোড পরিবর্তন হয়, এর তীব্রতা অনুসরণ করে সেমভার কনভেনশন, এবং পরিবর্তনের বর্ণনা)। এইগুলো changesets
তারপর স্বয়ংক্রিয়ভাবে প্রদত্ত তীব্রতার সাথে সম্পর্কিত প্যাকেজগুলির সংস্করণকে বাম্প করতে ব্যবহৃত হয়, সেইসাথে এর প্রজন্ম স্বয়ংক্রিয়ভাবে চেঞ্জলগ. এর উপরে, সরঞ্জামগুলি অনুমতি দেয় pre release
মোড, 🍒 এ 🍰।
এরপর কি ?
সরঞ্জামগুলির বিষয়ে সিদ্ধান্ত নেওয়ার পরে, এটি কাজ শুরু করার সময় ছিল। পরবর্তী ব্লগ নিবন্ধে, আমরা একটি মনো সংগ্রহস্থলের প্রসঙ্গে বিল্ড সিস্টেম এবং সমস্ত ডেভ-অপস / অটোমেশন / ক্রমাগত ইন্টিগ্রেশন সম্পর্কে কথা বলব।
ভ্যালেন্টিন ডি আলমেইডা
বিকাশকারীর অভিজ্ঞতা এবং মূল প্রযুক্তি - লেজার লাইভ
- এসইও চালিত বিষয়বস্তু এবং পিআর বিতরণ। আজই পরিবর্ধিত পান।
- PlatoData.Network উল্লম্ব জেনারেটিভ Ai. নিজেকে ক্ষমতায়িত করুন। এখানে প্রবেশ করুন.
- প্লেটোএআইস্ট্রিম। Web3 ইন্টেলিজেন্স। জ্ঞান প্রসারিত. এখানে প্রবেশ করুন.
- প্লেটোইএসজি। কার্বন, ক্লিনটেক, শক্তি, পরিবেশ সৌর, বর্জ্য ব্যবস্থাপনা. এখানে প্রবেশ করুন.
- প্লেটো হেলথ। বায়োটেক এবং ক্লিনিক্যাল ট্রায়াল ইন্টেলিজেন্স। এখানে প্রবেশ করুন.
- উত্স: 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
- ডকুমেন্টেশন
- না
- ড্রপ
- সহজ
- বাস্তু
- দক্ষতা
- দক্ষ
- প্রবেশ
- বিশেষত
- প্রতিষ্ঠার
- থার (eth)
- কখনো
- সব
- সর্বত্র
- অভিজ্ঞতা
- দ্রুত
- বৈশিষ্ট্য
- বৈশিষ্ট্য
- ফাইল
- প্রবাহ
- অনুসরণ করা
- অনুসরণ
- জন্য
- ভাগ্যক্রমে
- পাওয়া
- থেকে
- জহর
- প্রজন্ম
- জেনারেটর
- প্রদত্ত
- Go
- গ্রাফ
- মহান
- ছিল
- হাত
- হাতল
- আছে
- এখানে
- HTTPS দ্বারা
- প্রচুর
- ধারণা
- if
- in
- অন্তর্ভুক্ত করা
- ইন্টিগ্রেশন
- মজাদার
- মধ্যে
- IT
- এর
- জাভাস্ক্রিপ্ট
- মাত্র
- ছাগলছানা
- খতিয়ান
- লেজার লাইভ
- কম
- লাইব্রেরি
- জীবিত
- দেখুন
- তাকিয়ে
- খুঁজছি
- অনেক
- প্রণীত
- করা
- পরিচালক
- সর্বোচ্চ প্রস্থ
- অভিপ্রয়াণ
- মন
- মিস
- মোড
- অধিক
- আরো দক্ষ
- অনেক
- বহু
- স্থানীয়
- নেভিগেট করুন
- প্রয়োজন
- প্রয়োজন
- চাহিদা
- নতুন
- পরবর্তী
- এখন
- of
- পুরাতন
- on
- একদা
- ONE
- কেবল
- মতামত
- অর্কেস্ট্রারচনা
- অন্যান্য
- আমাদের
- বাইরে
- প্যাকেজ
- প্যাকেজ
- কাগজ
- অংশ
- জায়গা
- পরিকল্পনা
- Plato
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটোডাটা
- খেলা
- প্লাগ
- প্লাগ এবং খেলা
- যোগ
- সম্ভব
- পোস্ট
- চমত্কার
- প্রকল্প
- প্রকল্প
- প্রমাণ
- ধারণা প্রমাণ
- প্রদান
- করা
- দ্রুত
- প্রতিক্রিয়া
- দেশীয় প্রতিক্রিয়া
- পড়া
- সুপারিশ করা
- সংগ্রহস্থলের
- সম্মান
- কঠোর
- করলো
- ক্রম
- সেটআপ
- বিভিন্ন
- নির্দয়তা
- চকমক
- থেকে
- So
- সমাধান
- সলিউশন
- কিছু
- বিশেষত
- স্পীড
- শুরু
- শুরু
- এখনো
- দোকান
- গল্প
- পরবর্তী
- এমন
- সমর্থন
- সমর্থিত
- পদ্ধতি
- গ্রহণ করা
- আলাপ
- টীম
- প্রযুক্তি
- বলে
- চেয়ে
- যে
- সার্জারির
- বাধা
- তাদের
- তারপর
- এইগুলো
- কিছু
- সেগুলো
- যদিও?
- সময়
- থেকে
- অত্যধিক
- টুল
- সরঞ্জাম
- শীর্ষ
- বৃক্ষ
- দুই
- পরিণামে
- us
- ব্যবহৃত
- ব্যবহারসমূহ
- v1
- সংস্করণ
- খুব
- টেকসই
- ভার্চুয়াল
- চেয়েছিলেন
- ছিল
- উপায়
- we
- আমরা একটি
- ছিল
- কখন
- যে
- ইচ্ছা
- বিজ্ঞ
- সঙ্গে
- কাজ
- would
- এখনো
- আপনি
- আপনার
- zephyrnet