38 lines
873 B
Bash
Executable file
38 lines
873 B
Bash
Executable file
#!/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"
|