#!/bin/sh
#
# Porte de qualité locale — c'est ICI que la CI de ce projet se joue.
#
# Le déploiement Coolify se déclenche sur webhook à chaque push : rien ne
# s'interpose entre `git push` et la mise en ligne. Ce hook est donc le dernier
# filet avant que du code cassé parte en dev.
#
# Installation (une fois par clone) :   npm run hooks:install
# Contournement ponctuel :              git push --no-verify
#
set -e

echo "▶ pre-push : porte de qualité (~6 s)…"

start=$(date +%s)

if ! npm run --silent check; then
  cat >&2 <<'MSG'

✗ La porte de qualité a échoué — push interrompu.

  Corriger, ou pousser quand même en connaissance de cause :
      git push --no-verify

  Correction automatique de la plupart des problèmes de style :
      npm run lint:fix && npm run lint:py:fix
MSG
  exit 1
fi

echo "✓ pre-push : tout est vert ($(( $(date +%s) - start ))s)"
