mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-23 15:52:08 +00:00
Ports and adapts TG's maplint, not all checks it has are present, this is just the first iteration. Updated python dependency to 3.11.9. Updated bootstrap. Fixed various maps to not fail maplint.
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" "$@"
|