Hi!
Вероятно, у вас были ситуации, когда вы коммитили в репозиторий какие-то вещи, которые ни один здравомыслящий разработчик никогда не должен коммитить. По последствиям ломаются билды обалденного производства или плачущий менеджмент бегает.
Большинство проблем можно решить для среды Js с помощью ESLint, и здесь я сделаю краткий обзор функций ESLint.
Что такое ESLint?
ESLint — это инструмент, который поможет вам проверить, как вы пишете свой код JavaScript. Js — это динамический язык, и в нем может случиться множество вещей, поэтому разработчики должны быть дисциплинированы в написании хорошего кода, который не создает ошибок.
Как бы я его использовал?
Прежде всего вам необходимо установить пакет eslint npm:
Затем вам нужно создать файл .eslintrc или добавить поле eslintConfig в файл package.json вашего проекта. Это можно сделать с помощью команды:
Конфигурация ESLint
Здесь можно найти огромное количество правил, которые может проверить ESLint. Есть правила переменных, предсказание возможных ошибок, правила стиля и многое другое.
Лично я обычно использую некоторые предопределенные подмножества правил, которые могут указывать на очевидные ошибки или какой-то дурно пахнущий код . С другой стороны, если вы укажете слишком много правил в своей конфигурации, вы можете утонуть в предупреждениях и ошибках, возникающих при малейшем изменении кода.
Итак, давайте взглянем на базовую конфигурацию ESLint:
{ "ecmaFeatures": { // here you can enable or disable some features of ES6 "blockBindings": true, "forOf": true, "jsx": true }, "rules": { // here you specify the rules "semi": 2 // number } }
Цифры в ключе имени правила имеют следующее значение:
- 0 — отключить правило
- 1 — включить правило как предупреждение (не влияет на код выхода)
- 2 — включить правило как ошибку (код выхода 1 при срабатывании)
Таким образом, вы можете оставить некоторые вещи просто как предупреждения и исправить их, когда у вас будет время.
Кроме того, вы можете просто использовать рекомендуемые правила, просто сказав:
"extends": "eslint:recommended"
Запустите eslint в своем коде
Запуск довольно прост:
eslint yourJsFiles.js
и тогда вы получите результаты проверки по настроенным правилам.
Я хочу, чтобы это происходило при каждом коммите!
Чтобы это произошло, вам нужно добавить перехватчики pre-commit или pre-push. Я использую Хаски для своих проектов, вы можете добавить его, сказав:
npm install husky --save-dev
а затем вам нужно добавить еще несколько строк в файл package.json:
{ "scripts": { "lint": "eslint yourJsFiles.js", "precommit": "npm run test && npm run lint", "prepush": "npm run test && npm run lint", "...": "..." } }
И это сделано! Ага! Перед каждым коммитом или пушем ваш код будет проверяться на хороший стиль; кроме того, вы можете запустить несколько тестов, чтобы сделать ваше приложение еще более качественным.
Есть вопрос?
Не стесняйтесь спрашивать меня в Twitter или Github.
Первоначально опубликовано на www.devartem.info.