From d268c5eb23c54140497e96cf610bd376524854b9 Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Sun, 2 Jun 2024 20:41:03 +0900 Subject: [PATCH 1/2] fix(nextjs): Add `clientTraceMetadata` for Next.js v15.0 --- packages/nextjs/src/config/withSentryConfig.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nextjs/src/config/withSentryConfig.ts b/packages/nextjs/src/config/withSentryConfig.ts index 32a4a885f9d7..02d452878a3f 100644 --- a/packages/nextjs/src/config/withSentryConfig.ts +++ b/packages/nextjs/src/config/withSentryConfig.ts @@ -89,7 +89,7 @@ function getFinalConfigObject( const nextJsVersion = getNextjsVersion(); if (nextJsVersion) { const { major, minor } = parseSemver(nextJsVersion); - if (major && minor && (major >= 15 || (major === 14 && minor >= 3))) { + if (typeof major === 'number' && typeof minor === 'number' && (major >= 15 || (major === 14 && minor >= 3))) { incomingUserNextConfigObject.experimental = { clientTraceMetadata: ['baggage', 'sentry-trace'], ...incomingUserNextConfigObject.experimental, From a564cabad5f9ea5f9d54630becdd30becff16877 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Mon, 3 Jun 2024 05:39:11 +0000 Subject: [PATCH 2/2] clean --- packages/nextjs/src/config/withSentryConfig.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/nextjs/src/config/withSentryConfig.ts b/packages/nextjs/src/config/withSentryConfig.ts index 02d452878a3f..ec9115b4ce3e 100644 --- a/packages/nextjs/src/config/withSentryConfig.ts +++ b/packages/nextjs/src/config/withSentryConfig.ts @@ -89,11 +89,13 @@ function getFinalConfigObject( const nextJsVersion = getNextjsVersion(); if (nextJsVersion) { const { major, minor } = parseSemver(nextJsVersion); - if (typeof major === 'number' && typeof minor === 'number' && (major >= 15 || (major === 14 && minor >= 3))) { - incomingUserNextConfigObject.experimental = { - clientTraceMetadata: ['baggage', 'sentry-trace'], - ...incomingUserNextConfigObject.experimental, - }; + if (major !== undefined && minor !== undefined && (major >= 15 || (major === 14 && minor >= 3))) { + incomingUserNextConfigObject.experimental = incomingUserNextConfigObject.experimental || {}; + incomingUserNextConfigObject.experimental.clientTraceMetadata = [ + 'baggage', + 'sentry-trace', + ...(incomingUserNextConfigObject.experimental?.clientTraceMetadata || []), + ]; } } else { // eslint-disable-next-line no-console