#!/bin/bash # # Get FoundryVTT version information # Usage: get_foundry_version.sh [--version-only] # --version-only: just print the latest stable version and exit # set -euo pipefail # Fetch releases page and find latest stable get_stable_version() { local releases_page releases_page=$(curl -fsSL "https://foundryvtt.com/releases/" 2>/dev/null || true) if [[ -z "$releases_page" ]]; then echo "" return 1 fi # Find stable releases - look for version in entries with "stable" tag # The HTML has "Release X.Y" followed later by 'class="release-tag stable"' local version version=$(echo "$releases_page" | grep -B5 'class="release-tag stable"' | grep -oE 'Release [0-9]+\.[0-9]+' | head -1 | sed 's/Release //') echo "$version" } # Handle --version-only flag if [[ "${1:-}" == "--version-only" ]]; then VERSION=$(get_stable_version) if [[ -z "$VERSION" ]]; then echo "Error: Failed to fetch version from FoundryVTT" >&2 exit 1 fi echo "$VERSION" exit 0 fi # Default: show version with context echo "Fetching latest stable FoundryVTT version..." VERSION=$(get_stable_version) if [[ -z "$VERSION" ]]; then echo "Error: Could not determine latest stable version" >&2 exit 1 fi echo "Latest stable version: $VERSION"