#!/bin/sh set -euo pipefail export npm_config_cache=${npm_config_cache:-/tmp/.npm} mkdir -p "$(dirname "$npm_config_cache")" "$npm_config_cache" 2>/dev/null || true LOCKFILE_STAMP="node_modules/.package-lock.cksum" CURRENT_LOCKFILE_CKSUM=$(cksum package-lock.json | awk '{print $1 ":" $2}') INSTALLED_LOCKFILE_CKSUM="" if [ -f "$LOCKFILE_STAMP" ]; then INSTALLED_LOCKFILE_CKSUM=$(cat "$LOCKFILE_STAMP") fi if [ ! -x node_modules/.bin/vite ] || [ "$CURRENT_LOCKFILE_CKSUM" != "$INSTALLED_LOCKFILE_CKSUM" ]; then echo "[frontend] Installing dependencies via npm ci..." npm ci --include=dev printf '%s' "$CURRENT_LOCKFILE_CKSUM" > "$LOCKFILE_STAMP" else echo "[frontend] Using existing node_modules cache." fi echo "[frontend] Starting dev server..." exec npm start