#!/usr/bin/env sh
# ^^^^^^^^^^^^^^^ Husky doesn't require this shebang,
# but code editors need it to recognize the file as a script.

# Format and add the changes to the staging area
npm run format
git add --update

# POSIX shell (sh) run time parameters.
#   -e: Exit immediately if a command exits with a non-zero status.
#   -u: Treat unset variables as errors when substituting.
set -eu

# Track exit code in case that we want to add other lints in the future
EXITCODE=0

# If there are changed icons, lint them with SVGLint
changed_icons=$(git diff --cached --name-only --diff-filter=ACM 'icons/' | xargs)
[ -n "$changed_icons" ] && { npm run svglint:base -- $changed_icons || EXITCODE=$?; }

exit $EXITCODE
