From 61360f0255d559e2cf9d33cce1896ac90d513aeb Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Tue, 15 Jul 2025 15:45:49 +0200 Subject: [PATCH 01/12] update react versions for turbo test --- .../test-applications/nextjs-turbo/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-turbo/package.json b/dev-packages/e2e-tests/test-applications/nextjs-turbo/package.json index 9102de60706b..e4f02f7438f3 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-turbo/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-turbo/package.json @@ -9,17 +9,17 @@ "test:dev": "TEST_ENV=development playwright test", "test:build": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@canary && pnpm add react-dom@canary && pnpm build", - "test:build-latest": "pnpm install && pnpm add next@latest && pnpm add react@rc && pnpm add react-dom@rc && pnpm build", + "test:build-latest": "pnpm install && pnpm add next@latest && pnpm build", "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": { "@sentry/nextjs": "latest || *", "@types/node": "^18.19.1", - "@types/react": "18.0.26", - "@types/react-dom": "18.0.9", + "@types/react": "^19", + "@types/react-dom": "^19", "next": "^15.3.5", - "react": "rc", - "react-dom": "rc", + "react": "^19", + "react-dom": "^19", "typescript": "~5.0.0" }, "devDependencies": { From 16190d637c56c044db77afa677879ad3f147ee61 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Tue, 15 Jul 2025 15:46:10 +0200 Subject: [PATCH 02/12] run nextjs-15 in turbo? --- .../test-applications/nextjs-15/package.json | 3 ++- .../nextjs-15/playwright.config.mjs | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 19acabbba0c4..d9ad84196458 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -7,11 +7,12 @@ "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", + "test:dev-turbopack": "TEST_ENV=dev-turbopack playwright test", "test:build": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", - "test:assert": "pnpm test:prod && pnpm test:dev" + "test:assert": "pnpm test:dev-turbopack" }, "dependencies": { "@sentry/nextjs": "latest || *", diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/playwright.config.mjs b/dev-packages/e2e-tests/test-applications/nextjs-15/playwright.config.mjs index c675d003853a..f2aa01e3e3c8 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/playwright.config.mjs +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/playwright.config.mjs @@ -5,8 +5,24 @@ if (!testEnv) { throw new Error('No test env defined'); } +const getStartCommand = () => { + if (testEnv === 'dev-turbopack') { + return 'pnpm next dev -p 3030 --turbopack'; + } + + if (testEnv === 'development') { + return 'pnpm next dev -p 3030'; + } + + if (testEnv === 'production') { + return 'pnpm next start -p 3030'; + } + + throw new Error(`Unknown test env: ${testEnv}`); +}; + const config = getPlaywrightConfig({ - startCommand: testEnv === 'development' ? 'pnpm next dev -p 3030' : 'pnpm next start -p 3030', + startCommand: getStartCommand(), port: 3030, }); From b5c90600c306eb245e6a8d439b420e0e0feb9d1e Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 14:39:20 +0200 Subject: [PATCH 03/12] bump canary --- dev-packages/e2e-tests/test-applications/nextjs-15/.npmrc | 2 ++ dev-packages/e2e-tests/test-applications/nextjs-15/package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/.npmrc b/dev-packages/e2e-tests/test-applications/nextjs-15/.npmrc index 070f80f05092..a3160f4de175 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/.npmrc +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/.npmrc @@ -1,2 +1,4 @@ @sentry:registry=http://127.0.0.1:4873 @sentry-internal:registry=http://127.0.0.1:4873 +public-hoist-pattern[]=*import-in-the-middle* +public-hoist-pattern[]=*require-in-the-middle* diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index d9ad84196458..532a31051713 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -20,7 +20,7 @@ "@types/react": "18.0.26", "@types/react-dom": "18.0.9", "ai": "^3.0.0", - "next": "15.3.0-canary.33", + "next": "15.4.2-canary.1", "react": "beta", "react-dom": "beta", "typescript": "~5.0.0", From dec24620c01cafdcdad5f260db13887647d51905 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 14:39:27 +0200 Subject: [PATCH 04/12] skip dev test --- .../test-applications/nextjs-15/tests/prefetch-spans.test.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/prefetch-spans.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/prefetch-spans.test.ts index b59a45f31f8b..550f6726e789 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/prefetch-spans.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/prefetch-spans.test.ts @@ -2,7 +2,10 @@ import { expect, test } from '@playwright/test'; import { waitForTransaction } from '@sentry-internal/test-utils'; test('Prefetch client spans should have a http.request.prefetch attribute', async ({ page }) => { - test.skip(process.env.TEST_ENV === 'development', "Prefetch requests don't have the prefetch header in dev mode"); + test.skip( + process.env.TEST_ENV === 'development' || process.env.TEST_ENV === 'dev-turbopack', + "Prefetch requests don't have the prefetch header in dev mode", + ); const pageloadTransactionPromise = waitForTransaction('nextjs-15', async transactionEvent => { return transactionEvent?.transaction === '/prefetching'; From 84e4538af4fd7a6702f470df2c84f0bc3a6f8984 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 14:43:23 +0200 Subject: [PATCH 05/12] run turbo in prod --- .../e2e-tests/test-applications/nextjs-15/package.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 532a31051713..be5114e7b84d 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -12,7 +12,8 @@ "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", - "test:assert": "pnpm test:dev-turbopack" + "test:build-turbo": "pnpm install && next build --turbopack", + "test:assert": "pnpm test:prod && pnpm test:dev && pnpm test:dev-turbopack" }, "dependencies": { "@sentry/nextjs": "latest || *", @@ -42,6 +43,11 @@ { "build-command": "test:build-latest", "label": "nextjs-15 (latest)" + }, + { + "build-command": "test:build-turbo", + "assert-command": "pnpm test:prod", + "label": "nextjs-15 (turbo-prod)" } ] } From 8dfb8d4ff6a96b0bd144ae4a9c54b910d40e8fa3 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 15:23:35 +0200 Subject: [PATCH 06/12] run turbo tests on latest version --- .../e2e-tests/test-applications/nextjs-15/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index be5114e7b84d..8b176fe561e2 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -7,13 +7,13 @@ "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", - "test:dev-turbopack": "TEST_ENV=dev-turbopack playwright test", + "test:dev-turbo": "TEST_ENV=dev-turbopack playwright test", "test:build": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", - "test:build-turbo": "pnpm install && next build --turbopack", - "test:assert": "pnpm test:prod && pnpm test:dev && pnpm test:dev-turbopack" + "test:build-turbo": "pnpm install && pnpm add next@latest && next build --turbopack", + "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": { "@sentry/nextjs": "latest || *", @@ -46,8 +46,8 @@ }, { "build-command": "test:build-turbo", - "assert-command": "pnpm test:prod", - "label": "nextjs-15 (turbo-prod)" + "assert-command": "pnpm test:prod && pnpm test:dev-turbo", + "label": "nextjs-15 (turbo)" } ] } From 8da456562c6a859dfb7b2f598e3116e845119218 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 15:54:48 +0200 Subject: [PATCH 07/12] . --- .../e2e-tests/test-applications/nextjs-15/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 8b176fe561e2..2fdc16882c33 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -8,12 +8,12 @@ "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:dev-turbo": "TEST_ENV=dev-turbopack playwright test", - "test:build": "pnpm install && pnpm build", + "test:build-turbssssso": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", - "test:build-turbo": "pnpm install && pnpm add next@latest && next build --turbopack", - "test:assert": "pnpm test:prod && pnpm test:dev" + "test:build": "pnpm install && pnpm add next@@15.0.0-canary.194 && next build --turbopack", + "test:assert": "pnpm test:prod && pnpm test:dev-turbo" }, "dependencies": { "@sentry/nextjs": "latest || *", From 8b0ce0cc3bd33eea45b257b8dad5259cc89d33e9 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 16:10:55 +0200 Subject: [PATCH 08/12] .. --- .../e2e-tests/test-applications/nextjs-15/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 2fdc16882c33..2bdf731fd523 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -8,11 +8,11 @@ "test:prod": "TEST_ENV=production playwright test", "test:dev": "TEST_ENV=development playwright test", "test:dev-turbo": "TEST_ENV=dev-turbopack playwright test", - "test:build-turbssssso": "pnpm install && pnpm build", + "test:build": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", - "test:build": "pnpm install && pnpm add next@@15.0.0-canary.194 && next build --turbopack", + "test:build-turbo": "pnpm install && pnpm add next@@15.0.0-canary.194 && next build --turbopack", "test:assert": "pnpm test:prod && pnpm test:dev-turbo" }, "dependencies": { From d1fde768d049da55fd8c968989b024c23758baaa Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 16:29:40 +0200 Subject: [PATCH 09/12] leftover --- dev-packages/e2e-tests/test-applications/nextjs-15/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 2bdf731fd523..539da6a03b02 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -13,7 +13,7 @@ "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", "test:build-turbo": "pnpm install && pnpm add next@@15.0.0-canary.194 && next build --turbopack", - "test:assert": "pnpm test:prod && pnpm test:dev-turbo" + "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": { "@sentry/nextjs": "latest || *", From 9234ddb6760289279af21679f1588e2829e88d6a Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 16:46:12 +0200 Subject: [PATCH 10/12] . --- dev-packages/e2e-tests/test-applications/nextjs-15/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 539da6a03b02..7593f8ce41f8 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -12,7 +12,7 @@ "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", - "test:build-turbo": "pnpm install && pnpm add next@@15.0.0-canary.194 && next build --turbopack", + "test:build-turbo": "pnpm install && pnpm add next@15.0.0-canary.194 && next build --turbopack", "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": { From 70883545ef5638f137610c096e6f0619ed024ef6 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 17:02:37 +0200 Subject: [PATCH 11/12] maybe use latest canary for turbo --- dev-packages/e2e-tests/test-applications/nextjs-15/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 7593f8ce41f8..4fefb102a61e 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -12,7 +12,7 @@ "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", - "test:build-turbo": "pnpm install && pnpm add next@15.0.0-canary.194 && next build --turbopack", + "test:build-turbo": "pnpm install && pnpm add next@v15.4.2-canary.1 && next build --turbopack", "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": { From 3f9d8cbedf70b3532fbc2cf30f977e252be1c731 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 16 Jul 2025 17:21:54 +0200 Subject: [PATCH 12/12] - --- dev-packages/e2e-tests/test-applications/nextjs-15/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 4fefb102a61e..8216f06f7be6 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -12,7 +12,7 @@ "test:build-canary": "pnpm install && pnpm add next@canary && pnpm add react@beta && pnpm add react-dom@beta && pnpm build", "//": "15.0.0-canary.194 is the canary release attached to Next.js RC 1. We need to use the canary version instead of the RC because PPR will not work without. The specific react version is also attached to RC 1.", "test:build-latest": "pnpm install && pnpm add next@15.0.0-canary.194 && pnpm add react@19.0.0-rc-cd22717c-20241013 && pnpm add react-dom@19.0.0-rc-cd22717c-20241013 && pnpm build", - "test:build-turbo": "pnpm install && pnpm add next@v15.4.2-canary.1 && next build --turbopack", + "test:build-turbo": "pnpm install && pnpm add next@15.4.2-canary.1 && next build --turbopack", "test:assert": "pnpm test:prod && pnpm test:dev" }, "dependencies": {