@@ -61,12 +61,12 @@ interface SerializedDefineEnv {
6161 * Serializes the DefineEnv config so that it can be inserted into the code by Webpack/Turbopack, JSON stringifies each value.
6262 */
6363function serializeDefineEnv ( defineEnv : DefineEnv ) : SerializedDefineEnv {
64- const defineEnvStringified : SerializedDefineEnv = { }
65- for ( const key in defineEnv ) {
66- const value = defineEnv [ key ]
67- defineEnvStringified [ key ] = JSON . stringify ( value )
68- }
69-
64+ const defineEnvStringified : SerializedDefineEnv = Object . fromEntries (
65+ Object . entries ( defineEnv ) . map ( ( [ key , value ] ) => [
66+ key ,
67+ JSON . stringify ( value ) ,
68+ ] )
69+ )
7070 return defineEnvStringified
7171}
7272
@@ -167,9 +167,24 @@ export function getDefineEnv({
167167 'process.env.__NEXT_CACHE_COMPONENTS' : isCacheComponentsEnabled ,
168168 'process.env.__NEXT_USE_CACHE' : isUseCacheEnabled ,
169169
170- 'process.env.NEXT_DEPLOYMENT_ID' : config . experimental ?. useSkewCookie
171- ? false
172- : config . deploymentId || false ,
170+ ...( isClient
171+ ? {
172+ // TODO use `globalThis.NEXT_DEPLOYMENT_ID` on client to still support accessing
173+ // process.env.NEXT_DEPLOYMENT_ID in userland
174+ 'process.env.NEXT_DEPLOYMENT_ID' : config . experimental ?. useSkewCookie
175+ ? false
176+ : config . deploymentId || false ,
177+ }
178+ : config . experimental ?. runtimeServerDeploymentId
179+ ? {
180+ // Don't inline at all, keep process.env.NEXT_DEPLOYMENT_ID as is
181+ }
182+ : {
183+ 'process.env.NEXT_DEPLOYMENT_ID' : config . experimental ?. useSkewCookie
184+ ? false
185+ : config . deploymentId || false ,
186+ } ) ,
187+
173188 // Propagates the `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` environment
174189 // variable to the client.
175190 'process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING' :
@@ -372,8 +387,10 @@ export function getDefineEnv({
372387 for ( const key in nextConfigEnv ) {
373388 serializedDefineEnv [ key ] = safeKey ( key )
374389 }
375- for ( const key of [ 'process.env.NEXT_DEPLOYMENT_ID' ] ) {
376- serializedDefineEnv [ key ] = safeKey ( key )
390+ if ( ! config . experimental . runtimeServerDeploymentId ) {
391+ for ( const key of [ 'process.env.NEXT_DEPLOYMENT_ID' ] ) {
392+ serializedDefineEnv [ key ] = safeKey ( key )
393+ }
377394 }
378395 }
379396
0 commit comments