fix: add dep checks (node/npm), auto-install npm deps in all scripts
This commit is contained in:
parent
2883de9792
commit
24d500a7b5
|
|
@ -15,6 +15,24 @@ report() {
|
||||||
|
|
||||||
echo "=== verstak-sdk build ==="
|
echo "=== verstak-sdk build ==="
|
||||||
|
|
||||||
|
# ── Dependency checks ──
|
||||||
|
echo "[deps]"
|
||||||
|
if ! command -v node &>/dev/null; then
|
||||||
|
echo " ❌ node: not found"
|
||||||
|
FAILED=1
|
||||||
|
else
|
||||||
|
echo " ✅ node $(node --version)"
|
||||||
|
fi
|
||||||
|
if ! command -v npm &>/dev/null; then
|
||||||
|
echo " ❌ npm: not found"
|
||||||
|
FAILED=1
|
||||||
|
fi
|
||||||
|
if [ "$FAILED" -ne 0 ]; then
|
||||||
|
echo ""
|
||||||
|
echo "❌ build failed — missing core dependencies"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Install dependencies if needed
|
# Install dependencies if needed
|
||||||
if [ ! -d "$ROOT/node_modules" ]; then
|
if [ ! -d "$ROOT/node_modules" ]; then
|
||||||
if [ -f "$ROOT/package-lock.json" ]; then
|
if [ -f "$ROOT/package-lock.json" ]; then
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,16 @@ report() {
|
||||||
|
|
||||||
echo "=== verstak-sdk check ==="
|
echo "=== verstak-sdk check ==="
|
||||||
|
|
||||||
|
# ── Dependency checks ──
|
||||||
|
if ! command -v node &>/dev/null; then
|
||||||
|
echo " ❌ node: not found"
|
||||||
|
FAILED=1
|
||||||
|
fi
|
||||||
|
if ! command -v npm &>/dev/null; then
|
||||||
|
echo " ❌ npm: not found"
|
||||||
|
FAILED=1
|
||||||
|
fi
|
||||||
|
|
||||||
# Validate that all JSON schemas are valid JSON
|
# Validate that all JSON schemas are valid JSON
|
||||||
echo "[schema validation]"
|
echo "[schema validation]"
|
||||||
if command -v python3 &>/dev/null; then
|
if command -v python3 &>/dev/null; then
|
||||||
|
|
@ -48,17 +58,20 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# TypeScript check (noEmit)
|
# TypeScript check (noEmit)
|
||||||
if [ ! -d "$ROOT/node_modules" ]; then
|
echo "[typescript]"
|
||||||
if [ -f "$ROOT/package-lock.json" ]; then
|
if [ "$FAILED" -eq 0 ]; then
|
||||||
(cd "$ROOT" && npm ci --no-audit --no-fund)
|
if [ ! -d "$ROOT/node_modules" ]; then
|
||||||
report "npm ci" $?
|
if [ -f "$ROOT/package-lock.json" ]; then
|
||||||
else
|
(cd "$ROOT" && npm ci --no-audit --no-fund)
|
||||||
(cd "$ROOT" && npm install --no-audit --no-fund)
|
report "npm ci" $?
|
||||||
report "npm install" $?
|
else
|
||||||
|
(cd "$ROOT" && npm install --no-audit --no-fund)
|
||||||
|
report "npm install" $?
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
(cd "$ROOT" && npx tsc --noEmit)
|
||||||
|
report "tsc --noEmit" $?
|
||||||
fi
|
fi
|
||||||
(cd "$ROOT" && npx tsc --noEmit)
|
|
||||||
report "tsc --noEmit" $?
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
if [ "$FAILED" -eq 0 ]; then
|
if [ "$FAILED" -eq 0 ]; then
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,21 @@ report() {
|
||||||
|
|
||||||
echo "=== verstak-sdk test ==="
|
echo "=== verstak-sdk test ==="
|
||||||
|
|
||||||
|
# ── Dependency checks ──
|
||||||
|
if ! command -v node &>/dev/null; then
|
||||||
|
echo " ❌ node: not found"
|
||||||
|
FAILED=1
|
||||||
|
fi
|
||||||
|
if ! command -v npm &>/dev/null; then
|
||||||
|
echo " ❌ npm: not found"
|
||||||
|
FAILED=1
|
||||||
|
fi
|
||||||
|
if [ "$FAILED" -ne 0 ]; then
|
||||||
|
echo ""
|
||||||
|
echo "❌ tests failed — missing core dependencies"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Install deps if missing
|
# Install deps if missing
|
||||||
if [ ! -d "$ROOT/node_modules" ]; then
|
if [ ! -d "$ROOT/node_modules" ]; then
|
||||||
if [ -f "$ROOT/package-lock.json" ]; then
|
if [ -f "$ROOT/package-lock.json" ]; then
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue