pre-commit
Rama main · réplica de lectura del repositorio original.
#!/bin/sh
set -e
# this script must be placed in .git/hooks/pre-commit for it to run automatically
# it is put here in the repo so that it can be used by anyone who clones the repo
# it assumes the environment to run `ruff` and `python manage.py tailwind build` is already set up and activated
if ! command -v ruff >/dev/null; then
echo "pre-commit: ruff not found; set up and activate the development environment first."
exit 1
fi
ruff check
should_run=$(git diff --cached --name-only -z | python tools/is_tracked_by_tailwind.py)
if [ "$should_run" = "yes" ]; then
echo "Installing Tailwind dependencies and building CSS..."
python manage.py tailwind install
git add theme/static/css/dist/styles.css
else
echo "No relevant changes; skipping Tailwind build."
fi
# Check for trailing whitespace in staged files, fail if found
git diff --cached --name-only --diff-filter=ACM | while IFS= read -r file; do
[ -f "$file" ] || continue
case "$file" in
*.py|*.js|*.ts|*.sh|*.md|*.txt|*.html|*.css)
if grep -qE '[[:space:]]+$' "$file"; then
echo "Commit aborted due to trailing whitespace."
echo "Fix it manually or use tools/strip-trailing-whitespace.sh"
exit 1
fi
;;
esac
done