#!/bin/bash # NUPST Launcher Script # This script detects architecture and OS, then runs NUPST with the appropriate Node.js binary # First, handle symlinks correctly REAL_SCRIPT_PATH=$(readlink -f "${BASH_SOURCE[0]}") SCRIPT_DIR=$(dirname "$REAL_SCRIPT_PATH") # For debugging # echo "Script path: $REAL_SCRIPT_PATH" # echo "Script dir: $SCRIPT_DIR" # If we're run via symlink from /usr/local/bin, use the hardcoded installation path if [[ "$SCRIPT_DIR" == "/usr/local/bin" ]]; then PROJECT_ROOT="/opt/nupst" else # Otherwise, use relative path from script location PROJECT_ROOT="$( cd "$SCRIPT_DIR/.." &> /dev/null && pwd )" fi # For debugging # echo "Project root: $PROJECT_ROOT" # Set Node.js binary path directly NODE_BIN="$PROJECT_ROOT/vendor/node-linux-x64/bin/node" # If binary doesn't exist, try system Node as fallback if [ ! -f "$NODE_BIN" ]; then if command -v node &> /dev/null; then NODE_BIN="node" echo "Using system Node.js installation" else echo "Error: Node.js binary not found at $NODE_BIN" echo "Please run the setup script or install Node.js manually." exit 1 fi fi # Run NUPST with the Node.js binary if [ -f "$PROJECT_ROOT/dist_ts/index.js" ]; then exec "$NODE_BIN" "$PROJECT_ROOT/dist_ts/index.js" "$@" elif [ -f "$PROJECT_ROOT/dist/index.js" ]; then exec "$NODE_BIN" "$PROJECT_ROOT/dist/index.js" "$@" else echo "Error: Could not find NUPST's index.js file." echo "Please run the setup script to download the required files." exit 1 fi