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

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

find "$ROOT" -type f -name '*.php' -print0 | sort -z | while IFS= read -r -d '' file; do
    php -l "$file" >/dev/null
 done

find "$ROOT" -type f -name '*.js' -print0 | sort -z | while IFS= read -r -d '' file; do
    node --check "$file"
 done

find "$ROOT" -type f -name '*.sh' ! -path "$ROOT/scripts/validate-acl.sh" -print0 | sort -z | while IFS= read -r -d '' file; do
    bash -n "$file"
 done

while IFS= read -r -d '' file; do
    jq empty "$file"
done < <(find "$ROOT" -type f -name '*.json' -print0 | sort -z)

if grep -RIlE '^(<<<<<<<|=======|>>>>>>>)' "$ROOT" --exclude='VALIDATION-*' | grep -q .; then
    echo 'Foram encontrados marcadores de conflito.' >&2
    exit 1
fi

echo 'Validação estática ACL concluída.'
