Об этом проекте
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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.