1
0
forked from baron/baron-sso
Files
baron-sso/devfront/scripts/runtime-mode.sh

45 lines
1.1 KiB
Bash

#!/usr/bin/env sh
set -eu
app_env="$(printf '%s' "${APP_ENV:-development}" | tr '[:upper:]' '[:lower:]')"
if [ -z "${VITE_DEVFRONT_PUBLIC_URL:-}" ] && [ -n "${DEVFRONT_URL:-}" ]; then
export VITE_DEVFRONT_PUBLIC_URL="$DEVFRONT_URL"
fi
if [ -z "${VITE_DEVFRONT_PUBLIC_URL:-}" ] && [ -n "${DEVFRONT_CALLBACK_URLS:-}" ]; then
first_devfront_callback="${DEVFRONT_CALLBACK_URLS%%,*}"
case "$first_devfront_callback" in
http://*/auth/callback | https://*/auth/callback)
export VITE_DEVFRONT_PUBLIC_URL="${first_devfront_callback%/auth/callback}"
;;
esac
fi
case "$app_env" in
production|prod|stage|staging)
mode="production"
;;
*)
mode="development"
;;
esac
if [ "${1:-}" = "--print-public-url" ]; then
printf '%s\n' "${VITE_DEVFRONT_PUBLIC_URL:-}"
exit 0
fi
if [ "${1:-}" = "--print-mode" ]; then
printf '%s\n' "$mode"
exit 0
fi
if [ "$mode" = "production" ]; then
echo "Running in production mode with Vite preview..."
exec sh -c "npm run build && npm run preview -- --host 0.0.0.0"
fi
echo "Running in development mode..."
exec npm run dev -- --host 0.0.0.0