27 lines
1.0 KiB
Bash
Executable File
27 lines
1.0 KiB
Bash
Executable File
#!/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 "$@"
|