39 lines
945 B
Bash
39 lines
945 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
COMPOSE_FILE="${PROJECT_ROOT}/docker-compose.dev.yml"
|
||
|
|
|
||
|
|
usage() {
|
||
|
|
printf 'Usage: %s {up|down|logs|check|test}\n' "$0"
|
||
|
|
}
|
||
|
|
|
||
|
|
command="${1:-}"
|
||
|
|
|
||
|
|
case "${command}" in
|
||
|
|
up)
|
||
|
|
docker compose --file "${COMPOSE_FILE}" up --build --remove-orphans
|
||
|
|
;;
|
||
|
|
down)
|
||
|
|
docker compose --file "${COMPOSE_FILE}" down --remove-orphans
|
||
|
|
;;
|
||
|
|
logs)
|
||
|
|
docker compose --file "${COMPOSE_FILE}" logs --follow
|
||
|
|
;;
|
||
|
|
check)
|
||
|
|
uv run --directory "${PROJECT_ROOT}/zhixing-server" ruff format --check .
|
||
|
|
uv run --directory "${PROJECT_ROOT}/zhixing-server" ruff check .
|
||
|
|
uv run --directory "${PROJECT_ROOT}/zhixing-server" pyright
|
||
|
|
pnpm --dir "${PROJECT_ROOT}/zhixing-web" check
|
||
|
|
;;
|
||
|
|
test)
|
||
|
|
uv run --directory "${PROJECT_ROOT}/zhixing-server" pytest
|
||
|
|
pnpm --dir "${PROJECT_ROOT}/zhixing-web" test
|
||
|
|
;;
|
||
|
|
*)
|
||
|
|
usage
|
||
|
|
exit 1
|
||
|
|
;;
|
||
|
|
esac
|