Запуск ESLint в режиме precommit не останавливается при появлении предупреждений

Я добавляю в свой проект несколько сценариев предварительной фиксации и предварительной настройки. Я использую Husky, потому что он отслеживает любые изменения git.

В моем package.json у меня есть:

"precommit": "npm run lint && npm run test",

Что изначально, кажется, работает нормально, когда была обнаружена какая-либо ошибка теста или lint, я не смог выполнить фиксацию.

Теперь я обнаружил, что если у меня есть предупреждение, фиксация все равно происходит.

Как я могу настроить Husky или, может быть, ESLint, чтобы останавливать фиксацию при появлении предупреждений?

Я знаю, что могу переопределить все конфигурации eslint, чтобы они всегда были ошибочными [2], но я ожидаю, что есть что-то получше


person Pablo    schedule 03.07.2018    source источник
comment
какие-либо решения на данный момент?   -  person Adeel Imran    schedule 15.10.2018


Ответы (1)


Вам нужно указать --max-warnings параметр.

Что-то вроде этого:

"scripts": {
  ...
  "lint": "eslint \"**/*.js\" --fix --max-warnings=0",
  ...
},
person Oleg Vikoultsev    schedule 19.10.2018
comment
очень хорошо. экономит время. - person Mehadi Hassan; 13.07.2020
comment
Я бы рекомендовал не запускать --fix в сценарии перед фиксацией, потому что, если он что-то исправляет, линтинг пройдет, но эти исправления будут неустановленными (и, следовательно, не будут включены в фиксацию). - person jonrsharpe; 16.09.2020
comment
@jonrsharpe Нет, если вы используете lint-staged - person Yohan Dahmani; 13.07.2021