nupst/bin/nupst
2025-03-25 09:06:23 +00:00

49 lines
1.5 KiB
Bash
Executable File

#!/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