Можно ли запретить список слов с помощью ESlint или чего-либо еще при предварительной фиксации?
Я использую лайку, чтобы справиться с вещами перед коммитом.
Поэтому здесь я хочу, чтобы вновь написанная программа не содержала список слов, например dangerouslySetInnerHTML
, так далее.
Я знаю, что есть правило no-danger
в eslint-plugin-реагировать, но это только предотвращает это одно слово. Как я могу написать список слов в файле и использовать его в качестве фильтра?
2 ответа
Так что я наконец-то решил эту проблему сам.
Решение заключается в том, чтобы воспользоваться git hook
и precommit
, который является одним из тех.
Хороший ресурс для достижения этого здесь:
Pre-commit Git Hook, который предотвращает коммиты с нежелательными словами
И с Husky, который называется "Git Hooks Made Easy", мы сначала пишем скрипт, который в точности соответствует тому, что было показано в блоге выше. Тогда мы можем добавить сам крюк в script
из package.json
, который выглядит так:
"script": {
"precommit": "./pre-commit.sh"
}
Это означает, что каждый раз, когда вы совершаете pre-commit
скрипт будет запущен первым. И, таким образом, вы можете отфильтровать слова, которые нежелательны.
Это возможно. Вы должны быть в состоянии написать новое правило Eslint, которое принимает массив запрещенных слов, а затем запускаете Eslint в сценарии предварительной фиксации. Я сделал это с помощью скрипта git pre-commit (не уверен насчет хаски, извините). Для начала я бы посмотрел на eslint-plugin-jasmine. Правило несфокусированного теста устанавливает список запрещенных слов (ddescribe, iit, fdescribe и fit) и проверяет код для этих слов. Вы можете сделать то же самое, но изменить запрещенный массив, чтобы он содержал слова, которые вы хотите запретить.