#!/usr/bin/env bash set -euo pipefail PROJECT="keycloak-oidc-vite-express" ZIP="$PROJECT.zip" echo "[+] Validazione file principali..." for f in package.json tsconfig.json README.md .env \ server/index.ts server/auth.ts server/env.ts \ client/index.html client/vite.config.ts \ client/src/main.tsx client/src/App.tsx client/src/api.ts do if [[ ! -f "$f" ]]; then echo "[-] Manca il file: $f" >&2 exit 1 fi done echo "[+] Pulizia dist..." rm -rf dist client/dist echo "[+] Installazione dipendenze (se necessario)..." if [[ ! -d node_modules ]]; then npm install fi echo "[+] Build client e server..." npm run build echo "[+] Creazione archivio $ZIP..." cd .. rm -f "$ZIP" zip -r "$ZIP" "$PROJECT" \ -x "$PROJECT/node_modules/*" \ -x "$PROJECT/.env" \ -x "$PROJECT/.git/*" echo "[+] Fatto. Trovi lo zip in: $(pwd)/$ZIP"