Production Caddy/FPM setup (build/Dockerfile, docker-compose.yml) is untouched -- this only swaps the local dev stack. - .ddev/config.yaml: PHP 8.4, Node 20, sqlite (db container omitted), libreoffice/ghostscript/poppler/sqlite3 packages, Vite port 5173 via Traefik, post-start hooks bootstrap the app on every `ddev start`. - .ddev/commands/web/dev: custom `ddev dev` runs queue + pail + vite (mirror of old `composer dev`). - start_dev.sh / stop_dev.sh: rewritten as DDEV wrappers so devs can onboard without DDEV knowledge; --keep-ddev keeps containers up. - vite.config.js: HMR over WSS to https://pp-planer.ddev.site:5173. - playwright + auth.setup.ts: baseURL switched to https://pp-planer.ddev.site. - .env.example: APP_URL and CHURCHTOOLS_REDIRECT_URI use ddev.site. - composer: drop laravel/sail (replaced by DDEV). - package.json: add explicit "name" so host/container lockfiles match (container WORKDIR is /var/www/html, npm would otherwise pick "html" as project name). - tests/fixtures/propresenter/Test.pro: inline reference fixture; tests no longer depend on a sibling host directory. - AGENTS.md: docs rewritten for DDEV workflow.
58 lines
1.5 KiB
Bash
Executable file
58 lines
1.5 KiB
Bash
Executable file
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
PID_FILE="$PROJECT_DIR/.dev.pid"
|
||
LOG_FILE="$PROJECT_DIR/.dev.log"
|
||
cd "$PROJECT_DIR"
|
||
|
||
GREEN='\033[0;32m'
|
||
RED='\033[0;31m'
|
||
YELLOW='\033[1;33m'
|
||
CYAN='\033[0;36m'
|
||
NC='\033[0m'
|
||
|
||
KEEP_DDEV=false
|
||
if [ "${1:-}" = "--keep-ddev" ]; then
|
||
KEEP_DDEV=true
|
||
fi
|
||
|
||
if [ -f "$PID_FILE" ]; then
|
||
DEV_PID="$(cat "$PID_FILE")"
|
||
if kill -0 "$DEV_PID" 2>/dev/null; then
|
||
kill -TERM "$DEV_PID" 2>/dev/null || true
|
||
for _ in 1 2 3 4 5; do
|
||
kill -0 "$DEV_PID" 2>/dev/null || break
|
||
sleep 0.5
|
||
done
|
||
kill -0 "$DEV_PID" 2>/dev/null && kill -KILL "$DEV_PID" 2>/dev/null || true
|
||
echo -e " ${YELLOW}▸${NC} Dev-Worker (PID $DEV_PID) gestoppt"
|
||
else
|
||
echo -e " ${YELLOW}▸${NC} Dev-Worker waren bereits beendet"
|
||
fi
|
||
rm -f "$PID_FILE"
|
||
else
|
||
echo -e " ${YELLOW}▸${NC} Keine PID-Datei – keine laufenden Dev-Worker"
|
||
fi
|
||
|
||
rm -f "$LOG_FILE"
|
||
|
||
if [ "$KEEP_DDEV" = true ]; then
|
||
echo ""
|
||
echo -e "${GREEN}Dev-Worker gestoppt. DDEV läuft weiter.${NC}"
|
||
echo -e " Komplett stoppen: ${CYAN}ddev stop${NC}"
|
||
echo ""
|
||
exit 0
|
||
fi
|
||
|
||
if command -v ddev >/dev/null 2>&1; then
|
||
echo -e "${YELLOW}▸ DDEV stoppen …${NC}"
|
||
ddev stop >/dev/null 2>&1 || true
|
||
echo -e " ${GREEN}✓${NC} DDEV gestoppt"
|
||
fi
|
||
|
||
echo ""
|
||
echo -e "${GREEN}Dev-Umgebung komplett gestoppt.${NC}"
|
||
echo -e " Tipp: ${CYAN}./stop_dev.sh --keep-ddev${NC} stoppt nur die Worker (DDEV bleibt an)"
|
||
echo ""
|