diff --git a/package.json b/package.json index b1efc9f..e9db742 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "test": "test" }, "scripts": { - "start": "npm run backend:start", + "start": "bash scripts/start-all-dev.sh", "dev": "npm run frontend:dev", "build": "npm run frontend:build", "test": "npm run backend:test", diff --git a/scripts/start-all-dev.sh b/scripts/start-all-dev.sh new file mode 100755 index 0000000..47d3199 --- /dev/null +++ b/scripts/start-all-dev.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -euo pipefail + +cleanup() { + echo + echo "Stopping frontend and backend..." + local pids + pids="$(jobs -p || true)" + if [ -n "$pids" ]; then + kill $pids 2>/dev/null || true + wait $pids 2>/dev/null || true + fi +} +trap cleanup INT TERM EXIT + +echo "Starting backend..." +npm run backend:start & + +echo "Starting frontend..." +npm run frontend:dev & + +wait