TSLint pre-commit hook

He estado mirando alnetworkingedor y puedo ver JSLint, JsHint pre-commit hooks ejemplo para Git pero no puedo encontrar uno para TSLint. Traté de adaptar uno sin éxito. Cualquier ayuda realmente apreciada!

Aqui tienes. Funciona con tslint instalado de forma global y en la console o VS Code, Atom. Por alguna razón, no funciona con SourceTree ya que no puede ubicar su tslint. Si desea utilizar la confirmación a través de Sourcetree, necesita codificar la ruta de tslint.

#!/bin/sh STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep ".tsx\{0,1\}$") if [[ "$STAGED_FILES" = "" ]]; then exit 0 fi PASS=true echo "\nValidating Typescript:\n" # Check for tslint which tslint &> /dev/null if [[ "$?" == 1 ]]; then echo "\t\033[41mPlease install TSlint\033[0m" exit 1 fi for FILE in $STAGED_FILES do tslint "$FILE" if [[ "$?" == 0 ]]; then echo "\t\033[32mTSLint Passed: $FILE\033[0m" else echo "\t\033[41mTSLint Failed: $FILE\033[0m" PASS=false fi done echo "\nTypescript validation completed!\n" if ! $PASS; then echo "\033[41mCOMMIT FAILED:\033[0m Your commit contains files that should pass TSLint but do not. Please fix the TSLint errors and try again.\n" exit 1 else echo "\033[42mCOMMIT SUCCEEDED\033[0m\n" fi exit $?