Files
MeshVault/dev.sh

32 lines
1.3 KiB
Bash

#!/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