Don't add ugly files in pre-commit; warn instead

As mentioned in #559.
This commit is contained in:
Colin Caine 2018-05-18 00:16:36 +01:00
parent 13e7bf4e2e
commit 268301c848

View file

@ -1,10 +1,16 @@
#!/bin/sh
#!/bin/bash
jsfiles=$(git diff --cached --name-only --diff-filter=ACM "*.js" "*.jsx" "*.ts" "*.tsx" | tr '\n' ' ')
[ -z "$jsfiles" ] && exit 0
# Prettify all staged .js files
echo "$jsfiles" | xargs ./node_modules/.bin/prettier --write
# Check if any of the files are ugly
uglyFiles=()
for jsfile in $jsfiles; do
diff "$jsfile" <($(npm bin)/prettier "$jsfile") >/dev/null || uglyFiles+=("$jsfile")
done
# Add back the modified/prettified files to staging
echo "$jsfiles" | xargs git add
if [ -n $uglyFiles ]; then
echo "Prettify your files first:"
echo '$(npm bin)/prettier --write' "${uglyFiles[@]}"
exit 1
fi