mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-09 07:01:27 -07:00
34 lines
1.1 KiB
Bash
Executable File
34 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
# Extract name and version from package.json using jq
|
|
NAME=$(jq -r '.name' package.json)
|
|
VERSION=$(get-version)
|
|
|
|
# Resolve the base domain (and this worker's subdomain) from the gitignored
|
|
# env.json at the repo root, then deploy onto the custom domain via `--domain`.
|
|
# This keeps the real domain out of versioned files — committed wrangler.jsonc
|
|
# has no routes, and the base domain is passed as the DOMAIN var at runtime.
|
|
ROOT=$(git rev-parse --show-toplevel)
|
|
ENV_JSON="$ROOT/env.json"
|
|
if [ ! -f "$ENV_JSON" ]; then
|
|
echo "error: $ENV_JSON not found — copy env.example.json and set your domain" >&2
|
|
exit 1
|
|
fi
|
|
|
|
DIR=$(basename "$PWD")
|
|
DOMAIN=$(jq -r '.domain' "$ENV_JSON")
|
|
# Per-app subdomain override, falling back to the worker's directory name.
|
|
SUBDOMAIN=$(jq -r --arg d "$DIR" '.subdomains[$d] // $d' "$ENV_JSON")
|
|
HOST="$SUBDOMAIN.$DOMAIN"
|
|
|
|
# Deploy with wrangler using the extracted values as binding variables
|
|
echo "Deploying worker $NAME version $VERSION to $HOST"
|
|
exec wrangler deploy \
|
|
--var NAME:"$NAME" \
|
|
--var SENTRY_RELEASE:"$VERSION" \
|
|
--var DOMAIN:"$DOMAIN" \
|
|
--domain "$HOST" \
|
|
--minify \
|
|
"$@"
|