#!/bin/bash
# Check JavaScript syntax for a site directory
# Usage: tools/check/js-syntax.sh <site-dir>
# Example: tools/check/js-syntax.sh sites/example.com-v1
# Exit codes: 0=valid, 1=syntax errors, 2=input error

set -e

SITE_DIR="${1:-.}"

if [[ ! -d "$SITE_DIR" ]]; then
    echo "ERROR:directory_not_found:$SITE_DIR"
    exit 2
fi

JS_FILES=$(find "$SITE_DIR" -maxdepth 2 -name "*.js" -type f 2>/dev/null)

if [[ -z "$JS_FILES" ]]; then
    echo "OK:no_js_files:$SITE_DIR"
    exit 0
fi

ERRORS=0
for js in $JS_FILES; do
    if node -c "$js" 2>&1; then
        echo "✓ $(basename "$js")"
    else
        echo "✗ $(basename "$js")"
        ERRORS=$((ERRORS + 1))
    fi
done

if [[ $ERRORS -eq 0 ]]; then
    echo ""
    echo "OK:js_valid"
else
    echo ""
    echo "FAIL:js_syntax_errors:$ERRORS files"
    exit 1
fi
