diff --git a/packages/cloud-artifacts/src/types.d.ts b/packages/cloud-artifacts/src/types.d.ts index 692a6e012..2d6ff7d20 100644 --- a/packages/cloud-artifacts/src/types.d.ts +++ b/packages/cloud-artifacts/src/types.d.ts @@ -90,13 +90,15 @@ interface ExportedHandler { // Wrangler-generated worker-configuration.d.ts supplies TOKEN via `wrangler secret put`. // This declaration provides the R2 binding + wrangler vars so the Worker compiles // without the generated file. - -declare global { - interface Env { - BUCKET: R2Bucket - TOKEN: string - MAX_BYTES: string - DEFAULT_TTL_DAYS: string - PUBLIC_URL: string - } +// +// NOTE: 这个文件是脚本(没有 top-level import/export),顶层 interface 自动是 global +// ambient,会和 worker-configuration.d.ts 的 `interface Env` 走 interface declaration +// merging。不要用 `declare global { ... }` 包裹——脚本文件里那种写法是 TS2669 错误, +// 在 .d.ts 里甚至会被静默吞掉,导致 Env 桩完全不生效(CI 上就是这种情况)。 +interface Env { + BUCKET: R2Bucket + TOKEN: string + MAX_BYTES: string + DEFAULT_TTL_DAYS: string + PUBLIC_URL: string }