#!/bin/bash # Synchronisiert Versionsnummer ΓΌber das gesamte Projekt set -e # Farben fΓΌr Output GREEN='\033[0;32m' BLUE='\033[0;34m' NC='\033[0m' # No Color # Hole Version aus frontend/package.json (als Single Source of Truth) FRONTEND_VERSION=$(node -p "require('./frontend/package.json').version") echo -e "${BLUE}πŸ“¦ Synchronisiere Version: ${GREEN}${FRONTEND_VERSION}${NC}" # 1. Backend package.json aktualisieren echo " β”œβ”€ Backend package.json..." cd backend npm version $FRONTEND_VERSION --no-git-tag-version --allow-same-version cd .. # 2. OpenAPI generate-openapi.js aktualisieren echo " β”œβ”€ Backend OpenAPI Spec..." sed -i "s/version: '[0-9]\+\.[0-9]\+\.[0-9]\+'/version: '${FRONTEND_VERSION}'/" backend/src/generate-openapi.js # 2. Docker Compose Files (optional, falls vorhanden) if [ -f "docker/prod/docker-compose.yml" ]; then echo " β”œβ”€ Docker Compose (prod)..." sed -i "s/image: hobbyhimmel\/image-uploader-frontend:[0-9]\+\.[0-9]\+\.[0-9]\+/image: hobbyhimmel\/image-uploader-frontend:${FRONTEND_VERSION}/" docker/prod/docker-compose.yml || true sed -i "s/image: hobbyhimmel\/image-uploader-backend:[0-9]\+\.[0-9]\+\.[0-9]\+/image: hobbyhimmel\/image-uploader-backend:${FRONTEND_VERSION}/" docker/prod/docker-compose.yml || true fi # 3. OpenAPI Spec neu generieren echo " β”œβ”€ Regeneriere OpenAPI Spec..." cd backend npm run generate-openapi > /dev/null 2>&1 cd .. echo -e "${GREEN}βœ“ Alle Versionen auf ${FRONTEND_VERSION} synchronisiert!${NC}"