Об этом проекте

You Don't Need Lodash/Underscore — это подробный справочник, документирующий нативные эквиваленты JavaScript для распространённых утилитарных методов Lodash и Underscore. Проект демонстрирует, что многие утилитарные функции, предоставляемые этими популярными библиотеками, теперь доступны как встроенные возможности 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 (стрелочные функции, оператор расширения, методы Array.prototype, такие как flat/flatMap, Object.fromEntries и т. д.). Таблицы поддержки браузеров указывают совместимость для ключевых возможностей. Репозиторий также предоставляет ESLint-плагин (`eslint-plugin-you-dont-need-lodash-underscore`), который автоматически отмечает использование Lodash/Underscore там, где существуют нативные эквиваленты. Установка выполняется через npm, а конфигурация расширяет рекомендуемый набор правил плагина. Отмечены важные оговорки: нативные методы могут не быть null-безопасными, в отличие от их аналогов из Lodash (например, `Object.keys` против `_.keys`), а некоторые функции Lodash предлагают дополнительные опции, не покрываемые нативными эквивалентами. Список не является сравнением 1:1, а представляет собой практическое пособие по миграции. Проект приветствует вклад через pull request и включает сообщество в Spectrum/Gitter. Он полезен фронтенд-разработчикам, авторам библиотек и командам, стремящимся минимизировать размер бандла и количество зависимостей, сохраняя при этом современные практики JavaScript.