#!/bin/bash
# Mise en ligne sur cPanel : installe les dépendances, compile, puis redémarre l'appli Node.
# À lancer depuis le Terminal cPanel (ou par .cpanel.yml) : bash deploy.sh
set -e

APP_DIR="$(cd "$(dirname "$0")" && pwd)"
APP_NOM="$(basename "$APP_DIR")"

# Environnement Node créé par « Setup Node.js App » : ~/nodevenv/<racine de l'appli>/<version>/bin/activate
ACTIVATE="$(ls -d "$HOME"/nodevenv/"$APP_NOM"/*/bin/activate 2>/dev/null | sort -V | tail -1)"
if [ -z "$ACTIVATE" ]; then
  echo "Environnement Node introuvable pour $APP_NOM : créez d'abord l'application dans « Setup Node.js App »." >&2
  exit 1
fi
# shellcheck disable=SC1090
source "$ACTIVATE"
cd "$APP_DIR"

echo "Node $(node -v) - installation des dépendances…"
npm ci --no-audit --no-fund

echo "Compilation…"
export NEXT_TELEMETRY_DISABLED=1
# Le serveur (glibc 2.17) ne peut pas charger le compilateur natif de Next.js : Next.js se rabat
# sur sa version WebAssembly, que Turbopack refuse. On compile donc avec webpack.
npm run build:serveur

# Passenger redémarre l'appli quand ce fichier change.
mkdir -p tmp && touch tmp/restart.txt
echo "Déploiement terminé."
