#!/usr/bin/env bash # Wrapper fuer "git commit", der das Frontend automatisch baut, wenn Dateien geaendert wurden. # Benutzung: ./deploy/commit.sh -m "deine commit message" set -euo pipefail # In das Projekt-Root wechseln cd "$(dirname "$0")/.." FRONTEND_DIR="frontend" # Pruefen, ob Dateien im Frontend-Ordner fuer den Commit vorgemerkt (staged) sind, # die einen Build erfordern (src, index.html, package.json, etc.). if git diff --cached --name-only | grep -q "^$FRONTEND_DIR/src/\|^$FRONTEND_DIR/index.html\|^$FRONTEND_DIR/package.json\|^$FRONTEND_DIR/vite.config.ts"; then echo "=== Frontend-Aenderungen in der Stage entdeckt. Starte Build... ===" (cd "$FRONTEND_DIR" && npm run build) # Das neu gebaute dist-Verzeichnis direkt mit stagen git add "$FRONTEND_DIR/dist" echo "=== Build abgeschlossen und frontend/dist gestaged. ===" else echo "=== Keine Frontend-Aenderungen in der Stage. Ueberspringe Build. ===" fi # Führe den eigentlichen Commit mit den übergebenen Parametern durch exec git commit "$@"