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

You Don't Need Lodash/Underscore একটি বিস্তারিত রেফারেন্স যা সাধারণ Lodash ও Underscore ইউটিলিটি মেথডের নেটিভ JavaScript সমতুল্য নথিভুক্ত করে। এই প্রজেক্টটি দেখায় যে এই জনপ্রিয় লাইব্রেরিগুলোর দেওয়া অনেক ইউটিলিটি ফাংশন এখন বিল্ট-ইন ECMAScript ফিচার (ES5, ES6/ES2015 এবং পরবর্তী) হিসেবে উপলব্ধ, ফলে আধুনিক ব্রাউজার টার্গেট করা প্রজেক্টগুলো এই নির্ভরতাগুলো বাদ দিতে পারে। গাইডটি একাধিক ক্যাটাগরির মেথড কভার করে: - **Array**: chunk, compact, concat, difference, drop, fill, find, flatten, fromPairs, intersection, slice এবং আরও অনেক কিছু - **Collection**: each, every, filter, groupBy, map, reduce, sortBy, uniq এবং অন্যান্য - **Function**: bind, debounce, throttle, partial, after - **Lang**: cloneDeep, isArray, isDate, isEmpty, isNil, টাইপ চেক - **Object**: assign, defaults, get, has, keys, pick, omit, toPairs - **String**: capitalize, trim, padStart/padEnd, startsWith, endsWith, template - **Number**: clamp, inRange, random - **Util**: times প্রতিটি এন্ট্রিতে Lodash/Underscore সিনট্যাক্সের পাশাপাশি আধুনিক JavaScript (অ্যারো ফাংশন, স্প্রেড অপারেটর, flat/flatMap-এর মতো Array.prototype মেথড, Object.fromEntries ইত্যাদি) ব্যবহার করে নেটিভ বিকল্প দেখানো হয়েছে। ব্রাউজার সাপোর্ট টেবিল মূল ফিচারগুলোর সামঞ্জস্য নির্দেশ করে। রিপোজিটরিটি একটি ESLint প্লাগইন (`eslint-plugin-you-dont-need-lodash-underscore`)ও সরবরাহ করে যা স্বয়ংক্রিয়ভাবে Lodash/Underscore ব্যবহার চিহ্নিত করে যেখানে নেটিভ সমতুল্য বিদ্যমান। npm-এর মাধ্যমে ইনস্টল করা হয় এবং কনফিগারেশন প্লাগইনের প্রস্তাবিত রুলসেট এক্সটেন্ড করে। গুরুত্বপূর্ণ সতর্কতা উল্লেখ করা হয়েছে: নেটিভ মেথডগুলো Lodash-এর মতো null-safe নাও হতে পারে (যেমন, `Object.keys` বনাম `_.keys`), এবং কিছু Lodash ফাংশন অতিরিক্ত অপশন দেয় যা নেটিভ সমতুল্যে নেই। তালিকাটি ১:১ তুলনা নয়, বরং একটি ব্যবহারিক মাইগ্রেশন সহায়ক। প্রজেক্টটি পুল রিকোয়েস্টের মাধ্যমে অবদান স্বাগত জানায় এবং Spectrum/Gitter-এ একটি কমিউনিটি চ্যাট অন্তর্ভুক্ত করে। এটি ফ্রন্টএন্ড ডেভেলপার, লাইব্রেরি লেখক এবং আধুনিক JavaScript চর্চা বজায় রেখে বান্ডেল সাইজ ও নির্ভরতা সংখ্যা কমানোর লক্ষ্যে থাকা টিমের জন্য উপযোগী।