diff --git a/.changeset/legal-bags-agree.md b/.changeset/legal-bags-agree.md new file mode 100644 index 00000000..ebc78f93 --- /dev/null +++ b/.changeset/legal-bags-agree.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/cloudflare": patch +--- + +fix `deploy` and `upload` commands not taking into account environment variables diff --git a/packages/cloudflare/src/cli/commands/skew-protection.ts b/packages/cloudflare/src/cli/commands/skew-protection.ts index e6456848..acac2161 100644 --- a/packages/cloudflare/src/cli/commands/skew-protection.ts +++ b/packages/cloudflare/src/cli/commands/skew-protection.ts @@ -45,18 +45,23 @@ const MS_PER_DAY = 24 * 3600 * 1000; * * @param options Build options * @param config OpenNext config - * @param envVars Environment variables + * @param workerEnvVars Worker Environment variables (taken from the wrangler config files) * @returns Deployment mapping or undefined */ export async function getDeploymentMapping( options: BuildOptions, config: OpenNextConfig, - envVars: WorkerEnvVar + workerEnvVars: WorkerEnvVar ): Promise | undefined> { if (config.cloudflare?.skewProtection?.enabled !== true) { return undefined; } + // Note that `process.env` is spread after `workerEnvVars` since we do want + // system environment variables to take precedence over the variables defined + // in the wrangler config files + const envVars = { ...workerEnvVars, ...process.env }; + const nextConfig = loadConfig(path.join(options.appBuildOutputPath, ".next")); const deploymentId = nextConfig.deploymentId;