#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$ROOT"

PYTHON="python3"
if [[ -x .venv/bin/python ]] && .venv/bin/python - <<'PY' >/dev/null 2>&1
import cryptography
import jsonschema
PY
then
  PYTHON=".venv/bin/python"
elif [[ -x .venv/bin/python ]]; then
  echo "NOTICE: ignoring incomplete .venv and using system Python for static/core verification." >&2
fi

PYTHONPATH=src "$PYTHON" scripts/check.py
PYTHONPATH=src "$PYTHON" -m unittest discover -s tests -v
"$PYTHON" -m compileall -q src scripts tests
node scripts/build_frontend.mjs
node --test frontend/src/*.test.js
node --check static/app.js
for script in install.sh run.sh run-dev.sh verify.sh; do bash -n "$script"; done
printf 'VERIFICATION_PASS\n'
