Files
proxmox/scripts/validation/validate-economics-strategy-json.sh

38 lines
1.1 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Validate economics toolkit strategy JSON files (parse-only via CLI).
# Optional: check-jsonschema against packages/economics-toolkit/config/strategy.schema.json when installed.
# Usage: bash scripts/validation/validate-economics-strategy-json.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
cd "$PROJECT_ROOT"
CLI="$PROJECT_ROOT/packages/economics-toolkit/dist/cli.js"
SCHEMA="$PROJECT_ROOT/packages/economics-toolkit/config/strategy.schema.json"
if [[ ! -f "$CLI" ]]; then
pnpm run economics:build
fi
FILES=(
"$PROJECT_ROOT/packages/economics-toolkit/config/strategy-smoke.json"
"$PROJECT_ROOT/packages/economics-toolkit/config/strategy-template.json"
)
for f in "${FILES[@]}"; do
if [[ ! -f "$f" ]]; then
echo "[ERROR] Missing $f" >&2
exit 1
fi
node "$CLI" strategy validate --file "$f" --quiet
done
if command -v check-jsonschema &>/dev/null && [[ -f "$SCHEMA" ]]; then
for f in "${FILES[@]}"; do
check-jsonschema --schemafile "$SCHEMA" "$f" >/dev/null
done
fi
exit 0