Сравнение на инструментите за JavaScript Linting

Linting е процес на стартиране на програма, която ще анализира кода за потенциални грешки или идентифициране на лоши практики за кодиране. Тук представям кратко сравнение на 3 най-широко използвани JavaScript linting библиотеки, специално при използване с React.

JS Линт

JS Lint е един от най-старите налични инструменти за линтинг на JavaScript.

Професионалисти

  • Той идва предварително конфигуриран и е готов за работа

минуси

  • Не може да се конфигурира от потребителя
  • Не е разширяем — не можем да добавяме персонализирани правила
  • Не е много добра документация
  • Трудно е да се идентифицира правилото, което е неуспешно
  • Няма поддръжка за ES6 или React

JS съвет

JS Hint е наследник на JS Lint.

Професионалисти

  • Има много добра подкрепа от общността
  • Конфигурируеми — можем лесно да конфигурираме, активираме/деактивираме правила
  • Има поддръжка за много библиотеки извън кутията, като jQuery, QUnit, NodeJS, Mocha
  • Поддържа основен ES6

минуси

  • Трудно е да се разбере кое правило се проваля
  • Не е разширяем — не можем да създаваме персонализирани правила
  • Не поддържа React

ES Линт

ESLint е напълно плъгин, всяко едно правило е плъгин и можем да добавяме още правила по време на изпълнение. Тя е най-новата от трите библиотеки. Той е проектиран да бъде лесно разширяем, идва с голям брой персонализирани правила и е лесно да инсталирате повече правила под формата на добавки. Той дава кратък изход и също така включва името на правилото по подразбиране, така че винаги да знаете кои правила причиняват съобщенията за грешка.

Професионалисти

  • Напълно конфигурируеми — можем да конфигурираме/активираме/деактивираме всяко правило
  • Разширяем – Можем да създадем свои собствени правила
  • Има богат набор от съществуващи правила според най-добрите практики
  • Напълно поддържа ES6 и React
  • Лесен за разбиране изход с имена на правила
  • Правилата са много добре документирани с примери
  • Конфигуриран чрез конфигурационен файл (json/yaml/js) — Лесно споделяне на конфигурация между членовете на екипа
  • Лесна интеграция с IDE

минуси

  • Необходима е първоначална конфигурация, за да започнете
  • Малко бавно

Заключение

Имайки предвид горните фактори, ESLint изглежда е най-добрата налична опция при работа с ES6 и React.

Ще се радвам да чуя вашите коментари, предложения, въпроси или вашия опит в работата с някой от инструментите за linting на JavaScript.