#!/bin/sh set -eu cd -- "$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd)" cmd=${1:-} if [ "$#" -gt 0 ]; then shift; fi case "$cmd" in migrate) exec docker compose run --rm --no-deps -T --entrypoint sh app -c "vendor/bin/phinx migrate $*" ;; seed) exec docker compose run --rm --no-deps -T --entrypoint sh app -c "vendor/bin/phinx seed:run $*" ;; down) for arg do case "$arg" in --volumes*|-v) echo 'Volume removal is forbidden by this wrapper' >&2; exit 2 ;; esac done exec docker compose down "$@" ;; up) exec docker compose up -d --build "$@" ;; test|lint) exec docker compose run --rm --no-deps -T --entrypoint composer app "$cmd" "$@" ;; import|worker-once) exec docker compose run --rm -T --entrypoint php app bin/meshvault "$cmd" "$@" ;; worker) # Interactive so Ctrl+C reaches the worker's graceful-stop handler. exec docker compose run --rm --entrypoint php app bin/meshvault worker "$@" ;; assets) exec docker compose run --rm --no-deps -T assets npm run build -- "$@" ;; watch|assets:watch) exec docker compose run --rm --no-deps -T assets npm run watch -- "$@" ;; *) echo 'Usage: dev.sh up|down|test|lint|assets|watch|migrate|seed|import|worker|worker-once [arguments]' >&2 exit 2 ;; esac