Files
ark-stronghold-protocol/scripts/start.sh
T
sganggs bb5c792a4d Node 22+ everywhere, LF text on Windows checkouts, CI actions v7
- Node minimum is 22 in package.json engines, the start scripts, the service installer, setup and doctor,
  matching the README, the release notes and the CI matrix (22 / 24).
- .gitattributes: CSS, HTML, JSON, Markdown and YAML check out with LF, so `node --test` on Windows matches the
  CSS rules the UI tests read; the Windows test step is no longer continue-on-error.
- CI: actions/checkout@v7 and actions/setup-node@v7 (Node 24 runtime).
2026-10-02 16:51:44 +08:00

28 lines
1.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 卫戍协议:盟约 · macOS / Linux start script. Docs: docs/DEPLOY.md
# scripts/start.sh [--port 3001] [--no-open] [--no-local] [--no-assets] … (arguments go to scripts/launch.mjs)
# Checks Node.js ≥ 22, runs `npm ci` on the first run, then scripts/launch.mjs (tools/setup.mjs → server → browser).
set -euo pipefail
cd "$(dirname "$0")/.."
if ! command -v node >/dev/null 2>&1; then
echo "未找到 Node.js(需要 22 或更高,22 / 24 LTS)。Node.js not found."
if [ "$(uname -s)" = "Darwin" ]; then
echo " 安装:brew install node@22 或 https://nodejs.org/zh-cn/download"
else
echo " 安装:https://nodejs.org/zh-cn/download (或发行版的包管理器 / nvm / fnm)"
fi
exit 1
fi
if ! node -e "process.exit(Number(process.versions.node.split('.')[0])>=22?0:1)"; then
echo "Node.js $(node -v) 太旧,需要 22 或更高(22 / 24 LTS):https://nodejs.org/zh-cn/download"
exit 1
fi
if [ ! -f node_modules/ws/package.json ]; then
echo "[首次运行] 正在安装依赖 npm ci …"
npm ci --no-audit --no-fund || npm install --no-audit --no-fund
fi
exec node scripts/launch.mjs "$@"