#!/usr/bin/env bash
set -euo pipefail

project_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$project_dir"

if rg -n --glob '*.php' --glob '*.html' --glob '*.js' --glob '*.css' '<\?php' frontend; then
  echo "El frontend no puede contener PHP." >&2
  exit 1
fi

if rg -n --glob '*.php' '<!doctype|<html|<body|<template' backend; then
  echo "El backend no puede renderizar HTML." >&2
  exit 1
fi

node --test tests/js/*.test.js

if command -v php >/dev/null 2>&1; then
  while IFS= read -r file; do
    php -l "$file" >/dev/null
  done < <(find backend -name '*.php' -type f -print)
else
  echo "PHP no está instalado; la sintaxis debe validarse en CI o en el servidor cPanel."
fi

if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
  git diff --check
else
  echo "No hay checkout Git local; se omite git diff --check."
fi
echo "Validaciones disponibles completadas."
