প্রকল্প সম্পর্কে

pnpm-multi-versions একটি ইউটিলিটি টুল যা pnpm লকফাইল স্ক্যান করে এবং একটি প্রকল্পের মধ্যে একাধিক সংস্করণে ইনস্টল করা নির্ভরতা চিহ্নিত করে। এটি নমনীয় ইন্টিগ্রেশনের জন্য একটি কমান্ড লাইন ইন্টারফেস (CLI) এবং একটি জাভাস্ক্রিপ্ট API উভয়ই প্রদান করে। ### CLI ব্যবহার CLI চালালে একাধিক সংস্করণে ইনস্টল করা প্যাকেজগুলির একটি তালিকা আউটপুট হয়। ব্যবহারকারীরা `--dependents` ফ্ল্যাগ ব্যবহার করে একটি ট্রি-সদৃশ ভিজ্যুয়ালাইজেশন দেখাতে পারেন যা নির্দেশ করে কোন নির্দিষ্ট প্যাকেজগুলি ডুপ্লিকেট নির্ভরতার প্রতিটি সংস্করণের উপর নির্ভর করে। ### API ব্যবহার প্রোগ্রাম্যাটিকভাবে, টুলটি একটি ফাংশন প্রকাশ করে যা একটি পার্স করা লকফাইল এবং কনফিগারেশন বিকল্প গ্রহণ করে। মূল বিকল্পগুলির মধ্যে রয়েছে: - `ignoreMajor`: মেজর সংস্করণ পার্থক্য উপেক্ষা করার জন্য বুলিয়ান। - `dependents`: প্রতিটি সংস্করণের জন্য নির্ভরশীলদের গণনা এবং ম্যাপ করার জন্য বুলিয়ান। API তিনটি প্রধান ডেটা স্ট্রাকচার ফেরত দেয়: - `versionsMap`: একটি ম্যাপ যা প্যাকেজ নামগুলিকে ইনস্টল করা সংস্করণগুলির একটি সেটে ম্যাপ করে। - `dependentsMap`: একটি নেস্টেড ম্যাপ যা দেখায় কোন প্যাকেজগুলি (নির্দিষ্ট সংস্করণ সহ) লক্ষ্য প্যাকেজগুলির প্রতিটি সংস্করণের উপর নির্ভর করে। - `multipleVersions`: একটি সেট যা একাধিক সংস্করণে ইনস্টল করা সমস্ত প্যাকেজের নাম ধারণ করে। এটি ডেভেলপারদের pnpm-পরিচালিত প্রকল্পগুলিতে ডুপ্লিকেট নির্ভরতা সংস্করণ সনাক্ত করতে সহায়তা করে, অপ্টিমাইজেশন এবং পরিষ্কার করার প্রচেষ্টায় সহায়তা করে।