#!/bin/sh

# Get list of staged files before running check
STAGED_FILES=$(git diff --cached --name-only)

# Run the check script (formatting, linting, and type checking)
echo "Running formatting, linting, and type checking..."
npm run format
if [ $? -ne 0 ]; then
  echo "❌ Checks failed. Please fix the errors before committing."
  exit 1
fi

# Restage files that were previously staged and may have been modified by formatting
for file in $STAGED_FILES; do
  if [ -f "$file" ]; then
    git add "$file"
  fi
done

echo "✅ All pre-commit checks passed!"
