Skip to content

rakov-di/eslint-plugin-lodash-to-native

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Домашка по тулингу. Плагин для ESLint

Описание

При разработке использовались:

  • eslint - 6.8.0
  • mocha - 7.1.1

Создан плагин с правилом, которое находит в js-файлах вызовы функций вида _.map(collection, fn). При запуске eslint с флагом --fix происходит следующее:

  • если collection является объектом - ничего не происходит
  • если найденная функция находится внутри условного оператора, проверяющего, является ли collection массивом - ничего не происходит
    Array.isArray(collection) ? collection.map(fn) : _.map(collection,fn);
    if (Array.isArray(collection)) {
          collection.map(fn);
        }
        else {
          _.map(collection,fn);
        }
  • если colection является массивом - плагин заменяет всю конструкцию на нативный js collection.map(fn)
  • в остальных случаях плагин заменяет исходную функцию на условие:
    Array.isArray(collection) ? collection.map(fn) : _.map(collection,fn);

Проверки на то, чем является _ и присутствует ли он(а) в текущей или глобальной области видимости нет. Переопределение _ в коде никак не обрабатывается.

Установка

Установите ESLint:

npm i -D eslint

Установите плагин с правилом lodash-to-native:

npm i -S https://github.com/rakov-di/eslint-plugin-lodash-to-native

Использование

Добавьте плагин lodash-to-native в блок plugin в вашем файле с конфигурацией ESLint .eslintrc.js. Можно опустить префикс eslint-plugin-:

{
  "plugins": [
    "lodash-to-native"
  ]
}

В блоке rules укажите правило, которое хотите подключить:

{
  "rules": {
    "lodash-to-native/map": "warn"
  }
}

При следующей проверки ESLint-ом правило должно работать.

Поддерживаемые правила

lodash-to-native/map

Для разработчиков

Для работы с иходным кодом скачайте репозиторий и перейдите в него:

git clone https://github.com/rakov-di/eslint-plugin-lodash-to-native#installation
cd eslint-plugin-lodash-to-native

Установите необходимые npm-пакеты:

npm install

Для запуска тестов наберите:

npm test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published