#!/usr/bin/env bash # Deploy the built extension to a STAGING Directus extensions dir. Never target prod. # Usage: ./dev/deploy-staging.sh set -euo pipefail HOST="${1:?usage: deploy-staging.sh }" EXT_ROOT="${2:?usage: deploy-staging.sh }" NAME="directus-extension-generate-image-previews" STAMP="$(date +%Y%m%d-%H%M%S)" cd "$(dirname "$0")/.." npm run build ssh "$HOST" "mkdir -p '$EXT_ROOT/$NAME' && if [ -d '$EXT_ROOT/$NAME/dist' ]; then cp -a '$EXT_ROOT/$NAME/dist' '$EXT_ROOT/$NAME/dist.bak-$STAMP'; fi" rsync -az --delete dist/ "$HOST:$EXT_ROOT/$NAME/dist/" scp package.json "$HOST:$EXT_ROOT/$NAME/package.json" echo "deployed to $HOST:$EXT_ROOT/$NAME (backup stamp: $STAMP)" echo "restart staging Directus, then check: docker logs | grep -i 'loaded extensions'"