Хук 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 к истине.

Другие вопросы по тегам