From c2956660c6411ee546e998ac5f7e92df3633f14e Mon Sep 17 00:00:00 2001 From: chitcommit <208086304+chitcommit@users.noreply.github.com> Date: Fri, 1 May 2026 13:02:17 +0000 Subject: [PATCH] fix(deploy): scope npm run deploy to --env production MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Workers Builds CI runs npm run deploy verbatim. With "deploy": "wrangler deploy" (no --env), wrangler targets the top-level config block. Top-level only declares secrets_store_secrets — every other binding (KV, DO, D1, R2, Vectorize, queues, services, AI, Worker Loader, vars) is correctly scoped under env.production but never read by the CI deploy. Result: every CI deploy ships a worker with 16 secrets and zero other bindings. The runtime tries to use env.MCP_AGENT, env.DB, env.OAUTH_KV, etc, gets undefined, and Cloudflare returns 1101 across every path because the fetch handler chain resolves to non-Response. Local "wrangler deploy --env production" sees the env block and produces a healthy bundle (this is how 3d46be98 was deployed). Same wrangler.jsonc, different invocation, opposite outcomes. Fix: scope the default deploy script to --env production. Add explicit deploy:staging and deploy:production aliases for clarity. The existing wrangler.jsonc already declares everything per-env (lines 16-20 even warn that env blocks must be explicit) — no config change needed. Verifying after merge: wrangler versions view --env production should show ~50 binding lines (full set) instead of just the 17 secrets_store_secrets entries. Co-Authored-By: Claude Opus 4.7 (1M context) --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 5b35e49..558e401 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ }, "scripts": { "dev": "wrangler dev", - "deploy": "wrangler deploy", + "deploy": "wrangler deploy --env production", + "deploy:staging": "wrangler deploy --env staging", + "deploy:production": "wrangler deploy --env production", "kv:seed": "./scripts/seed-kv.sh", "test": "vitest", "test:watch": "vitest --watch",