mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-08 22:51:30 -07:00
37 lines
1.3 KiB
Bash
Executable File
37 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
. "$(git rev-parse --show-toplevel)/packages/tools/src/sh/env.sh"
|
|
|
|
NAME=$(jq -r '.name' package.json)
|
|
|
|
# Tuning knobs come from the same gitignored root .env a deploy reads (RECFLARE_<VAR>, see
|
|
# .env.example), so a knob is configured in exactly one place whether you're running locally
|
|
# or shipping. Unset knobs fall back to the worker's own default constants, same as a deploy.
|
|
#
|
|
# Passed as `--var` rather than left to wrangler's own .env loading: wrangler only reads a
|
|
# .env sitting next to the worker's wrangler.jsonc, which would mean a second file per app.
|
|
recflare_load_env
|
|
EXTRA_VARS=$(recflare_vars)
|
|
|
|
# Give each worker a stable, unique dev port so `turbo dev` can run them all in
|
|
# parallel without colliding on wrangler's default 8787 (and its 9229 inspector
|
|
# port). The offset is the worker's alphabetical position among its siblings, so
|
|
# it stays deterministic and needs no per-worker configuration.
|
|
OFFSET=$(
|
|
for dir in ../*/; do
|
|
[ -f "${dir}wrangler.jsonc" ] || continue
|
|
jq -r '.name' "${dir}package.json"
|
|
done | sort | grep -Fnx "$NAME" | cut -d: -f1
|
|
)
|
|
PORT=$((8787 + OFFSET - 1))
|
|
INSPECTOR_PORT=$((9229 + OFFSET - 1))
|
|
|
|
# $EXTRA_VARS is intentionally unquoted — it's a flag list to word-split on.
|
|
exec wrangler dev \
|
|
--var NAME:"$NAME" \
|
|
$EXTRA_VARS \
|
|
--port "$PORT" \
|
|
--inspector-port "$INSPECTOR_PORT" \
|
|
"$@"
|