Skip to content

Instantly share code, notes, and snippets.

@sansmischevia
Created July 25, 2014 20:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sansmischevia/5f0daca75f2604b95a29 to your computer and use it in GitHub Desktop.
Save sansmischevia/5f0daca75f2604b95a29 to your computer and use it in GitHub Desktop.
JSHint git pre-commit hook
#!/bin/sh
files=$(git diff --name-only --diff-filter=ACM | grep ".js$")
if [ "$files" = "" ]; then
exit 0
fi
pass=true
echo "\nValidating JavaScript:\n"
for file in ${files}; do
result=$(jshint ${file} | grep "${file} is OK")
if [ "$result" != "" ]; then
echo "\t\033[32mPassed: ${file}\033[0m"
else
echo "\t\033[31mFailed: ${file}\033[0m"
pass=false
fi
done
echo "\nJavaScript validation complete\n"
if ! $pass; then
echo "\033[41mCOMMIT FAILED:\033[0m Your commit contains files that should pass JSHint but do not. Please fix the JSHint errors and try again.\n"
exit 1
else
echo "\033[42mCOMMIT SUCCEEDED\033[0m\n"
fi
Copy link

ghost commented Dec 1, 2014

the problem with this hook is that the lint errors are not displayed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment