Для настройки лучшего сценария eslint с git pre-commit вам потребуется выполнить следующие шаги:
- Установите Node.js и npm, если у вас их еще нет. Вы можете загрузить их с официального сайта Node.js.
- Перейдите в корневую папку вашего проекта, где у вас уже имеется файл package.json, и выполнив команду
npm init
, инициализируйте файл package.json, следуя инструкциям на экране.
- Установите eslint, выполнив команду
npm install eslint --save-dev
. Это добавит eslint в ваш список зависимостей разработки в файле package.json.
- Далее, выполните команду
npx eslint --init
для создания файла.eslintrc.json
. В процессе инициализации eslint, вам будут заданы вопросы для конфигурации. Ответы на эти вопросы будут влиять на правила линтера в вашем проекте.
- Выберите настройки "Use a popular style guide", затем выберите стиль кодирования, который вы предпочитаете или вам наиболее подходит для вашего проекта. Например, вы можете выбрать "Airbnb" или "Standard".
- Установите соответствующие плагины для выбранного стиля кодирования. Например, если вы выбрали стиль "Airbnb", выполните команду
npm install eslint-plugin-import eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y --save-dev
.
- Отредактируйте файл
.eslintrc.json
в корневой папке вашего проекта, чтобы настроить ESLint для вашего проекта. В этом файле вы можете добавить или изменить правила, которые управляют поведением линтера.
- Установите git pre-commit hook, который будет запускать eslint перед коммитом изменений. Для этого вам нужно установить плагин husky, выполнив команду
npm install husky --save-dev
.
- Добавьте следующий код в файл
package.json
:
"husky": { "hooks": { "pre-commit": "eslint . --max-warnings=0" } }
Это настроит pre-commit hook для запуска eslint перед каждым коммитом и остановит коммит, если eslint обнаружит предупреждения или ошибки.
- Теперь, когда вы будете выполнять команду
git commit
, ваш код будет автоматически проверяться на соответствие правилам eslint, и в случае обнаружения ошибок или предупреждений, коммит будет остановлен.
Это все! Теперь у вас настроен лучший сценарий eslint с git pre-commit, чтобы автоматически проверять ваш код на соответствие стандартам линтера перед каждым коммитом.