diff --git a/scripts/rolling_update.sh b/scripts/rolling_update.sh index b98bb77..d39e603 100755 --- a/scripts/rolling_update.sh +++ b/scripts/rolling_update.sh @@ -182,6 +182,22 @@ if ! pgrep -x nginx >/dev/null 2>&1; then fi log_info "nginx is running" +# Verify Node >= 22.6 (required by api/mcp_server/ts_validator) +if ! command -v node >/dev/null 2>&1; then + log_error "node is not installed. api/mcp_server/ts_validator requires Node >= 22.6." + log_error "Install via: curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt-get install -y nodejs" + exit 1 +fi +NODE_VERSION=$(node -v | sed 's/^v//') +NODE_MAJOR=${NODE_VERSION%%.*} +NODE_MINOR=$(echo "$NODE_VERSION" | cut -d. -f2) +if [[ $NODE_MAJOR -lt 22 ]] || { [[ $NODE_MAJOR -eq 22 ]] && [[ $NODE_MINOR -lt 6 ]]; }; then + log_error "Node $NODE_VERSION is too old. api/mcp_server/ts_validator requires Node >= 22.6." + log_error "Upgrade via: curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt-get install -y nodejs" + exit 1 +fi +log_info "node $NODE_VERSION is new enough" + ############################################################################### ### PHASE 1: RUN MIGRATIONS ############################################################################### diff --git a/scripts/start_services.sh b/scripts/start_services.sh index f4c1470..4ee9148 100755 --- a/scripts/start_services.sh +++ b/scripts/start_services.sh @@ -61,6 +61,25 @@ if [[ -d "$RUN_DIR" ]]; then fi fi +############################################################################### +### 1c) Verify Node >= 22.6 (required by api/mcp_server/ts_validator) +############################################################################### + +if ! command -v node >/dev/null 2>&1; then + echo "ERROR: node is not installed. api/mcp_server/ts_validator requires Node >= 22.6." + echo "Install via: curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt-get install -y nodejs" + exit 1 +fi +NODE_VERSION=$(node -v | sed 's/^v//') +NODE_MAJOR=${NODE_VERSION%%.*} +NODE_MINOR=$(echo "$NODE_VERSION" | cut -d. -f2) +if [[ $NODE_MAJOR -lt 22 ]] || { [[ $NODE_MAJOR -eq 22 ]] && [[ $NODE_MINOR -lt 6 ]]; }; then + echo "ERROR: Node $NODE_VERSION is too old. api/mcp_server/ts_validator requires Node >= 22.6." + echo "Upgrade via: curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt-get install -y nodejs" + exit 1 +fi +echo "Node $NODE_VERSION detected (>= 22.6 required)" + ############################################################################### ### 2) Define services ###############################################################################