mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-23 11:46:28 +00:00
45 lines
1.2 KiB
Bash
Executable File
45 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
FRONTEND_DEV_HOST=${FRONTEND_DEV_HOST:-127.0.0.1}
|
|
FRONTEND_DEV_PORT=${FRONTEND_DEV_PORT:-5173}
|
|
FRONTEND_DEV_SERVER=${FRONTEND_DEV_SERVER:-http://${FRONTEND_DEV_HOST}:${FRONTEND_DEV_PORT}}
|
|
BACKEND_CMD=${BACKEND_CMD:-go run ./cmd/pulse}
|
|
VITE_ARGS=${VITE_ARGS:-}
|
|
|
|
cleanup() {
|
|
local exit_code=${1:-$?}
|
|
trap - EXIT INT TERM
|
|
if [[ -n ${VITE_PID:-} ]] && kill -0 "$VITE_PID" >/dev/null 2>&1; then
|
|
kill "$VITE_PID" >/dev/null 2>&1 || true
|
|
fi
|
|
if [[ -n ${BACKEND_PID:-} ]] && kill -0 "$BACKEND_PID" >/dev/null 2>&1; then
|
|
kill "$BACKEND_PID" >/dev/null 2>&1 || true
|
|
fi
|
|
wait >/dev/null 2>&1 || true
|
|
exit "$exit_code"
|
|
}
|
|
|
|
trap cleanup EXIT INT TERM
|
|
|
|
export FRONTEND_DEV_SERVER
|
|
|
|
printf "[dev-hot] Starting Vite dev server at %s\n" "$FRONTEND_DEV_SERVER"
|
|
(
|
|
cd frontend-modern
|
|
npm run dev -- --host "$FRONTEND_DEV_HOST" --port "$FRONTEND_DEV_PORT" $VITE_ARGS
|
|
) &
|
|
VITE_PID=$!
|
|
|
|
# Give Vite a moment to boot up before starting the backend proxy.
|
|
sleep 2
|
|
|
|
printf "[dev-hot] Starting Pulse backend with FRONTEND_DEV_SERVER=%s\n" "$FRONTEND_DEV_SERVER"
|
|
${BACKEND_CMD} &
|
|
BACKEND_PID=$!
|
|
|
|
# Wait for either process to exit and propagate the status code.
|
|
wait -n "$VITE_PID" "$BACKEND_PID"
|
|
EXIT_STATUS=$?
|
|
cleanup "$EXIT_STATUS"
|