Files
cfw-autumn/scripts/dw/helpers/url.ts
amianthus 25e920bbd3 feat(dw): 🎸 parallel agent worktrees with isolated infra + test harness
bun dw spins up a fully isolated per-worktree dev stack: Neon DB branch,
Dragonfly + ElasticMQ via docker compose, portless aliases, tmux
session, and emulate.dev Google OAuth. Workers, dev server, vite,
checkout, and stripe-listen run as concurrently siblings. bun setup-test
auto-runs on first dw and seeds unit-test-org via
clearOrg+setupOrg+ensureDefaultStripeAccount with 13 features + team
invites for all 5 useautumn.com members. Hardcoded localhost URLs in
test scenarios now read AUTUMN_TEST_BASE_URL/AUTUMN_TEST_VITE_URL.
preload-env.ts loads .env.local so bun t/cm/setup-test route to the
worktree server. 1265-line scripts/dw.ts split into scripts/dw/ module
(index + commands + helpers). server/src/db/initDrizzle.ts reverted to
upstream (search_path concerns solved by per-branch Neon isolation).
Workers enabled in agent worktrees now that SQS is per-worktree via
ElasticMQ.
2026-05-16 02:02:43 +01:00

23 lines
552 B
TypeScript

export function forceSslVerifyFull(url: string): string {
try {
const u = new URL(url);
u.searchParams.set("sslmode", "verify-full");
return u.toString();
} catch {
return url;
}
}
export function rewriteDbEnv(
env: Record<string, string>,
branchUrl: string,
): Record<string, string> {
const out = { ...env };
const dbUrl = forceSslVerifyFull(branchUrl);
out.DATABASE_URL = dbUrl;
out.DATABASE_CRITICAL_URL = dbUrl;
// Replica URL stays unset for agent branches (read from primary).
delete out.DATABASE_REPLICA_URL;
return out;
}