From 37caaff86e48a8b12005419c43a1dae9c53f4b06 Mon Sep 17 00:00:00 2001 From: matt Date: Tue, 19 Apr 2022 00:53:50 +0000 Subject: [PATCH] Added husky pre-commit hook --- .husky/pre-commit | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 .husky/pre-commit diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..6766f28 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,32 @@ +#!/bin/bash +cd "$(git rev-parse --show-toplevel)" +ESLINT="node_modules/.bin/eslint" +pwd + +if [[ ! -x "$ESLINT" ]]; then + printf "\t\033[41mPlease install ESlint\033[0m (npm i --save-dev eslint)\n" + exit 1 +fi + +STAGED_FILES=($(git diff --cached --name-only --diff-filter=ACM | grep "\.js$")) + +echo "Linting ${#STAGED_FILES[@]} files" + +if [[ "$STAGED_FILES" = "" ]]; then + exit 0 +fi + +$ESLINT "${STAGED_FILES[@]}" + +ESLINT_EXIT="$?" + +#ESLINT_EXIT=0 + +if [[ "${ESLINT_EXIT}" == 0 ]]; then + printf "\n\033[42mCOMMIT SUCCEEDED\033[0m\n" +else + printf "\n\033[41mCOMMIT FAILED:\033[0m Fix eslint errors and try again\n" + exit 1 +fi + +exit $?