#!/usr/bin/env bash set -euo pipefail # shared pre-commit hook to run pint # Try several fallbacks so it works on Unix and common Windows setups. # Prefer directly executable vendor binary if [ -x "./vendor/bin/pint" ]; then ./vendor/bin/pint . exit $? fi # If it's a PHP wrapper script, run with php if [ -f "./vendor/bin/pint" ]; then php "./vendor/bin/pint" . exit $? fi # If a Windows batch exists under vendor/bin if [ -x "./vendor/bin/pint.bat" ]; then ./vendor/bin/pint.bat . exit $? fi if [ -f "./vendor/bin/pint.bat" ]; then # Try running with cmd.exe for Windows Git environments if command -v cmd.exe >/dev/null 2>&1; then cmd.exe /C "vendor\\bin\\pint.bat fix" exit $? fi fi # Nothing to run; do not block the push but inform the user echo "pint not found at ./vendor/bin/pint; skipping pre-push formatting." exit 0