2026-02-05 17:54:06 +00:00
|
|
|
#!/bin/sh
|
2026-05-11 11:37:23 -07:00
|
|
|
|
|
|
|
|
# Skip during merge/rebase/cherry-pick/revert. lint-staged's internal
|
|
|
|
|
# git-stash mechanism is incompatible with these states and will silently
|
|
|
|
|
# wipe MERGE_HEAD and your conflict resolutions on commit failure.
|
|
|
|
|
git_dir=$(git rev-parse --git-dir)
|
|
|
|
|
if [ -e "$git_dir/MERGE_HEAD" ] \
|
|
|
|
|
|| [ -e "$git_dir/CHERRY_PICK_HEAD" ] \
|
|
|
|
|
|| [ -e "$git_dir/REVERT_HEAD" ] \
|
|
|
|
|
|| [ -d "$git_dir/rebase-merge" ] \
|
|
|
|
|
|| [ -d "$git_dir/rebase-apply" ]; then
|
|
|
|
|
echo "Skipping lint-staged (mid merge/rebase/cherry-pick/revert)"
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Anchor to repo root so commits made from a subdirectory still work, and
|
|
|
|
|
# run each package's lint-staged in a subshell so cwd is scoped (a failure
|
|
|
|
|
# inside one package can't poison the cwd for the next).
|
|
|
|
|
cd "$(git rev-parse --show-toplevel)" || exit 1
|
|
|
|
|
|
2026-02-05 17:54:06 +00:00
|
|
|
echo "Running lint-staged..."
|
2026-05-11 11:37:23 -07:00
|
|
|
(cd client && npx lint-staged) || exit 1
|
|
|
|
|
(cd server && npx lint-staged) || exit 1
|