Files
agents/scripts/dev.sh
T
2026-10-13 15:30:11 +07:00

36 lines
1.1 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
if [[ ! -f evening_detective_server/.env ]]; then
echo 'Сначала скопируйте evening_detective_server/.env.example в evening_detective_server/.env.' >&2
exit 1
fi
if [[ ! -d evening_detective_frontend/node_modules ]]; then
echo 'Сначала выполните npm --prefix evening_detective_frontend ci.' >&2
exit 1
fi
docker compose -f evening_detective_server/docker-compose-db.yml up -d --wait
# Отдельные группы позволяют остановить и go run/npm, и их дочерние процессы.
set -m
pids=()
cleanup() {
trap - EXIT INT TERM
for pid in "${pids[@]}"; do
kill -TERM -- "-$pid" 2>/dev/null || true
done
wait || true
}
trap cleanup EXIT
trap 'exit 130' INT
trap 'exit 143' TERM
make -C evening_detective_server run &
pids+=("$!")
(cd evening_detective_frontend && exec npm run dev) &
pids+=("$!")
echo 'Разработка: http://localhost:5173; API: http://localhost:8090. Остановка: Ctrl+C.'
wait -n "${pids[@]}"