#!/usr/bin/env bash # Q-Shops Q-App: flat production dist at zip root (same staging pattern as zip-portfolio). set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" APP="$ROOT/q-shops-app" if [[ ! -f "$APP/package.json" ]]; then echo "Missing q-shops-app/package.json — expected at $APP" >&2 exit 1 fi VERSION="$(node -e "console.log(JSON.parse(require('fs').readFileSync(process.argv[1],'utf8')).version)" "$APP/package.json")" DATE="$(date +%Y%m%d)" OUT="${ROOT}/Q-Shops-v${VERSION}-${DATE}.zip" npm --prefix "$APP" ci 2>/dev/null || npm --prefix "$APP" install npm --prefix "$APP" run build T="$(mktemp -d "${TMPDIR:-/tmp}/qshops-zip-XXXX")" trap 'rm -rf "$T"' EXIT cp -a "$APP/dist/." "$T"/ rm -f "$OUT" ( cd "$T" && zip -r -9 "$OUT" . ) echo "Created: $OUT" ls -la "$OUT"