From 1e0566b9accd4a0e8d581b9eb790ed28adb311ff Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Tue, 6 Jun 2023 07:54:06 -0700 Subject: [PATCH] Update id config handling (#50847) Adds a separate flag for leveraging the env variable. --- packages/next/src/server/config-schema.ts | 3 +++ packages/next/src/server/config-shared.ts | 4 +++- packages/next/src/server/config.ts | 8 ++++++++ .../deployment-id-handling/deployment-id-handling.test.ts | 5 +++++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/next/src/server/config-schema.ts b/packages/next/src/server/config-schema.ts index 945e5de04189..d48a41060952 100644 --- a/packages/next/src/server/config-schema.ts +++ b/packages/next/src/server/config-schema.ts @@ -270,6 +270,9 @@ const configSchema = { craCompat: { type: 'boolean', }, + useDeploymentId: { + type: 'boolean', + }, useDeploymentIdServerActions: { type: 'boolean', }, diff --git a/packages/next/src/server/config-shared.ts b/packages/next/src/server/config-shared.ts index 691635f9428a..5987dfd7c3d8 100644 --- a/packages/next/src/server/config-shared.ts +++ b/packages/next/src/server/config-shared.ts @@ -144,6 +144,7 @@ export interface NextJsWebpackConfig { } export interface ExperimentalConfig { + useDeploymentId?: boolean useDeploymentIdServerActions?: boolean deploymentId?: string logging?: 'verbose' @@ -662,8 +663,9 @@ export const defaultConfig: NextConfig = { output: !!process.env.NEXT_PRIVATE_STANDALONE ? 'standalone' : undefined, modularizeImports: undefined, experimental: { + useDeploymentId: false, + deploymentId: undefined, useDeploymentIdServerActions: false, - deploymentId: process.env.NEXT_DEPLOYMENT_ID || '', appDocumentPreloading: undefined, clientRouterFilter: false, clientRouterFilterRedirects: false, diff --git a/packages/next/src/server/config.ts b/packages/next/src/server/config.ts index 7f07a1ddda3f..908f26732fa3 100644 --- a/packages/next/src/server/config.ts +++ b/packages/next/src/server/config.ts @@ -459,6 +459,14 @@ function assignDefaults( } } + // only leverage deploymentId + if (result.experimental?.useDeploymentId && process.env.NEXT_DEPLOYMENT_ID) { + if (!result.experimental) { + result.experimental = {} + } + result.experimental.deploymentId = process.env.NEXT_DEPLOYMENT_ID + } + // use the closest lockfile as tracing root if (!result.experimental?.outputFileTracingRoot) { let rootDir = findRootDir(dir) diff --git a/test/production/deployment-id-handling/deployment-id-handling.test.ts b/test/production/deployment-id-handling/deployment-id-handling.test.ts index 6e30fbb8ffd2..c69446d38379 100644 --- a/test/production/deployment-id-handling/deployment-id-handling.test.ts +++ b/test/production/deployment-id-handling/deployment-id-handling.test.ts @@ -10,6 +10,11 @@ createNextDescribe( env: { NEXT_DEPLOYMENT_ID: deploymentId, }, + nextConfig: { + experimental: { + useDeploymentId: true, + }, + }, }, ({ next }) => { it.each([