Хук tslint precommit показывает все ошибки linting и раньше, но также позволяет зафиксировать код
Я использую angular-seed & husky, чтобы добавить precommit hook для git. Мой package.json имеет
"scripts": {
"precommit": "npm test && npm run lint",
}
Когда я фиксирую код, лайки нормально запускают "тест npm" и "npm run lint". Когда тест npm не проходит, он показывает мне ошибки на консоли и не позволяет мне фиксировать. Но когда возникают ошибки в "npm run lint", консоль отображает все сообщения об ошибках, но также позволяет зафиксировать. Как можно избежать фиксации, когда есть ошибки linting? Любая помощь приветствуется. Заранее спасибо! Вот как выглядит мой.git\hooks\pre-commit:
#!/bin/sh
#husky 0.14.3
command_exists () {
command -v "$1" >/dev/null 2>&1
}
has_hook_script () {
[ -f package.json ] && cat package.json | grep -q "\"$1\"[[:space:]]*:"
}
cd "."
# Check if precommit script is defined, skip if not
has_hook_script precommit || exit 0
# Node standard installation
export PATH="$PATH:/c/Program Files/nodejs"
# Check that npm exists
command_exists npm || {
echo >&2 "husky > can't find npm in PATH, skipping precommit script in package.json"
exit 0
}
# Export Git hook params
export GIT_PARAMS="$*"
# Run npm script
echo "husky > npm run -s precommit (node `node -v`)"
echo
npm run -s precommit || {
echo
echo "husky > pre-commit hook failed (add --no-verify to bypass)"
exit 1
}
1 ответ
Решение
В вашем seed.config.ts
, вы должны иметь логическое имя FORCE_TSLINT_EMIT_ERROR
, Переопределите значение этой переменной явно в вашем project.config.ts
к истине.