mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 10:01:40 +00:00
* Initial merge * Map files * dme mon ami * Cult span renames * updatepaths * AltClick renamed to click_alt * beefman hair color stuff * bye bye beefman viro * get_all_gear * Updated mentor refresh verb * bloodsucker rack atom_deconstruct * removed LateInitialize from nanites machines * brain trauama now calls parent on_lose * readme * greyscale fulp edit * arrival sound fulp edit * tgui routes fulp edit * build.js fulp edit * fulpui-patches * Missed a couple of shuttles * tgui files * Map updates * tgui tweaks and screenshots * fixed typo * halloween beacon texture * Vault piggy banks * beacon icon fr * Selene cargo chat console * selene labour shuttle * Photobooths! * Moved photobooth button on selene * Theia updates * Reset maps.txt * Order consoles * Ports TG's #82906, fixes plasma cutters * Theia vault piggy bank * CLICK_ACTION_SUCCESS for coffin alt clicking
74 lines
2.3 KiB
Bash
Executable File
74 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# bootstrap/node
|
|
#
|
|
# Node-finding script for all `sh` environments, including Linux, MSYS2,
|
|
# Git for Windows, and GitHub Desktop. Invokable from CLI or automation.
|
|
#
|
|
# If a node.exe installed by `node_.ps1` is present, it will be used.
|
|
# Otherwise, this script requires a system `node` to be provided.
|
|
set -e
|
|
|
|
# Convenience variables
|
|
Bootstrap="$(dirname "$0")"
|
|
Cache="$Bootstrap/.cache"
|
|
if [ "$TG_BOOTSTRAP_CACHE" ]; then
|
|
Cache="$TG_BOOTSTRAP_CACHE"
|
|
fi
|
|
OldPWD="$PWD"
|
|
cd "$Bootstrap/../.."
|
|
. ./dependencies.sh # sets NODE_VERSION_LTS
|
|
cd "$OldPWD"
|
|
NodeVersion="$NODE_VERSION_LTS"
|
|
NodeFullVersion="node-v$NodeVersion-win-x64"
|
|
NodeDir="$Cache/$NodeFullVersion"
|
|
NodeExe="$NodeDir/node.exe"
|
|
is_vendored="1"
|
|
|
|
# If a bootstrapped Node is not present, search on $PATH.
|
|
if [ "$(uname)" = "Linux" ] || [ ! -f "$NodeExe" ]; then
|
|
if [ "$TG_BOOTSTRAP_NODE_LINUX" ]; then
|
|
NodeFullVersion="node-v$NodeVersion-linux-x64"
|
|
NodeDir="$Cache/$NodeFullVersion/bin"
|
|
NodeExe="$NodeDir/node"
|
|
|
|
if [ ! -f "$NodeExe" ]; then
|
|
mkdir -p "$Cache"
|
|
Archive="$(realpath "$Cache/node-v$NodeVersion.tar.gz")"
|
|
curl "https://nodejs.org/download/release/v$NodeVersion/$NodeFullVersion.tar.gz" -o "$Archive"
|
|
(cd "$Cache" && tar xf "$Archive")
|
|
fi
|
|
elif command -v node >/dev/null 2>&1; then
|
|
NodeExe="node"
|
|
is_vendored="0"
|
|
else
|
|
echo
|
|
if command -v apt-get >/dev/null 2>&1; then
|
|
# Ubuntu advice
|
|
echo "Please install Node using your system's package manager:"
|
|
echo " sudo apt-get install nodejs"
|
|
elif uname | grep -q MSYS; then
|
|
# MSYS2 (not packaged) or Git for Windows advice
|
|
echo "Please run bootstrap/node.bat instead of bootstrap/node once"
|
|
echo "to install Node automatically, or install it from https://nodejs.org/"
|
|
elif command -v pacman >/dev/null 2>&1; then
|
|
# Arch advice
|
|
echo "Please install Node using your system's package manager:"
|
|
echo " sudo pacman -S nodejs"
|
|
else
|
|
# Generic advice
|
|
echo "Please install Node from https://nodejs.org/ or using your system's package manager."
|
|
fi
|
|
echo
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Invoke Node with all command-line arguments
|
|
if [ "$is_vendored" = "1" ]; then
|
|
PATH="$(readlink -f "$NodeDir"):$PATH"
|
|
echo "Using vendored Node $("$NodeExe" --version)"
|
|
else
|
|
echo "Using system-wide Node $("$NodeExe" --version)"
|
|
fi
|
|
exec "$NodeExe" "$@"
|