عن المشروع

You Don't Need Lodash/Underscore هو مرجع شامل يوثق بدائل JavaScript الأصلية لطرق Lodash وUnderscore الشائعة. يوضح المشروع أن العديد من الدوال المساعدة التي توفرها هذه المكتبات الشهيرة أصبحت متاحة الآن كميزات مدمجة في ECMAScript (ES5 وES6/ES2015 وما بعده)، مما يسمح للمشاريع التي تستهدف المتصفحات الحديثة بالتخلص من هذه الاعتماديات. يغطي الدليل طرقًا عبر فئات متعددة: - **المصفوفات**: chunk وcompact وconcat وdifference وdrop وfill وfind وflatten وfromPairs وintersection وslice وغيرها - **المجموعات**: each وevery وfilter وgroupBy وmap وreduce وsortBy وuniq وغيرها - **الدوال**: bind وdebounce وthrottle وpartial وafter - **اللغة**: cloneDeep وisArray وisDate وisEmpty وisNil وفحوصات الأنواع - **الكائنات**: assign وdefaults وget وhas وkeys وpick وomit وtoPairs - **النصوص**: capitalize وtrim وpadStart/padEnd وstartsWith وendsWith وtemplate - **الأرقام**: clamp وinRange وrandom - **الأدوات**: times يعرض كل إدخال صيغة Lodash/Underscore إلى جانب البدائل الأصلية باستخدام JavaScript الحديث (الدوال السهمية، عامل الانتشار، طرق Array.prototype مثل flat/flatMap، وObject.fromEntries، إلخ). تشير جداول دعم المتصفحات إلى التوافق مع الميزات الرئيسية. يوفر المستودع أيضًا إضافة ESLint (`eslint-plugin-you-dont-need-lodash-underscore`) تحدد تلقائيًا استخدام Lodash/Underscore حيث توجد بدائل أصلية. يتم التثبيت عبر npm ويوسع الإعداد مجموعة القواعد الموصى بها للإضافة. تمت الإشارة إلى تحذيرات مهمة: قد لا تكون الطرق الأصلية آمنة مع القيم الفارغة مثل نظيراتها في Lodash (على سبيل المثال، `Object.keys` مقابل `_.keys`)، وتقدم بعض دوال Lodash خيارات إضافية لا تغطيها البدائل الأصلية. القائمة ليست مقارنة 1:1 بل أداة عملية للترحيل. يرحب المشروع بالمساهمات عبر طلبات السحب ويتضمن محادثة مجتمعية على Spectrum/Gitter. وهو مفيد لمطوري الواجهات الأمامية ومؤلفي المكتبات والفرق التي تهدف إلى تقليل حجم الحزمة وعدد الاعتماديات مع الحفاظ على ممارسات JavaScript الحديثة.