echo "🔍 Running pre-commit checks..."

# 1. Run lint-staged (Fast, only staged files)
# Note: lint-staged returns 0 if no files match patterns by default
pnpm lint-staged

# 2. Additional Global Safety Checks (Per t2.md) - Optimized for staged files
# Use || true to prevent script exit if grep finds nothing for the file list
staged_files=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(ts|tsx|js|jsx)$' | grep -E '^(backend|frontend)/') || true

if [ -n "$staged_files" ]; then
    # UUID misuse check
    grep -l "parseInt(.*uuid" $staged_files && {
      echo "❌ UUID misuse detected (parseInt) in staged files"
      exit 1
    }

    # console.log check
    grep -l "console.log" $staged_files && {
      echo "❌ console.log is not allowed in staged files"
      exit 1
    }
fi

echo "✅ Pre-commit passed"
