diff --git a/web/.husky/pre-commit b/web/.husky/pre-commit index 1db4b6dd67..26e9bf69d4 100644 --- a/web/.husky/pre-commit +++ b/web/.husky/pre-commit @@ -44,9 +44,32 @@ fi if $web_modified; then echo "Running ESLint on web module" + + if git diff --cached --quiet -- 'web/**/*.ts' 'web/**/*.tsx'; then + web_ts_modified=false + else + ts_diff_status=$? + if [ $ts_diff_status -eq 1 ]; then + web_ts_modified=true + else + echo "Unable to determine staged TypeScript changes (git exit code: $ts_diff_status)." + exit $ts_diff_status + fi + fi + cd ./web || exit 1 lint-staged + if $web_ts_modified; then + echo "Running TypeScript type-check" + if ! pnpm run type-check; then + echo "Type check failed. Please run 'pnpm run type-check' to fix the errors." + exit 1 + fi + else + echo "No staged TypeScript changes detected, skipping type-check" + fi + echo "Running unit tests check" modified_files=$(git diff --cached --name-only -- utils | grep -v '\.spec\.ts$' || true)