From 5e30a3d341d720238abbe30e7329d65d6b988456 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 29 Aug 2025 12:22:54 +0200 Subject: [PATCH 01/18] chore: Remove experimental from Nuxt SDK package description (#17483) --- packages/nuxt/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index a205b78c4bdd..4cf9dc962bb5 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -1,7 +1,7 @@ { "name": "@sentry/nuxt", "version": "10.7.0", - "description": "Official Sentry SDK for Nuxt (EXPERIMENTAL)", + "description": "Official Sentry SDK for Nuxt", "repository": "git://github.com/getsentry/sentry-javascript.git", "homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/nuxt", "author": "Sentry", From 499b79a179197f48e9bdd38f1c91255cccac80f8 Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Fri, 29 Aug 2025 12:22:09 -0400 Subject: [PATCH 02/18] fix(core): Only set template attributes on logs if parameters exist (#17480) resolves https://github.com/getsentry/sentry-javascript/issues/17479 --- packages/core/src/logs/exports.ts | 4 +++- packages/core/test/lib/logs/exports.test.ts | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/core/src/logs/exports.ts b/packages/core/src/logs/exports.ts index 79dfedf4ec87..1a503fdb94ed 100644 --- a/packages/core/src/logs/exports.ts +++ b/packages/core/src/logs/exports.ts @@ -153,7 +153,9 @@ export function _INTERNAL_captureLog( const beforeLogMessage = beforeLog.message; if (isParameterizedString(beforeLogMessage)) { const { __sentry_template_string__, __sentry_template_values__ = [] } = beforeLogMessage; - processedLogAttributes['sentry.message.template'] = __sentry_template_string__; + if (__sentry_template_values__?.length) { + processedLogAttributes['sentry.message.template'] = __sentry_template_string__; + } __sentry_template_values__.forEach((param, index) => { processedLogAttributes[`sentry.message.parameter.${index}`] = param; }); diff --git a/packages/core/test/lib/logs/exports.test.ts b/packages/core/test/lib/logs/exports.test.ts index 4fd01a16a304..c3369784c34a 100644 --- a/packages/core/test/lib/logs/exports.test.ts +++ b/packages/core/test/lib/logs/exports.test.ts @@ -281,6 +281,16 @@ describe('_INTERNAL_captureLog', () => { }); }); + it('does not set the template attribute if there are no parameters', () => { + const options = getDefaultTestClientOptions({ dsn: PUBLIC_DSN, enableLogs: true }); + const client = new TestClient(options); + + _INTERNAL_captureLog({ level: 'debug', message: fmt`User logged in` }, client, undefined); + + const logAttributes = _INTERNAL_getLogBuffer(client)?.[0]?.attributes; + expect(logAttributes).toEqual({}); + }); + it('processes logs through beforeSendLog when provided', () => { const beforeSendLog = vi.fn().mockImplementation(log => ({ ...log, From 7931f8d0730699670124d240555c8214bb3d3dec Mon Sep 17 00:00:00 2001 From: Matt Quinn Date: Mon, 1 Sep 2025 03:36:38 -0400 Subject: [PATCH 03/18] fix(nextjs): Fix parameterization for root catchall routes (#17489) --- .../config/manifest/createRouteManifest.ts | 14 ++++++--- .../catchall-at-root/app/[[...path]]/page.tsx | 1 + .../suites/catchall-at-root/app/page.tsx | 1 + .../catchall-at-root/catchall-at-root.test.ts | 30 +++++++++++++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 packages/nextjs/test/config/manifest/suites/catchall-at-root/app/[[...path]]/page.tsx create mode 100644 packages/nextjs/test/config/manifest/suites/catchall-at-root/app/page.tsx create mode 100644 packages/nextjs/test/config/manifest/suites/catchall-at-root/catchall-at-root.test.ts diff --git a/packages/nextjs/src/config/manifest/createRouteManifest.ts b/packages/nextjs/src/config/manifest/createRouteManifest.ts index 4df71b389c8b..1e905d858f73 100644 --- a/packages/nextjs/src/config/manifest/createRouteManifest.ts +++ b/packages/nextjs/src/config/manifest/createRouteManifest.ts @@ -77,10 +77,16 @@ function buildRegexForDynamicRoute(routePath: string): { regex: string; paramNam let pattern: string; if (hasOptionalCatchall) { - // For optional catchall, make the trailing slash and segments optional - // This allows matching both /catchall and /catchall/anything - const staticParts = regexSegments.join('/'); - pattern = `^/${staticParts}(?:/(.*))?$`; + if (regexSegments.length === 0) { + // If the optional catchall happens at the root, accept any path starting + // with a slash. Need capturing group for parameter extraction. + pattern = '^/(.*)$'; + } else { + // For optional catchall, make the trailing slash and segments optional + // This allows matching both /catchall and /catchall/anything + const staticParts = regexSegments.join('/'); + pattern = `^/${staticParts}(?:/(.*))?$`; + } } else { pattern = `^/${regexSegments.join('/')}$`; } diff --git a/packages/nextjs/test/config/manifest/suites/catchall-at-root/app/[[...path]]/page.tsx b/packages/nextjs/test/config/manifest/suites/catchall-at-root/app/[[...path]]/page.tsx new file mode 100644 index 000000000000..5d33b5d14573 --- /dev/null +++ b/packages/nextjs/test/config/manifest/suites/catchall-at-root/app/[[...path]]/page.tsx @@ -0,0 +1 @@ +// beep diff --git a/packages/nextjs/test/config/manifest/suites/catchall-at-root/app/page.tsx b/packages/nextjs/test/config/manifest/suites/catchall-at-root/app/page.tsx new file mode 100644 index 000000000000..2145a5eea70d --- /dev/null +++ b/packages/nextjs/test/config/manifest/suites/catchall-at-root/app/page.tsx @@ -0,0 +1 @@ +// Ciao diff --git a/packages/nextjs/test/config/manifest/suites/catchall-at-root/catchall-at-root.test.ts b/packages/nextjs/test/config/manifest/suites/catchall-at-root/catchall-at-root.test.ts new file mode 100644 index 000000000000..b7108b6f6f23 --- /dev/null +++ b/packages/nextjs/test/config/manifest/suites/catchall-at-root/catchall-at-root.test.ts @@ -0,0 +1,30 @@ +import path from 'path'; +import { describe, expect, test } from 'vitest'; +import { createRouteManifest } from '../../../../../src/config/manifest/createRouteManifest'; + +describe('catchall', () => { + const manifest = createRouteManifest({ appDirPath: path.join(__dirname, 'app') }); + + test('should generate a manifest with catchall route', () => { + expect(manifest).toEqual({ + staticRoutes: [{ path: '/' }], + dynamicRoutes: [ + { + path: '/:path*?', + regex: '^/(.*)$', + paramNames: ['path'], + }, + ], + }); + }); + + test('should generate correct pattern for catchall route', () => { + const catchallRoute = manifest.dynamicRoutes.find(route => route.path === '/:path*?'); + const regex = new RegExp(catchallRoute?.regex ?? ''); + expect(regex.test('/123')).toBe(true); + expect(regex.test('/abc')).toBe(true); + expect(regex.test('/123/456')).toBe(true); + expect(regex.test('/123/abc/789')).toBe(true); + expect(regex.test('/')).toBe(true); + }); +}); From abdc3b5f270e237c1beb03022a6ac309ce844d41 Mon Sep 17 00:00:00 2001 From: Francesco Gringl-Novy Date: Mon, 1 Sep 2025 09:56:50 +0200 Subject: [PATCH 04/18] feat(browser): Add replay.feedback CDN bundle (#17496) I think we originally decided to only have a error + feedback bundle and a error + tracing + replay + feedback bundle for simplicity. But I suppose it does not really make things easier that there is exactly one (error + replay + feedback) missing, so I'd just add this here now. Esp. if we want to add this in the loader this will be much easier to handle. --- packages/browser/rollup.bundle.config.mjs | 8 ++++++++ .../browser/src/index.bundle.replay.feedback.ts | 14 ++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 packages/browser/src/index.bundle.replay.feedback.ts diff --git a/packages/browser/rollup.bundle.config.mjs b/packages/browser/rollup.bundle.config.mjs index 5c8ba8c31a37..705ec3dfe1c1 100644 --- a/packages/browser/rollup.bundle.config.mjs +++ b/packages/browser/rollup.bundle.config.mjs @@ -85,6 +85,13 @@ const tracingReplayBaseBundleConfig = makeBaseBundleConfig({ outputFileBase: () => 'bundles/bundle.tracing.replay', }); +const replayFeedbackBaseBundleConfig = makeBaseBundleConfig({ + bundleType: 'standalone', + entrypoints: ['src/index.bundle.replay.feedback.ts'], + licenseTitle: '@sentry/browser (Replay, and Feedback)', + outputFileBase: () => 'bundles/bundle.replay.feedback', +}); + const tracingReplayFeedbackBaseBundleConfig = makeBaseBundleConfig({ bundleType: 'standalone', entrypoints: ['src/index.bundle.tracing.replay.feedback.ts'], @@ -98,6 +105,7 @@ builds.push( ...makeBundleConfigVariants(replayBaseBundleConfig), ...makeBundleConfigVariants(feedbackBaseBundleConfig), ...makeBundleConfigVariants(tracingReplayBaseBundleConfig), + ...makeBundleConfigVariants(replayFeedbackBaseBundleConfig), ...makeBundleConfigVariants(tracingReplayFeedbackBaseBundleConfig), ); diff --git a/packages/browser/src/index.bundle.replay.feedback.ts b/packages/browser/src/index.bundle.replay.feedback.ts new file mode 100644 index 000000000000..dd01508c4fc6 --- /dev/null +++ b/packages/browser/src/index.bundle.replay.feedback.ts @@ -0,0 +1,14 @@ +import { browserTracingIntegrationShim } from '@sentry-internal/integration-shims'; +import { feedbackAsyncIntegration } from './feedbackAsync'; + +export * from './index.bundle.base'; + +export { getFeedback, sendFeedback } from '@sentry-internal/feedback'; + +export { + browserTracingIntegrationShim as browserTracingIntegration, + feedbackAsyncIntegration as feedbackAsyncIntegration, + feedbackAsyncIntegration as feedbackIntegration, +}; + +export { replayIntegration, getReplay } from '@sentry-internal/replay'; From e19c3ef79e75daf97a55afb90990938ba2e36591 Mon Sep 17 00:00:00 2001 From: Francesco Gringl-Novy Date: Mon, 1 Sep 2025 10:01:13 +0200 Subject: [PATCH 05/18] feat(browser): Export `sendFeedback` from CDN bundles (#17495) This adds the `sendFeedback` method to the CDN bundle exports. This should not really add bundle size as this is used by the feedback integration anyhow I believe. (Some unrelated prettier fixes somehow also got into this PR, not sure how this got on develop) --- .../tracing/anthropic/instrument-with-pii.mjs | 5 +---- .../suites/tracing/anthropic/instrument.mjs | 5 +---- .../suites/tracing/anthropic/scenario-stream.mjs | 2 -- .../suites/tracing/anthropic/scenario.mjs | 16 ++++++---------- packages/browser/src/index.bundle.feedback.ts | 2 +- .../src/index.bundle.tracing.replay.feedback.ts | 4 +++- 6 files changed, 12 insertions(+), 22 deletions(-) diff --git a/dev-packages/node-integration-tests/suites/tracing/anthropic/instrument-with-pii.mjs b/dev-packages/node-integration-tests/suites/tracing/anthropic/instrument-with-pii.mjs index eb8b02b1cf8b..c2776c15b001 100644 --- a/dev-packages/node-integration-tests/suites/tracing/anthropic/instrument-with-pii.mjs +++ b/dev-packages/node-integration-tests/suites/tracing/anthropic/instrument-with-pii.mjs @@ -8,8 +8,5 @@ Sentry.init({ tracesSampleRate: 1.0, sendDefaultPii: true, transport: loggingTransport, - integrations: [ - Sentry.anthropicAIIntegration(), - nodeContextIntegration(), - ], + integrations: [Sentry.anthropicAIIntegration(), nodeContextIntegration()], }); diff --git a/dev-packages/node-integration-tests/suites/tracing/anthropic/instrument.mjs b/dev-packages/node-integration-tests/suites/tracing/anthropic/instrument.mjs index fa011052c50c..39f1506eb2c9 100644 --- a/dev-packages/node-integration-tests/suites/tracing/anthropic/instrument.mjs +++ b/dev-packages/node-integration-tests/suites/tracing/anthropic/instrument.mjs @@ -9,8 +9,5 @@ Sentry.init({ sendDefaultPii: false, transport: loggingTransport, // Force include the integration - integrations: [ - Sentry.anthropicAIIntegration(), - nodeContextIntegration(), - ], + integrations: [Sentry.anthropicAIIntegration(), nodeContextIntegration()], }); diff --git a/dev-packages/node-integration-tests/suites/tracing/anthropic/scenario-stream.mjs b/dev-packages/node-integration-tests/suites/tracing/anthropic/scenario-stream.mjs index da70a2b12467..ac5eb6019010 100644 --- a/dev-packages/node-integration-tests/suites/tracing/anthropic/scenario-stream.mjs +++ b/dev-packages/node-integration-tests/suites/tracing/anthropic/scenario-stream.mjs @@ -101,5 +101,3 @@ async function run() { } run(); - - diff --git a/dev-packages/node-integration-tests/suites/tracing/anthropic/scenario.mjs b/dev-packages/node-integration-tests/suites/tracing/anthropic/scenario.mjs index 425d1366879e..590796931315 100644 --- a/dev-packages/node-integration-tests/suites/tracing/anthropic/scenario.mjs +++ b/dev-packages/node-integration-tests/suites/tracing/anthropic/scenario.mjs @@ -8,7 +8,7 @@ class MockAnthropic { // Create messages object with create and countTokens methods this.messages = { create: this._messagesCreate.bind(this), - countTokens: this._messagesCountTokens.bind(this) + countTokens: this._messagesCountTokens.bind(this), }; this.models = { @@ -56,8 +56,8 @@ class MockAnthropic { // For countTokens, just return input_tokens return { - input_tokens: 15 - } + input_tokens: 15, + }; } async _modelsRetrieve(modelId) { @@ -69,7 +69,7 @@ class MockAnthropic { id: modelId, name: modelId, created_at: 1715145600, - model: modelId, // Add model field to match the check in addResponseAttributes + model: modelId, // Add model field to match the check in addResponseAttributes }; } } @@ -86,9 +86,7 @@ async function run() { await client.messages.create({ model: 'claude-3-haiku-20240307', system: 'You are a helpful assistant.', - messages: [ - { role: 'user', content: 'What is the capital of France?' }, - ], + messages: [{ role: 'user', content: 'What is the capital of France?' }], temperature: 0.7, max_tokens: 100, }); @@ -106,9 +104,7 @@ async function run() { // Third test: count tokens with cached tokens await client.messages.countTokens({ model: 'claude-3-haiku-20240307', - messages: [ - { role: 'user', content: 'What is the capital of France?' }, - ], + messages: [{ role: 'user', content: 'What is the capital of France?' }], }); // Fourth test: models.retrieve diff --git a/packages/browser/src/index.bundle.feedback.ts b/packages/browser/src/index.bundle.feedback.ts index eecad6304ebf..3e5acd440f5a 100644 --- a/packages/browser/src/index.bundle.feedback.ts +++ b/packages/browser/src/index.bundle.feedback.ts @@ -3,7 +3,7 @@ import { feedbackAsyncIntegration } from './feedbackAsync'; export * from './index.bundle.base'; -export { getFeedback } from '@sentry-internal/feedback'; +export { getFeedback, sendFeedback } from '@sentry-internal/feedback'; export { browserTracingIntegrationShim as browserTracingIntegration, diff --git a/packages/browser/src/index.bundle.tracing.replay.feedback.ts b/packages/browser/src/index.bundle.tracing.replay.feedback.ts index f8345908e8dc..5da27d74cb8d 100644 --- a/packages/browser/src/index.bundle.tracing.replay.feedback.ts +++ b/packages/browser/src/index.bundle.tracing.replay.feedback.ts @@ -22,7 +22,9 @@ export { startBrowserTracingNavigationSpan, startBrowserTracingPageLoadSpan, } from './tracing/browserTracingIntegration'; -export { getFeedback } from '@sentry-internal/feedback'; + +export { getFeedback, sendFeedback } from '@sentry-internal/feedback'; + export { feedbackAsyncIntegration as feedbackAsyncIntegration, feedbackAsyncIntegration as feedbackIntegration }; export { replayIntegration, getReplay } from '@sentry-internal/replay'; From 90edf65b3d93c89ae576b063a839541022f478cf Mon Sep 17 00:00:00 2001 From: Francesco Gringl-Novy Date: Mon, 1 Sep 2025 11:09:33 +0200 Subject: [PATCH 06/18] chore: Ensure prettier is run on all files (#17497) This simplifies our prettier setup to also run on e2e-tests, and aligns the `fix:prettier` and `lint:prettier` targets (which were previously not aligned). Changes being done here: 1. Apply prettier to all e2e test apps normally (no special prettier handling inside of the test apps) 2. Removed `.prettierrc.json` file, this was duplicated from the config in the root package.json 3. Ensure prettier is applied to JSON files as well 4. Ensure prettier is applied to .astro files (needs astro plugin) --- .claude/settings.local.json | 2 +- .prettierignore | 1 + .prettierrc.json | 7 - CHANGELOG.md | 6 - .../browser-integration-tests/README.md | 1 - .../suites/replay/ignoreMutations/test.ts | 13 +- .../utils/helpers.ts | 11 +- .../tsconfig.json | 2 +- dev-packages/e2e-tests/README.md | 6 +- .../test-applications/angular-17/angular.json | 27 +- .../component-tracking.components.ts | 4 +- .../angular-17/src/app/home/home.component.ts | 24 +- .../angular-17/tsconfig.json | 5 +- .../test-applications/angular-18/angular.json | 27 +- .../angular-18/src/app/home/home.component.ts | 24 +- .../angular-18/tsconfig.json | 5 +- .../test-applications/angular-19/angular.json | 17 +- .../component-tracking.components.ts | 2 +- .../angular-19/src/app/home/home.component.ts | 24 +- .../component-tracking.components.ts | 2 +- .../astro-4/src/layouts/Layout.astro | 49 +- .../src/pages/catchAll/[...path].astro | 1 - .../src/pages/client-error/index.astro | 8 +- .../src/pages/endpoint-error/index.astro | 2 +- .../astro-4/src/pages/index.astro | 52 +- .../astro-4/src/pages/ssr-error/index.astro | 4 +- .../astro-4/src/pages/test-ssr/index.astro | 12 +- .../astro-4/src/pages/test-static/index.astro | 10 +- .../src/pages/user-page/[userId].astro | 3 +- .../src/pages/user-page/settings.astro | 1 - .../test-applications/astro-4/tsconfig.json | 2 +- .../astro-5/src/components/Avatar.astro | 2 + .../astro-5/src/components/Welcome.astro | 394 +++++---- .../astro-5/src/layouts/Layout.astro | 32 +- .../src/pages/catchAll/[...path].astro | 1 - .../src/pages/client-error/index.astro | 8 +- .../src/pages/endpoint-error/index.astro | 2 +- .../astro-5/src/pages/index.astro | 22 +- .../src/pages/server-island/index.astro | 4 +- .../astro-5/src/pages/ssr-error/index.astro | 4 +- .../astro-5/src/pages/test-ssr/index.astro | 12 +- .../astro-5/src/pages/test-static/index.astro | 10 +- .../src/pages/user-page/[userId].astro | 3 +- .../src/components/Card.astro | 100 +-- .../cloudflare-astro/src/layouts/Layout.astro | 73 +- .../cloudflare-astro/src/pages/index.astro | 226 +++--- .../cloudflare-hono/test/tsconfig.json | 12 +- .../cloudflare-hono/tsconfig.json | 4 +- .../cloudflare-hono/vitest.config.ts | 6 +- .../cloudflare-workers/.prettierrc | 6 - .../cloudflare-workers/src/index.ts | 172 ++-- .../cloudflare-workers/start-event-proxy.mjs | 4 +- .../cloudflare-workers/tests/index.test.ts | 46 +- .../cloudflare-workers/tests/tsconfig.json | 12 +- .../cloudflare-workers/tsconfig.json | 70 +- .../worker-configuration.d.ts | 2 +- .../create-react-app/src/index.css | 5 +- .../tests/server-transactions.test.ts | 5 +- .../create-remix-app-express/tsconfig.json | 4 +- .../tests/server-transactions.test.ts | 5 +- .../ember-classic/app/components/link.ts | 2 +- .../app/controllers/slow-loading-route.ts | 2 +- .../ember-classic/app/controllers/tracing.ts | 2 +- .../ember-classic/tsconfig.app.json | 8 +- .../ember-classic/tsconfig.json | 2 +- .../ember-embroider/tsconfig.app.json | 8 +- .../ember-embroider/tsconfig.json | 2 +- .../app/entry.server.tsx | 21 +- .../hydrogen-react-router-7/app/root.tsx | 32 +- .../hydrogen-react-router-7/app/routes.ts | 6 +- .../instrument.server.mjs | 4 +- .../hydrogen-react-router-7/package.json | 3 - .../react-router.config.ts | 7 +- .../hydrogen-react-router-7/server.ts | 2 +- .../hydrogen-react-router-7/tsconfig.json | 8 +- .../hydrogen-react-router-7/vite.config.ts | 5 +- .../test-applications/nestjs-11/package.json | 4 - .../test-applications/nestjs-8/package.json | 4 - .../nestjs-basic-with-graphql/package.json | 4 - .../nestjs-basic/package.json | 4 - .../nestjs-distributed-tracing/package.json | 4 - .../nestjs-fastify/package.json | 4 - .../nestjs-fastify/tsconfig.json | 2 +- .../nestjs-graphql/package.json | 4 - .../package.json | 4 - .../nestjs-with-submodules/package.json | 4 - .../app/parameterized/static/page.tsx | 6 +- .../app/parameterized/static/page.tsx | 6 +- .../nextjs-15/app/ai-test/page.tsx | 11 +- .../app/parameterized/static/page.tsx | 6 +- .../nextjs-15/app/ppr-error/[param]/page.tsx | 6 +- .../nextjs-15/sentry.server.config.ts | 4 +- .../nextjs-orpc/package.json | 1 - .../nextjs-orpc/src/app/global-error.tsx | 6 +- .../nextjs-orpc/tsconfig.json | 10 +- .../test-applications/nextjs-t3/package.json | 2 - .../nextjs-t3/src/app/global-error.tsx | 6 +- .../test-applications/nextjs-t3/tsconfig.json | 10 +- .../nextjs-turbo/app/global-error.tsx | 6 +- .../app/parameterized/static/page.tsx | 6 +- .../node-express-v5/tests/errors.test.ts | 12 +- .../node-firebase/src/init.ts | 1 - .../nuxt-3-dynamic-import/app.vue | 3 +- .../components/ErrorButton.vue | 8 +- .../pages/client-error.vue | 7 +- .../nuxt-3-dynamic-import/pages/index.vue | 2 +- .../test-applications/nuxt-3-min/app.vue | 3 +- .../nuxt-3-min/components/ErrorButton.vue | 8 +- .../test-applications/nuxt-3-min/package.json | 2 +- .../nuxt-3-min/pages/client-error.vue | 7 +- .../nuxt-3-min/pages/index.vue | 2 +- .../nuxt-3-top-level-import/app.vue | 3 +- .../components/ErrorButton.vue | 8 +- .../pages/client-error.vue | 7 +- .../nuxt-3-top-level-import/pages/index.vue | 2 +- .../test-applications/nuxt-3/app.vue | 3 +- .../nuxt-3/components/ErrorButton.vue | 8 +- .../nuxt-3/pages/client-error.vue | 8 +- .../test-applications/nuxt-3/pages/index.vue | 2 +- .../nuxt-4/app/components/ErrorButton.vue | 8 +- .../nuxt-4/app/pages/client-error.vue | 8 +- .../nuxt-4/app/pages/index.vue | 2 +- .../nuxt-4/app/pages/pinia-cart.vue | 36 +- .../react-create-browser-router/package.json | 17 +- .../react-create-memory-router/package.json | 17 +- .../react-router-6/tests/sse.test.ts | 4 +- .../tsconfig.json | 7 +- .../app/app.css | 3 +- .../app/root.tsx | 24 +- .../app/routes/home.tsx | 28 +- .../app/routes/performance/dynamic-param.tsx | 1 - .../react-router.config.ts | 2 +- .../tsconfig.json | 7 +- .../react-router-7-framework-spa/app/app.css | 3 +- .../react-router-7-framework-spa/app/root.tsx | 24 +- .../app/routes/home.tsx | 28 +- .../app/routes/performance/dynamic-param.tsx | 1 - .../react-router.config.ts | 2 +- .../tsconfig.json | 7 +- .../react-router-7-framework/tsconfig.json | 7 +- .../react-router-7-lazy-routes/src/index.tsx | 1 - .../tests/transactions.test.ts | 2 - .../react-router-7-spa/tsconfig.json | 2 +- .../app/functions/_middleware.ts | 6 +- .../remix-hydrogen/app/root.tsx | 53 +- .../remix-hydrogen/package.json | 3 - .../remix-hydrogen/tsconfig.json | 7 +- .../solid-solidrouter/tsconfig.json | 4 +- .../test-applications/solid/tsconfig.json | 4 +- .../supabase-nextjs/components/TodoList.tsx | 4 +- .../supabase-nextjs/lib/schema.ts | 66 +- .../supabase-nextjs/next.config.js | 66 +- .../supabase-nextjs/pages/_app.tsx | 10 +- .../supabase-nextjs/pages/_document.tsx | 4 +- .../supabase-nextjs/pages/_error.jsx | 8 +- .../pages/api/create-test-user.ts | 2 +- .../supabase-nextjs/pages/api/list-users.ts | 2 +- .../supabase-nextjs/sentry.client.config.ts | 6 +- .../supabase-nextjs/sentry.edge.config.ts | 2 +- .../sveltekit-2-kit-tracing/tsconfig.json | 34 +- .../sveltekit-2-svelte-5/tsconfig.json | 34 +- .../sveltekit-2.5.0-twp/tsconfig.json | 34 +- .../src/tsconfig.json | 34 +- .../sveltekit-cloudflare-pages/vite.config.js | 8 +- .../test-applications/vue-3/src/App.vue | 3 +- .../vue-3/src/views/CartView.vue | 40 +- .../vue-3/src/views/HomeView.vue | 7 +- .../vue-3/src/views/UserIdErrorView.vue | 6 +- .../test-applications/vue-3/tsconfig.json | 2 +- .../test-applications/webpack-4/build.mjs | 4 +- dev-packages/test-utils/tsconfig.json | 2 +- docs/changelog/v7.md | 1 - docs/changelog/v8.md | 4 - docs/migration/v8-to-v9.md | 5 - docs/new-sdk-release-checklist.md | 6 - package.json | 18 +- packages/angular/tsconfig.test.json | 2 +- packages/astro/src/integration/index.ts | 4 +- packages/astro/tsconfig.dev.json | 2 +- .../instrumentation.ts | 4 +- packages/browser-utils/tsconfig.json | 2 +- packages/cloudflare/README.md | 4 +- packages/cloudflare/test/tsconfig.json | 2 +- .../ember/tests/dummy/app/components/link.ts | 2 +- .../app/controllers/slow-loading-route.ts | 2 +- .../tests/dummy/app/controllers/tracing.ts | 2 +- .../nextjs/src/config/withSentryConfig.ts | 2 +- .../tracing/fastify/fastify-otel/index.js | 2 +- packages/nuxt/src/tsconfig.json | 2 +- packages/nuxt/src/vite/sourceMaps.ts | 2 +- packages/react-router/test/tsconfig.json | 2 +- packages/react-router/tsconfig.test.json | 2 +- packages/react/src/redux.ts | 15 +- .../integration/test/client/utils/helpers.ts | 11 +- .../test/fixtures/fixJson/1_completeJson.json | 765 +++++++++++++++++- .../test/fixtures/fixJson/2_completeJson.json | 4 +- packages/replay-worker/examples/worker.js | 66 +- packages/solid/tsconfig.json | 2 +- .../solidstart/tsconfig.subexports-types.json | 2 +- packages/solidstart/tsconfig.types.json | 2 +- packages/svelte/tsconfig.json | 2 +- packages/vue/tsconfig.json | 2 +- packages/wasm/tsconfig.json | 2 +- tsconfig.json | 2 +- yarn.lock | 47 +- 205 files changed, 2056 insertions(+), 1568 deletions(-) delete mode 100644 .prettierrc.json delete mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-workers/.prettierrc diff --git a/.claude/settings.local.json b/.claude/settings.local.json index a651eb363952..8dfa2dec155e 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -11,4 +11,4 @@ ], "deny": [] } -} \ No newline at end of file +} diff --git a/.prettierignore b/.prettierignore index 3022df3c6af7..99c0d942024b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,4 @@ packages/browser/test/loader.js packages/replay-worker/examples/worker.min.js dev-packages/browser-integration-tests/fixtures +**/test.ts-snapshots/** diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index ba9a3dc2c246..000000000000 --- a/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "arrowParens": "avoid", - "printWidth": 120, - "proseWrap": "always", - "singleQuote": true, - "trailingComma": "all" -} diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e6f8752691a..26d828b1def6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,6 @@ We will follow up with docs how to set up the SDK soon. For now, If you're on SvelteKit version `2.31.0` or newer, you can easily opt into the new feature: - 1. Enable [experimental tracing and instrumentation support](https://svelte.dev/docs/kit/observability) in `svelte.config.js`: 2. Move your `Sentry.init()` call from `src/hooks.server.(js|ts)` to the new `instrumentation.server.(js|ts)` file: @@ -650,7 +649,6 @@ Work in this release was contributed by @0xbad0c0d3 and @alSergey. Thank you for - **feat(nuxt): Add Cloudflare Nitro plugin ([#15597](https://github.com/getsentry/sentry-javascript/pull/15597))** A Nitro plugin for `@sentry/nuxt` which initializes Sentry when deployed to Cloudflare (`cloudflare-pages` preset). - 1. Remove the previous server config file: `sentry.server.config.ts` 2. Add a plugin in `server/plugins` (e.g. `server/plugins/sentry-cloudflare-setup.ts`) 3. Add this code in your plugin file @@ -1215,7 +1213,6 @@ This PR adds trace propagation to `@sentry/react-router` by providing utilities - **Logging Improvements** Sentry is adding support for [structured logging](https://github.com/getsentry/sentry-javascript/discussions/15916). In this release we've made a variety of improvements to logging functionality in the Sentry SDKs. - - feat(node): Add server.address to nodejs logs ([#16006](https://github.com/getsentry/sentry-javascript/pull/16006)) - feat(core): Add sdk name and version to logs ([#16005](https://github.com/getsentry/sentry-javascript/pull/16005)) - feat(core): Add sentry origin attribute to console logs integration ([#15998](https://github.com/getsentry/sentry-javascript/pull/15998)) @@ -1264,7 +1261,6 @@ Work in this release was contributed by @Page- and @Fryuni. Thank you for your c ### Important Changes - **feat: Add support for logs** - - feat(node): Add logging public APIs to Node SDKs ([#15764](https://github.com/getsentry/sentry-javascript/pull/15764)) - feat(core): Add support for `beforeSendLog` ([#15814](https://github.com/getsentry/sentry-javascript/pull/15814)) - feat(core): Add support for parameterizing logs ([#15812](https://github.com/getsentry/sentry-javascript/pull/15812)) @@ -1314,13 +1310,11 @@ Work in this release was contributed by @Page- and @Fryuni. Thank you for your c ``` The result will be an object with the following properties: - - `"no-client-active"`: There was no active client when the function was called. This possibly means that the SDK was not initialized yet. - `"sentry-unreachable"`: The Sentry SaaS servers were not reachable. This likely means that there is an ad blocker active on the page or that there are other connection issues. - `undefined`: The SDK is working as expected. - **SDK Tracing Performance Improvements for Node SDKs** - - feat: Stop using `dropUndefinedKeys` ([#15796](https://github.com/getsentry/sentry-javascript/pull/15796)) - feat(node): Only add span listeners for instrumentation when used ([#15802](https://github.com/getsentry/sentry-javascript/pull/15802)) - ref: Avoid `dropUndefinedKeys` for `spanToJSON` calls ([#15792](https://github.com/getsentry/sentry-javascript/pull/15792)) diff --git a/dev-packages/browser-integration-tests/README.md b/dev-packages/browser-integration-tests/README.md index c5c8ca28eb41..6d1f69cde973 100644 --- a/dev-packages/browser-integration-tests/README.md +++ b/dev-packages/browser-integration-tests/README.md @@ -95,7 +95,6 @@ occur while writing tests for Sentry Browser SDK. Before running, a page for each test case is built under the case folder inside `dist`. If a page build is failed, it's recommended to check: - - If both default `template.hbs` and `init.js` are defined for the test group. - If a `subject.js` is defined for the test case. - If either of `init.js` or `subject.js` contain non-browser code. diff --git a/dev-packages/browser-integration-tests/suites/replay/ignoreMutations/test.ts b/dev-packages/browser-integration-tests/suites/replay/ignoreMutations/test.ts index 3d76a2b07b1a..4f9676602b05 100644 --- a/dev-packages/browser-integration-tests/suites/replay/ignoreMutations/test.ts +++ b/dev-packages/browser-integration-tests/suites/replay/ignoreMutations/test.ts @@ -26,16 +26,15 @@ sentryTest('allows to ignore mutations via `ignoreMutations` option', async ({ g const requests = await requestsPromise; // All transform mutatinos are ignored and not captured - const transformMutations = requests.replayRecordingSnapshots.filter( - item => - (item.data as mutationData)?.attributes?.some( - attr => attr.attributes['style'] && attr.attributes['class'] !== 'moved', - ), + const transformMutations = requests.replayRecordingSnapshots.filter(item => + (item.data as mutationData)?.attributes?.some( + attr => attr.attributes['style'] && attr.attributes['class'] !== 'moved', + ), ); // Should capture the final class mutation - const classMutations = requests.replayRecordingSnapshots.filter( - item => (item.data as mutationData)?.attributes?.some(attr => attr.attributes['class']), + const classMutations = requests.replayRecordingSnapshots.filter(item => + (item.data as mutationData)?.attributes?.some(attr => attr.attributes['class']), ); expect(transformMutations).toEqual([]); diff --git a/dev-packages/browser-integration-tests/utils/helpers.ts b/dev-packages/browser-integration-tests/utils/helpers.ts index 42657ab14731..b3f55b4550a0 100644 --- a/dev-packages/browser-integration-tests/utils/helpers.ts +++ b/dev-packages/browser-integration-tests/utils/helpers.ts @@ -142,13 +142,10 @@ export const countEnvelopes = async ( page.on('request', requestHandler); - setTimeout( - () => { - page.off('request', requestHandler); - resolve(reqCount); - }, - options?.timeout || 1000, - ); + setTimeout(() => { + page.off('request', requestHandler); + resolve(reqCount); + }, options?.timeout || 1000); }); if (options?.url) { diff --git a/dev-packages/cloudflare-integration-tests/tsconfig.json b/dev-packages/cloudflare-integration-tests/tsconfig.json index 38816b36116e..07f106daf370 100644 --- a/dev-packages/cloudflare-integration-tests/tsconfig.json +++ b/dev-packages/cloudflare-integration-tests/tsconfig.json @@ -7,6 +7,6 @@ // Although this seems wrong to include `DOM` here, it's necessary to make // global fetch available in tests in lower Node versions. "lib": ["ES2020"], - "esModuleInterop": true, + "esModuleInterop": true } } diff --git a/dev-packages/e2e-tests/README.md b/dev-packages/e2e-tests/README.md index a1eb1b559b9c..2c793fa05df0 100644 --- a/dev-packages/e2e-tests/README.md +++ b/dev-packages/e2e-tests/README.md @@ -81,11 +81,11 @@ for it to work with both regular and prerelease versions: "scripts": { "test": "echo \"Hello world!\"", "test:build": "pnpm install", - "test:assert": "pnpm test" + "test:assert": "pnpm test", }, "dependencies": { - "@sentry/node": "latest || *" - } + "@sentry/node": "latest || *", + }, } ``` diff --git a/dev-packages/e2e-tests/test-applications/angular-17/angular.json b/dev-packages/e2e-tests/test-applications/angular-17/angular.json index 387a7eefce16..e687f8228810 100644 --- a/dev-packages/e2e-tests/test-applications/angular-17/angular.json +++ b/dev-packages/e2e-tests/test-applications/angular-17/angular.json @@ -16,17 +16,10 @@ "outputPath": "dist/angular-17", "index": "src/index.html", "browser": "src/main.ts", - "polyfills": [ - "zone.js" - ], + "polyfills": ["zone.js"], "tsConfig": "tsconfig.app.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.css"], "scripts": [] }, "configurations": { @@ -74,18 +67,10 @@ "test": { "builder": "@angular-devkit/build-angular:karma", "options": { - "polyfills": [ - "zone.js", - "zone.js/testing" - ], + "polyfills": ["zone.js", "zone.js/testing"], "tsConfig": "tsconfig.spec.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.css"], "scripts": [] } } diff --git a/dev-packages/e2e-tests/test-applications/angular-17/src/app/component-tracking/component-tracking.components.ts b/dev-packages/e2e-tests/test-applications/angular-17/src/app/component-tracking/component-tracking.components.ts index 1e43d5c6c096..8349f666d11d 100644 --- a/dev-packages/e2e-tests/test-applications/angular-17/src/app/component-tracking/component-tracking.components.ts +++ b/dev-packages/e2e-tests/test-applications/angular-17/src/app/component-tracking/component-tracking.components.ts @@ -7,8 +7,8 @@ import { SampleComponent } from '../sample-component/sample-component.components standalone: true, imports: [TraceModule, SampleComponent], template: ` - - + + `, }) @TraceClass({ name: 'ComponentTrackingComponent' }) diff --git a/dev-packages/e2e-tests/test-applications/angular-17/src/app/home/home.component.ts b/dev-packages/e2e-tests/test-applications/angular-17/src/app/home/home.component.ts index 82c3ccb0140f..4dbc9dd59179 100644 --- a/dev-packages/e2e-tests/test-applications/angular-17/src/app/home/home.component.ts +++ b/dev-packages/e2e-tests/test-applications/angular-17/src/app/home/home.component.ts @@ -6,18 +6,18 @@ import { RouterLink } from '@angular/router'; standalone: true, imports: [RouterLink], template: ` -
-

Welcome to Sentry's Angular 17 E2E test app

- - -
-`, +
+

Welcome to Sentry's Angular 17 E2E test app

+ + +
+ `, }) export class HomeComponent { throwError() { diff --git a/dev-packages/e2e-tests/test-applications/angular-17/tsconfig.json b/dev-packages/e2e-tests/test-applications/angular-17/tsconfig.json index f37b67ff0277..fd2d87ac26d9 100644 --- a/dev-packages/e2e-tests/test-applications/angular-17/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/angular-17/tsconfig.json @@ -19,10 +19,7 @@ "target": "ES2022", "module": "ES2022", "useDefineForClassFields": false, - "lib": [ - "ES2022", - "dom" - ] + "lib": ["ES2022", "dom"] }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, diff --git a/dev-packages/e2e-tests/test-applications/angular-18/angular.json b/dev-packages/e2e-tests/test-applications/angular-18/angular.json index cb3c0b70cec6..e24a6bf0e5f9 100644 --- a/dev-packages/e2e-tests/test-applications/angular-18/angular.json +++ b/dev-packages/e2e-tests/test-applications/angular-18/angular.json @@ -16,17 +16,10 @@ "outputPath": "dist/angular-18", "index": "src/index.html", "browser": "src/main.ts", - "polyfills": [ - "zone.js" - ], + "polyfills": ["zone.js"], "tsConfig": "tsconfig.app.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.css"], "scripts": [] }, "configurations": { @@ -74,18 +67,10 @@ "test": { "builder": "@angular-devkit/build-angular:karma", "options": { - "polyfills": [ - "zone.js", - "zone.js/testing" - ], + "polyfills": ["zone.js", "zone.js/testing"], "tsConfig": "tsconfig.spec.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.css"], "scripts": [] } } diff --git a/dev-packages/e2e-tests/test-applications/angular-18/src/app/home/home.component.ts b/dev-packages/e2e-tests/test-applications/angular-18/src/app/home/home.component.ts index 9f36814d6c03..e70507b07030 100644 --- a/dev-packages/e2e-tests/test-applications/angular-18/src/app/home/home.component.ts +++ b/dev-packages/e2e-tests/test-applications/angular-18/src/app/home/home.component.ts @@ -6,18 +6,18 @@ import { RouterLink } from '@angular/router'; standalone: true, imports: [RouterLink], template: ` -
-

Welcome to Sentry's Angular 18 E2E test app

- - -
-`, +
+

Welcome to Sentry's Angular 18 E2E test app

+ + +
+ `, }) export class HomeComponent { throwError() { diff --git a/dev-packages/e2e-tests/test-applications/angular-18/tsconfig.json b/dev-packages/e2e-tests/test-applications/angular-18/tsconfig.json index f37b67ff0277..fd2d87ac26d9 100644 --- a/dev-packages/e2e-tests/test-applications/angular-18/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/angular-18/tsconfig.json @@ -19,10 +19,7 @@ "target": "ES2022", "module": "ES2022", "useDefineForClassFields": false, - "lib": [ - "ES2022", - "dom" - ] + "lib": ["ES2022", "dom"] }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, diff --git a/dev-packages/e2e-tests/test-applications/angular-19/angular.json b/dev-packages/e2e-tests/test-applications/angular-19/angular.json index 446b28df1d25..355946a85d15 100644 --- a/dev-packages/e2e-tests/test-applications/angular-19/angular.json +++ b/dev-packages/e2e-tests/test-applications/angular-19/angular.json @@ -16,9 +16,7 @@ "outputPath": "dist/angular-19", "index": "src/index.html", "browser": "src/main.ts", - "polyfills": [ - "zone.js" - ], + "polyfills": ["zone.js"], "tsConfig": "tsconfig.app.json", "assets": [ { @@ -26,9 +24,7 @@ "input": "public" } ], - "styles": [ - "src/styles.css" - ], + "styles": ["src/styles.css"], "scripts": [] }, "configurations": { @@ -73,10 +69,7 @@ "test": { "builder": "@angular-devkit/build-angular:karma", "options": { - "polyfills": [ - "zone.js", - "zone.js/testing" - ], + "polyfills": ["zone.js", "zone.js/testing"], "tsConfig": "tsconfig.spec.json", "assets": [ { @@ -84,9 +77,7 @@ "input": "public" } ], - "styles": [ - "src/styles.css" - ], + "styles": ["src/styles.css"], "scripts": [] } } diff --git a/dev-packages/e2e-tests/test-applications/angular-19/src/app/component-tracking/component-tracking.components.ts b/dev-packages/e2e-tests/test-applications/angular-19/src/app/component-tracking/component-tracking.components.ts index a82e5b1acce6..76bd580ecaf6 100644 --- a/dev-packages/e2e-tests/test-applications/angular-19/src/app/component-tracking/component-tracking.components.ts +++ b/dev-packages/e2e-tests/test-applications/angular-19/src/app/component-tracking/component-tracking.components.ts @@ -9,7 +9,7 @@ import { SampleComponent } from '../sample-component/sample-component.components template: ` - `, + `, }) @TraceClass({ name: 'ComponentTrackingComponent' }) export class ComponentTrackingComponent implements OnInit, AfterViewInit { diff --git a/dev-packages/e2e-tests/test-applications/angular-19/src/app/home/home.component.ts b/dev-packages/e2e-tests/test-applications/angular-19/src/app/home/home.component.ts index fe70dabd687a..91a34a546fb6 100644 --- a/dev-packages/e2e-tests/test-applications/angular-19/src/app/home/home.component.ts +++ b/dev-packages/e2e-tests/test-applications/angular-19/src/app/home/home.component.ts @@ -6,18 +6,18 @@ import { RouterLink } from '@angular/router'; standalone: true, imports: [RouterLink], template: ` -
-

Welcome to Sentry's Angular 19 E2E test app

- - -
-`, +
+

Welcome to Sentry's Angular 19 E2E test app

+ + +
+ `, }) export class HomeComponent { throwError() { diff --git a/dev-packages/e2e-tests/test-applications/angular-20/src/app/component-tracking/component-tracking.components.ts b/dev-packages/e2e-tests/test-applications/angular-20/src/app/component-tracking/component-tracking.components.ts index a82e5b1acce6..76bd580ecaf6 100644 --- a/dev-packages/e2e-tests/test-applications/angular-20/src/app/component-tracking/component-tracking.components.ts +++ b/dev-packages/e2e-tests/test-applications/angular-20/src/app/component-tracking/component-tracking.components.ts @@ -9,7 +9,7 @@ import { SampleComponent } from '../sample-component/sample-component.components template: ` - `, + `, }) @TraceClass({ name: 'ComponentTrackingComponent' }) export class ComponentTrackingComponent implements OnInit, AfterViewInit { diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/layouts/Layout.astro b/dev-packages/e2e-tests/test-applications/astro-4/src/layouts/Layout.astro index c4e54b834656..c48489538774 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/layouts/Layout.astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/layouts/Layout.astro @@ -1,6 +1,6 @@ --- interface Props { - title: string; + title: string; } const { title } = Astro.props; @@ -8,32 +8,27 @@ const { title } = Astro.props; - - - - - - - {title} - - - - + + + + + + + {title} + + + + diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/catchAll/[...path].astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/catchAll/[...path].astro index bb225c166241..9fe2bdab5c15 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/catchAll/[...path].astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/catchAll/[...path].astro @@ -4,7 +4,6 @@ import Layout from '../../layouts/Layout.astro'; export const prerender = false; const params = Astro.params; - --- diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/client-error/index.astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/client-error/index.astro index facd6f077a6e..492524e2a713 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/client-error/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/client-error/index.astro @@ -1,11 +1,7 @@ --- -import Layout from "../../layouts/Layout.astro"; +import Layout from '../../layouts/Layout.astro'; --- - - - + diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/endpoint-error/index.astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/endpoint-error/index.astro index f025c76f8365..ecfb0641144e 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/endpoint-error/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/endpoint-error/index.astro @@ -1,5 +1,5 @@ --- -import Layout from "../../layouts/Layout.astro"; +import Layout from '../../layouts/Layout.astro'; export const prerender = false; --- diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/index.astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/index.astro index deaf37caad12..b31f3f724559 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/index.astro @@ -3,34 +3,34 @@ import Layout from '../layouts/Layout.astro'; --- -
-

Astro E2E Test App

- -
+
+

Astro E2E Test App

+ +
diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/ssr-error/index.astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/ssr-error/index.astro index 4ecb7466de70..fc42bcbae4f7 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/ssr-error/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/ssr-error/index.astro @@ -1,5 +1,5 @@ --- -import Layout from "../../layouts/Layout.astro"; +import Layout from '../../layouts/Layout.astro'; const a = {} as any; console.log(a.foo.x); @@ -7,7 +7,5 @@ export const prerender = false; --- -

Page with SSR error

-
diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/test-ssr/index.astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/test-ssr/index.astro index 58f5d80198d7..4531c20c05ad 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/test-ssr/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/test-ssr/index.astro @@ -1,15 +1,11 @@ --- -import Layout from "../../layouts/Layout.astro" +import Layout from '../../layouts/Layout.astro'; -export const prerender = false +export const prerender = false; --- +

This is a server page

-

- This is a server page -

- - - +
diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/test-static/index.astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/test-static/index.astro index f71bf00c9adf..c0fd701d4a2a 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/test-static/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/test-static/index.astro @@ -1,15 +1,11 @@ --- -import Layout from "../../layouts/Layout.astro"; +import Layout from '../../layouts/Layout.astro'; export const prerender = true; --- +

This is a static page

-

- This is a static page -

- - - +
diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/user-page/[userId].astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/user-page/[userId].astro index e35bd3a34d97..8050e386a39f 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/user-page/[userId].astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/user-page/[userId].astro @@ -5,9 +5,8 @@ export const prerender = false; const { userId } = Astro.params; -const response = await fetch(Astro.url.origin + `/api/user/${userId}.json`) +const response = await fetch(Astro.url.origin + `/api/user/${userId}.json`); const data = await response.json(); - --- diff --git a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/user-page/settings.astro b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/user-page/settings.astro index 5a46ac891a24..f2b767c93351 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/src/pages/user-page/settings.astro +++ b/dev-packages/e2e-tests/test-applications/astro-4/src/pages/user-page/settings.astro @@ -2,7 +2,6 @@ import Layout from '../../layouts/Layout.astro'; export const prerender = false; - --- diff --git a/dev-packages/e2e-tests/test-applications/astro-4/tsconfig.json b/dev-packages/e2e-tests/test-applications/astro-4/tsconfig.json index 77da9dd00982..bcbf8b50906a 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/astro-4/tsconfig.json @@ -1,3 +1,3 @@ { "extends": "astro/tsconfigs/strict" -} \ No newline at end of file +} diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/components/Avatar.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/components/Avatar.astro index 09a539f14e64..5611579efaf1 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/components/Avatar.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/components/Avatar.astro @@ -1,3 +1,5 @@ --- + --- + User avatar diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/components/Welcome.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/components/Welcome.astro index 6b7b9c70e869..6f862e767574 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/components/Welcome.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/components/Welcome.astro @@ -4,206 +4,202 @@ import background from '../assets/background.svg'; --- diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/layouts/Layout.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/layouts/Layout.astro index e455c6106729..6105f48ffd35 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/layouts/Layout.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/layouts/Layout.astro @@ -1,22 +1,22 @@ - - - - - - Astro Basics - - - - + + + + + + Astro Basics + + + + diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/catchAll/[...path].astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/catchAll/[...path].astro index bb225c166241..9fe2bdab5c15 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/catchAll/[...path].astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/catchAll/[...path].astro @@ -4,7 +4,6 @@ import Layout from '../../layouts/Layout.astro'; export const prerender = false; const params = Astro.params; - --- diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/client-error/index.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/client-error/index.astro index facd6f077a6e..492524e2a713 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/client-error/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/client-error/index.astro @@ -1,11 +1,7 @@ --- -import Layout from "../../layouts/Layout.astro"; +import Layout from '../../layouts/Layout.astro'; --- - - - + diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/endpoint-error/index.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/endpoint-error/index.astro index f025c76f8365..ecfb0641144e 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/endpoint-error/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/endpoint-error/index.astro @@ -1,5 +1,5 @@ --- -import Layout from "../../layouts/Layout.astro"; +import Layout from '../../layouts/Layout.astro'; export const prerender = false; --- diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/index.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/index.astro index 61bf20bfe31e..e598994f0b8e 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/index.astro @@ -7,16 +7,16 @@ import Layout from '../layouts/Layout.astro'; --- -
-

Astro E2E Test App

- +
diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/server-island/index.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/server-island/index.astro index d0544ac4f32f..0e922af4667f 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/server-island/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/server-island/index.astro @@ -4,13 +4,11 @@ import Layout from '../../layouts/Layout.astro'; export const prerender = true; --- - +

This page is static, except for the avatar which is loaded dynamically from the server

Fallback

-
- diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/ssr-error/index.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/ssr-error/index.astro index 4ecb7466de70..fc42bcbae4f7 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/ssr-error/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/ssr-error/index.astro @@ -1,5 +1,5 @@ --- -import Layout from "../../layouts/Layout.astro"; +import Layout from '../../layouts/Layout.astro'; const a = {} as any; console.log(a.foo.x); @@ -7,7 +7,5 @@ export const prerender = false; --- -

Page with SSR error

-
diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/test-ssr/index.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/test-ssr/index.astro index 58f5d80198d7..4531c20c05ad 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/test-ssr/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/test-ssr/index.astro @@ -1,15 +1,11 @@ --- -import Layout from "../../layouts/Layout.astro" +import Layout from '../../layouts/Layout.astro'; -export const prerender = false +export const prerender = false; --- +

This is a server page

-

- This is a server page -

- - - +
diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/test-static/index.astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/test-static/index.astro index f71bf00c9adf..c0fd701d4a2a 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/test-static/index.astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/test-static/index.astro @@ -1,15 +1,11 @@ --- -import Layout from "../../layouts/Layout.astro"; +import Layout from '../../layouts/Layout.astro'; export const prerender = true; --- +

This is a static page

-

- This is a static page -

- - - +
diff --git a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/user-page/[userId].astro b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/user-page/[userId].astro index e35bd3a34d97..8050e386a39f 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/src/pages/user-page/[userId].astro +++ b/dev-packages/e2e-tests/test-applications/astro-5/src/pages/user-page/[userId].astro @@ -5,9 +5,8 @@ export const prerender = false; const { userId } = Astro.params; -const response = await fetch(Astro.url.origin + `/api/user/${userId}.json`) +const response = await fetch(Astro.url.origin + `/api/user/${userId}.json`); const data = await response.json(); - --- diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/components/Card.astro b/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/components/Card.astro index bd6d5971ebf3..4924058df81b 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/components/Card.astro +++ b/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/components/Card.astro @@ -1,61 +1,61 @@ --- interface Props { - title: string; - body: string; - href: string; + title: string; + body: string; + href: string; } const { href, title, body } = Astro.props; --- diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/layouts/Layout.astro b/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/layouts/Layout.astro index 7b552be19bca..121182ff669f 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/layouts/Layout.astro +++ b/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/layouts/Layout.astro @@ -1,6 +1,6 @@ --- interface Props { - title: string; + title: string; } const { title } = Astro.props; @@ -8,44 +8,39 @@ const { title } = Astro.props; - - - - - - - {title} - - - - + + + + + + + {title} + + + + diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/pages/index.astro b/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/pages/index.astro index fb6262872d0e..0c8795be01ce 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/pages/index.astro +++ b/dev-packages/e2e-tests/test-applications/cloudflare-astro/src/pages/index.astro @@ -4,120 +4,120 @@ import Card from '../components/Card.astro'; --- -
- -

Welcome to Astro

-

- To get started, open the directory src/pages in your project.
- Code Challenge: Tweak the "Welcome to Astro" message above. -

- -
+
+ +

Welcome to Astro

+

+ To get started, open the directory src/pages in your project.
+ Code Challenge: Tweak the "Welcome to Astro" message above. +

+ +
diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-hono/test/tsconfig.json b/dev-packages/e2e-tests/test-applications/cloudflare-hono/test/tsconfig.json index bc019a7e2bfb..f536f706fa69 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-hono/test/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-hono/test/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../tsconfig.json", - "compilerOptions": { - "types": ["@cloudflare/workers-types/experimental", "@cloudflare/vitest-pool-workers"] - }, - "include": ["./**/*.ts", "../src/env.d.ts"], - "exclude": [] + "extends": "../tsconfig.json", + "compilerOptions": { + "types": ["@cloudflare/workers-types/experimental", "@cloudflare/vitest-pool-workers"] + }, + "include": ["./**/*.ts", "../src/env.d.ts"], + "exclude": [] } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-hono/tsconfig.json b/dev-packages/e2e-tests/test-applications/cloudflare-hono/tsconfig.json index e2025cec5039..e5d6f2b66f33 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-hono/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-hono/tsconfig.json @@ -5,9 +5,7 @@ "moduleResolution": "Bundler", "strict": true, "skipLibCheck": true, - "lib": [ - "ESNext" - ], + "lib": ["ESNext"], "jsx": "react-jsx", "jsxImportSource": "hono/jsx" }, diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-hono/vitest.config.ts b/dev-packages/e2e-tests/test-applications/cloudflare-hono/vitest.config.ts index 4466287fbe5b..60ce2468ff28 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-hono/vitest.config.ts +++ b/dev-packages/e2e-tests/test-applications/cloudflare-hono/vitest.config.ts @@ -1,4 +1,4 @@ -import { defineWorkersProject } from '@cloudflare/vitest-pool-workers/config' +import { defineWorkersProject } from '@cloudflare/vitest-pool-workers/config'; export default defineWorkersProject(() => { return { @@ -8,5 +8,5 @@ export default defineWorkersProject(() => { workers: { wrangler: { configPath: './wrangler.toml' } }, }, }, - } -}) + }; +}); diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/.prettierrc b/dev-packages/e2e-tests/test-applications/cloudflare-workers/.prettierrc deleted file mode 100644 index 5c7b5d3c7a75..000000000000 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "printWidth": 140, - "singleQuote": true, - "semi": true, - "useTabs": true -} diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/src/index.ts b/dev-packages/e2e-tests/test-applications/cloudflare-workers/src/index.ts index 54786fd221cb..ab438432a004 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/src/index.ts +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/src/index.ts @@ -14,99 +14,99 @@ import * as Sentry from '@sentry/cloudflare'; import { DurableObject } from 'cloudflare:workers'; class MyDurableObjectBase extends DurableObject { - private throwOnExit = new WeakMap(); - async throwException(): Promise { - throw new Error('Should be recorded in Sentry.'); - } + private throwOnExit = new WeakMap(); + async throwException(): Promise { + throw new Error('Should be recorded in Sentry.'); + } - async fetch(request: Request) { - const { pathname } = new URL(request.url); - switch (pathname) { - case '/throwException': { - await this.throwException(); - break; - } - case '/ws': - const webSocketPair = new WebSocketPair(); - const [client, server] = Object.values(webSocketPair); - this.ctx.acceptWebSocket(server); - return new Response(null, { status: 101, webSocket: client }); - } - return new Response('DO is fine'); - } + async fetch(request: Request) { + const { pathname } = new URL(request.url); + switch (pathname) { + case '/throwException': { + await this.throwException(); + break; + } + case '/ws': + const webSocketPair = new WebSocketPair(); + const [client, server] = Object.values(webSocketPair); + this.ctx.acceptWebSocket(server); + return new Response(null, { status: 101, webSocket: client }); + } + return new Response('DO is fine'); + } - webSocketMessage(ws: WebSocket, message: string | ArrayBuffer): void | Promise { - if (message === 'throwException') { - throw new Error('Should be recorded in Sentry: webSocketMessage'); - } else if (message === 'throwOnExit') { - this.throwOnExit.set(ws, new Error('Should be recorded in Sentry: webSocketClose')); - } - } + webSocketMessage(ws: WebSocket, message: string | ArrayBuffer): void | Promise { + if (message === 'throwException') { + throw new Error('Should be recorded in Sentry: webSocketMessage'); + } else if (message === 'throwOnExit') { + this.throwOnExit.set(ws, new Error('Should be recorded in Sentry: webSocketClose')); + } + } - webSocketClose(ws: WebSocket): void | Promise { - if (this.throwOnExit.has(ws)) { - const error = this.throwOnExit.get(ws)!; - this.throwOnExit.delete(ws); - throw error; - } - } + webSocketClose(ws: WebSocket): void | Promise { + if (this.throwOnExit.has(ws)) { + const error = this.throwOnExit.get(ws)!; + this.throwOnExit.delete(ws); + throw error; + } + } } export const MyDurableObject = Sentry.instrumentDurableObjectWithSentry( - (env: Env) => ({ - dsn: env.E2E_TEST_DSN, - environment: 'qa', // dynamic sampling bias to keep transactions - tunnel: `http://localhost:3031/`, // proxy server - tracesSampleRate: 1.0, - sendDefaultPii: true, - transportOptions: { - // We are doing a lot of events at once in this test - bufferSize: 1000, - }, - instrumentPrototypeMethods: true, - }), - MyDurableObjectBase, + (env: Env) => ({ + dsn: env.E2E_TEST_DSN, + environment: 'qa', // dynamic sampling bias to keep transactions + tunnel: `http://localhost:3031/`, // proxy server + tracesSampleRate: 1.0, + sendDefaultPii: true, + transportOptions: { + // We are doing a lot of events at once in this test + bufferSize: 1000, + }, + instrumentPrototypeMethods: true, + }), + MyDurableObjectBase, ); export default Sentry.withSentry( - (env: Env) => ({ - dsn: env.E2E_TEST_DSN, - environment: 'qa', // dynamic sampling bias to keep transactions - tunnel: `http://localhost:3031/`, // proxy server - tracesSampleRate: 1.0, - sendDefaultPii: true, - transportOptions: { - // We are doing a lot of events at once in this test - bufferSize: 1000, - }, - }), - { - async fetch(request, env) { - const url = new URL(request.url); - switch (url.pathname) { - case '/rpc/throwException': - { - const id = env.MY_DURABLE_OBJECT.idFromName('foo'); - const stub = env.MY_DURABLE_OBJECT.get(id) as DurableObjectStub; - try { - await stub.throwException(); - } catch (e) { - //We will catch this to be sure not to log inside withSentry - return new Response(null, { status: 500 }); - } - } - break; - case '/throwException': - throw new Error('To be recorded in Sentry.'); - default: - if (url.pathname.startsWith('/pass-to-object/')) { - const id = env.MY_DURABLE_OBJECT.idFromName('foo'); - const stub = env.MY_DURABLE_OBJECT.get(id) as DurableObjectStub; - url.pathname = url.pathname.replace('/pass-to-object/', ''); - return stub.fetch(new Request(url, request)); - } - } - return new Response('Hello World!'); - }, - } satisfies ExportedHandler, + (env: Env) => ({ + dsn: env.E2E_TEST_DSN, + environment: 'qa', // dynamic sampling bias to keep transactions + tunnel: `http://localhost:3031/`, // proxy server + tracesSampleRate: 1.0, + sendDefaultPii: true, + transportOptions: { + // We are doing a lot of events at once in this test + bufferSize: 1000, + }, + }), + { + async fetch(request, env) { + const url = new URL(request.url); + switch (url.pathname) { + case '/rpc/throwException': + { + const id = env.MY_DURABLE_OBJECT.idFromName('foo'); + const stub = env.MY_DURABLE_OBJECT.get(id) as DurableObjectStub; + try { + await stub.throwException(); + } catch (e) { + //We will catch this to be sure not to log inside withSentry + return new Response(null, { status: 500 }); + } + } + break; + case '/throwException': + throw new Error('To be recorded in Sentry.'); + default: + if (url.pathname.startsWith('/pass-to-object/')) { + const id = env.MY_DURABLE_OBJECT.idFromName('foo'); + const stub = env.MY_DURABLE_OBJECT.get(id) as DurableObjectStub; + url.pathname = url.pathname.replace('/pass-to-object/', ''); + return stub.fetch(new Request(url, request)); + } + } + return new Response('Hello World!'); + }, + } satisfies ExportedHandler, ); diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/start-event-proxy.mjs b/dev-packages/e2e-tests/test-applications/cloudflare-workers/start-event-proxy.mjs index 738ec64293b5..67c76b2f4aaf 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/start-event-proxy.mjs +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/start-event-proxy.mjs @@ -1,6 +1,6 @@ -import {startEventProxyServer} from '@sentry-internal/test-utils' +import { startEventProxyServer } from '@sentry-internal/test-utils'; startEventProxyServer({ port: 3031, proxyServerName: 'cloudflare-workers', -}) +}); diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/tests/index.test.ts b/dev-packages/e2e-tests/test-applications/cloudflare-workers/tests/index.test.ts index ac8f2e38952e..31cc02b8c5e8 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/tests/index.test.ts +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/tests/index.test.ts @@ -1,34 +1,34 @@ import { expect, test } from '@playwright/test'; import { waitForError } from '@sentry-internal/test-utils'; -import {WebSocket} from 'ws' +import { WebSocket } from 'ws'; test('Index page', async ({ baseURL }) => { const result = await fetch(baseURL!); expect(result.status).toBe(200); await expect(result.text()).resolves.toBe('Hello World!'); -}) +}); -test('worker\'s withSentry', async ({baseURL}) => { - const eventWaiter = waitForError('cloudflare-workers', (event) => { +test("worker's withSentry", async ({ baseURL }) => { + const eventWaiter = waitForError('cloudflare-workers', event => { return event.exception?.values?.[0]?.mechanism?.type === 'cloudflare'; }); const response = await fetch(`${baseURL}/throwException`); expect(response.status).toBe(500); const event = await eventWaiter; expect(event.exception?.values?.[0]?.value).toBe('To be recorded in Sentry.'); -}) +}); -test('RPC method which throws an exception to be logged to sentry', async ({baseURL}) => { - const eventWaiter = waitForError('cloudflare-workers', (event) => { - return event.exception?.values?.[0]?.mechanism?.type === 'cloudflare_durableobject'; - }); - const response = await fetch(`${baseURL}/rpc/throwException`); - expect(response.status).toBe(500); - const event = await eventWaiter; +test('RPC method which throws an exception to be logged to sentry', async ({ baseURL }) => { + const eventWaiter = waitForError('cloudflare-workers', event => { + return event.exception?.values?.[0]?.mechanism?.type === 'cloudflare_durableobject'; + }); + const response = await fetch(`${baseURL}/rpc/throwException`); + expect(response.status).toBe(500); + const event = await eventWaiter; expect(event.exception?.values?.[0]?.value).toBe('Should be recorded in Sentry.'); }); -test('Request processed by DurableObject\'s fetch is recorded', async ({baseURL}) => { - const eventWaiter = waitForError('cloudflare-workers', (event) => { +test("Request processed by DurableObject's fetch is recorded", async ({ baseURL }) => { + const eventWaiter = waitForError('cloudflare-workers', event => { return event.exception?.values?.[0]?.mechanism?.type === 'cloudflare_durableobject'; }); const response = await fetch(`${baseURL}/pass-to-object/throwException`); @@ -36,32 +36,32 @@ test('Request processed by DurableObject\'s fetch is recorded', async ({baseURL} const event = await eventWaiter; expect(event.exception?.values?.[0]?.value).toBe('Should be recorded in Sentry.'); }); -test('Websocket.webSocketMessage', async ({baseURL}) => { - const eventWaiter = waitForError('cloudflare-workers', (event) => { +test('Websocket.webSocketMessage', async ({ baseURL }) => { + const eventWaiter = waitForError('cloudflare-workers', event => { return event.exception?.values?.[0]?.mechanism?.type === 'cloudflare_durableobject'; }); const url = new URL('/pass-to-object/ws', baseURL); url.protocol = url.protocol.replace('http', 'ws'); const socket = new WebSocket(url.toString()); socket.addEventListener('open', () => { - socket.send('throwException') + socket.send('throwException'); }); const event = await eventWaiter; socket.close(); expect(event.exception?.values?.[0]?.value).toBe('Should be recorded in Sentry: webSocketMessage'); -}) +}); -test('Websocket.webSocketClose', async ({baseURL}) => { - const eventWaiter = waitForError('cloudflare-workers', (event) => { +test('Websocket.webSocketClose', async ({ baseURL }) => { + const eventWaiter = waitForError('cloudflare-workers', event => { return event.exception?.values?.[0]?.mechanism?.type === 'cloudflare_durableobject'; }); const url = new URL('/pass-to-object/ws', baseURL); url.protocol = url.protocol.replace('http', 'ws'); const socket = new WebSocket(url.toString()); socket.addEventListener('open', () => { - socket.send('throwOnExit') - socket.close() + socket.send('throwOnExit'); + socket.close(); }); const event = await eventWaiter; expect(event.exception?.values?.[0]?.value).toBe('Should be recorded in Sentry: webSocketClose'); -}) +}); diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/tests/tsconfig.json b/dev-packages/e2e-tests/test-applications/cloudflare-workers/tests/tsconfig.json index 978ecd87b7ce..9a3b10f6cdc8 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/tests/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/tests/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../tsconfig.json", - "compilerOptions": { - "types": ["@cloudflare/vitest-pool-workers"] - }, - "include": ["./**/*.ts", "../worker-configuration.d.ts"], - "exclude": [] + "extends": "../tsconfig.json", + "compilerOptions": { + "types": ["@cloudflare/vitest-pool-workers"] + }, + "include": ["./**/*.ts", "../worker-configuration.d.ts"], + "exclude": [] } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/tsconfig.json b/dev-packages/e2e-tests/test-applications/cloudflare-workers/tsconfig.json index ca1f83e3bc15..f42019fb0915 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/tsconfig.json @@ -1,45 +1,43 @@ { - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ - /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - "target": "es2021", - /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - "lib": ["es2021"], - /* Specify what JSX code is generated. */ - "jsx": "react-jsx", + /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "es2021", + /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + "lib": ["es2021"], + /* Specify what JSX code is generated. */ + "jsx": "react-jsx", - /* Specify what module code is generated. */ - "module": "es2022", - /* Specify how TypeScript looks up a file from a given module specifier. */ - "moduleResolution": "Bundler", - /* Enable importing .json files */ - "resolveJsonModule": true, + /* Specify what module code is generated. */ + "module": "es2022", + /* Specify how TypeScript looks up a file from a given module specifier. */ + "moduleResolution": "Bundler", + /* Enable importing .json files */ + "resolveJsonModule": true, - /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ - "allowJs": true, - /* Enable error reporting in type-checked JavaScript files. */ - "checkJs": false, + /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + "allowJs": true, + /* Enable error reporting in type-checked JavaScript files. */ + "checkJs": false, - /* Disable emitting files from a compilation. */ - "noEmit": true, + /* Disable emitting files from a compilation. */ + "noEmit": true, - /* Ensure that each file can be safely transpiled without relying on other imports. */ - "isolatedModules": true, - /* Allow 'import x from y' when a module doesn't have a default export. */ - "allowSyntheticDefaultImports": true, - /* Ensure that casing is correct in imports. */ - "forceConsistentCasingInFileNames": true, + /* Ensure that each file can be safely transpiled without relying on other imports. */ + "isolatedModules": true, + /* Allow 'import x from y' when a module doesn't have a default export. */ + "allowSyntheticDefaultImports": true, + /* Ensure that casing is correct in imports. */ + "forceConsistentCasingInFileNames": true, - /* Enable all strict type-checking options. */ - "strict": true, + /* Enable all strict type-checking options. */ + "strict": true, - /* Skip type checking all .d.ts files. */ - "skipLibCheck": true, - "types": [ - "./worker-configuration.d.ts" - ] - }, - "exclude": ["test"], - "include": ["worker-configuration.d.ts", "src/**/*.ts"] + /* Skip type checking all .d.ts files. */ + "skipLibCheck": true, + "types": ["./worker-configuration.d.ts"] + }, + "exclude": ["test"], + "include": ["worker-configuration.d.ts", "src/**/*.ts"] } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/worker-configuration.d.ts b/dev-packages/e2e-tests/test-applications/cloudflare-workers/worker-configuration.d.ts index 08a92a61d05d..1701ed9f621a 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/worker-configuration.d.ts +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/worker-configuration.d.ts @@ -3,5 +3,5 @@ interface Env { E2E_TEST_DSN: ''; - MY_DURABLE_OBJECT: DurableObjectNamespace + MY_DURABLE_OBJECT: DurableObjectNamespace; } diff --git a/dev-packages/e2e-tests/test-applications/create-react-app/src/index.css b/dev-packages/e2e-tests/test-applications/create-react-app/src/index.css index 7323ae85c542..25543f727ab8 100644 --- a/dev-packages/e2e-tests/test-applications/create-react-app/src/index.css +++ b/dev-packages/e2e-tests/test-applications/create-react-app/src/index.css @@ -1,7 +1,8 @@ body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', - 'Droid Sans', 'Helvetica Neue', sans-serif; + font-family: + -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', + 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express/tests/server-transactions.test.ts b/dev-packages/e2e-tests/test-applications/create-remix-app-express/tests/server-transactions.test.ts index 36c51debbb98..d57c45545caf 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express/tests/server-transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express/tests/server-transactions.test.ts @@ -81,8 +81,9 @@ test('Propagates trace when ErrorBoundary is triggered', async ({ page }) => { const httpServerTraceId = httpServerTransaction.contexts?.trace?.trace_id; const httpServerSpanId = httpServerTransaction.contexts?.trace?.span_id; - const loaderSpanId = httpServerTransaction?.spans?.find(span => span.data && span.data['code.function'] === 'loader') - ?.span_id; + const loaderSpanId = httpServerTransaction?.spans?.find( + span => span.data && span.data['code.function'] === 'loader', + )?.span_id; const pageLoadTraceId = pageloadTransaction.contexts?.trace?.trace_id; const pageLoadSpanId = pageloadTransaction.contexts?.trace?.span_id; diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express/tsconfig.json b/dev-packages/e2e-tests/test-applications/create-remix-app-express/tsconfig.json index 909c40f4d950..0c6c558ce578 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express/tsconfig.json @@ -17,6 +17,6 @@ "~/*": ["./app/*"] }, // Remix takes care of building everything in `remix build`. - "noEmit": true, - }, + "noEmit": true + } } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/tests/server-transactions.test.ts b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/tests/server-transactions.test.ts index 69508ed67183..9c24209e3f10 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/tests/server-transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/tests/server-transactions.test.ts @@ -38,8 +38,9 @@ test('Sends two linked transactions (server & client) to Sentry', async ({ page const httpServerTraceId = httpServerTransaction.contexts?.trace?.trace_id; const httpServerSpanId = httpServerTransaction.contexts?.trace?.span_id; - const loaderSpanId = httpServerTransaction?.spans?.find(span => span.data && span.data['code.function'] === 'loader') - ?.span_id; + const loaderSpanId = httpServerTransaction?.spans?.find( + span => span.data && span.data['code.function'] === 'loader', + )?.span_id; const pageLoadTraceId = pageloadTransaction.contexts?.trace?.trace_id; const pageLoadSpanId = pageloadTransaction.contexts?.trace?.span_id; diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/app/components/link.ts b/dev-packages/e2e-tests/test-applications/ember-classic/app/components/link.ts index 1ba66df216fc..a57b5ea7b930 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/app/components/link.ts +++ b/dev-packages/e2e-tests/test-applications/ember-classic/app/components/link.ts @@ -14,7 +14,7 @@ interface Args { Since glimmer components are, as of now, not instrumented, this leads to different test results. */ export default class LinkComponent extends Component { - @service public declare router: RouterService; + @service declare public router: RouterService; public get href(): string { return this.router.urlFor(this.args.route); diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/app/controllers/slow-loading-route.ts b/dev-packages/e2e-tests/test-applications/ember-classic/app/controllers/slow-loading-route.ts index 01a523ea0985..f10bfa01ce23 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/app/controllers/slow-loading-route.ts +++ b/dev-packages/e2e-tests/test-applications/ember-classic/app/controllers/slow-loading-route.ts @@ -4,7 +4,7 @@ import type RouterService from '@ember/routing/router-service'; import { inject as service } from '@ember/service'; export default class SlowLoadingRouteController extends Controller { - @service public declare router: RouterService; + @service declare public router: RouterService; @action public back(): void { diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/app/controllers/tracing.ts b/dev-packages/e2e-tests/test-applications/ember-classic/app/controllers/tracing.ts index 72c0d635702e..3d24969c4b46 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/app/controllers/tracing.ts +++ b/dev-packages/e2e-tests/test-applications/ember-classic/app/controllers/tracing.ts @@ -4,7 +4,7 @@ import type RouterService from '@ember/routing/router-service'; import { inject as service } from '@ember/service'; export default class TracingController extends Controller { - @service public declare router: RouterService; + @service declare public router: RouterService; @action public navigateToSlowRoute(): void { diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/tsconfig.app.json b/dev-packages/e2e-tests/test-applications/ember-classic/tsconfig.app.json index 55663457968a..f87679196bb3 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/tsconfig.app.json +++ b/dev-packages/e2e-tests/test-applications/ember-classic/tsconfig.app.json @@ -10,12 +10,8 @@ // work with TypeScript. "baseUrl": ".", "paths": { - "ember-classic/*": [ - "app/*" - ], - "*": [ - "types/*" - ], + "ember-classic/*": ["app/*"], + "*": ["types/*"] } }, "include": ["app/**/*", "types/**/*"], diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/tsconfig.json b/dev-packages/e2e-tests/test-applications/ember-classic/tsconfig.json index 78f134a16dca..66b5e5703e83 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/ember-classic/tsconfig.json @@ -7,5 +7,5 @@ { "path": "./tsconfig.app.json" } - ], + ] } diff --git a/dev-packages/e2e-tests/test-applications/ember-embroider/tsconfig.app.json b/dev-packages/e2e-tests/test-applications/ember-embroider/tsconfig.app.json index bdfe8763ecc2..35f5e9b7f3c3 100644 --- a/dev-packages/e2e-tests/test-applications/ember-embroider/tsconfig.app.json +++ b/dev-packages/e2e-tests/test-applications/ember-embroider/tsconfig.app.json @@ -10,12 +10,8 @@ // work with TypeScript. "baseUrl": ".", "paths": { - "ember-embroider/*": [ - "app/*" - ], - "*": [ - "types/*" - ], + "ember-embroider/*": ["app/*"], + "*": ["types/*"] } }, "include": ["app/**/*", "types/**/*"], diff --git a/dev-packages/e2e-tests/test-applications/ember-embroider/tsconfig.json b/dev-packages/e2e-tests/test-applications/ember-embroider/tsconfig.json index 78f134a16dca..66b5e5703e83 100644 --- a/dev-packages/e2e-tests/test-applications/ember-embroider/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/ember-embroider/tsconfig.json @@ -7,5 +7,5 @@ { "path": "./tsconfig.app.json" } - ], + ] } diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/entry.server.tsx b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/entry.server.tsx index c2410fe87b26..acf5b4782b20 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/entry.server.tsx +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/entry.server.tsx @@ -18,15 +18,17 @@ async function handleRequest( ], }); - const body = Sentry.injectTraceMetaTags(await renderToReadableStream( - - - , - { - nonce, - signal: request.signal, - }, - )); + const body = Sentry.injectTraceMetaTags( + await renderToReadableStream( + + + , + { + nonce, + signal: request.signal, + }, + ), + ); responseHeaders.set('Content-Type', 'text/html'); responseHeaders.set('Content-Security-Policy', header); @@ -50,5 +52,4 @@ export const handleError: HandleErrorFunction = (error, { request }) => { } }; - export default Sentry.wrapSentryHandleRequest(handleRequest); diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/root.tsx b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/root.tsx index e38f97bd3f06..afa85270e045 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/root.tsx +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/root.tsx @@ -1,5 +1,5 @@ import * as Sentry from '@sentry/react-router/cloudflare'; -import {type LoaderFunctionArgs} from '@shopify/remix-oxygen'; +import { type LoaderFunctionArgs } from '@shopify/remix-oxygen'; import { Outlet, isRouteErrorResponse, @@ -9,20 +9,16 @@ import { Scripts, ScrollRestoration, } from 'react-router'; -import {FOOTER_QUERY, HEADER_QUERY} from '~/lib/fragments'; +import { FOOTER_QUERY, HEADER_QUERY } from '~/lib/fragments'; -import {useNonce} from '@shopify/hydrogen'; +import { useNonce } from '@shopify/hydrogen'; export type RootLoader = typeof loader; /** * This is important to avoid re-fetching root queries on sub-navigations */ -export const shouldRevalidate: ShouldRevalidateFunction = ({ - formMethod, - currentUrl, - nextUrl, -}) => { +export const shouldRevalidate: ShouldRevalidateFunction = ({ formMethod, currentUrl, nextUrl }) => { // revalidate when a mutation is performed e.g add to cart, login... if (formMethod && formMethod !== 'GET') return true; @@ -67,7 +63,7 @@ export async function loader(args: LoaderFunctionArgs) { // Await the critical data required to render initial state of the page const criticalData = await loadCriticalData(args); - const {env} = args.context; + const { env } = args.context; return { ...deferredData, @@ -92,8 +88,8 @@ export async function loader(args: LoaderFunctionArgs) { * Load data necessary for rendering content above the fold. This is the critical data * needed to render the page. If it's unavailable, the whole page should 400 or 500 error. */ -async function loadCriticalData({context}: LoaderFunctionArgs) { - const {storefront} = context; +async function loadCriticalData({ context }: LoaderFunctionArgs) { + const { storefront } = context; const [header] = await Promise.all([ storefront.query(HEADER_QUERY, { @@ -105,7 +101,7 @@ async function loadCriticalData({context}: LoaderFunctionArgs) { // Add other queries here, so that they are loaded in parallel ]); - return {header}; + return { header }; } /** @@ -113,8 +109,8 @@ async function loadCriticalData({context}: LoaderFunctionArgs) { * fetched after the initial page load. If it's unavailable, the page should still 200. * Make sure to not throw any errors here, as it will cause the page to 500. */ -function loadDeferredData({context}: LoaderFunctionArgs) { - const {storefront, customerAccount, cart} = context; +function loadDeferredData({ context }: LoaderFunctionArgs) { + const { storefront, customerAccount, cart } = context; // defer the footer query (below the fold) const footer = storefront @@ -136,7 +132,7 @@ function loadDeferredData({context}: LoaderFunctionArgs) { }; } -export function Layout({children}: {children?: React.ReactNode}) { +export function Layout({ children }: { children?: React.ReactNode }) { const nonce = useNonce(); return ( @@ -160,11 +156,7 @@ export default function App() { return ; } -export function ErrorBoundary({ - error -}: { - error: unknown -}) { +export function ErrorBoundary({ error }: { error: unknown }) { let errorMessage = 'Unknown error'; let errorStatus = 500; diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/routes.ts b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/routes.ts index f717956345d0..e5b3547b37f3 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/routes.ts +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/app/routes.ts @@ -1,6 +1,6 @@ -import {flatRoutes} from '@react-router/fs-routes'; -import {type RouteConfig} from '@react-router/dev/routes'; -import {hydrogenRoutes} from '@shopify/hydrogen'; +import { flatRoutes } from '@react-router/fs-routes'; +import { type RouteConfig } from '@react-router/dev/routes'; +import { hydrogenRoutes } from '@shopify/hydrogen'; export default hydrogenRoutes([ ...(await flatRoutes()), diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/instrument.server.mjs b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/instrument.server.mjs index 044e50e1b86c..adab0b0b3d32 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/instrument.server.mjs +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/instrument.server.mjs @@ -1,6 +1,6 @@ -import * as Sentry from "@sentry/react-router"; +import * as Sentry from '@sentry/react-router'; Sentry.init({ - dsn: "https://examplePublicKey@o0.ingest.sentry.io/0", + dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0', // Adds request headers and IP for users, for more info visit: // https://docs.sentry.io/platforms/javascript/guides/react-router/configuration/options/#sendDefaultPii sendDefaultPii: true, diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/package.json b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/package.json index 75b4f35ae507..503ad2758767 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/package.json +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/package.json @@ -13,7 +13,6 @@ "test:build": "pnpm install && npx playwright install && pnpm build", "test:assert": "pnpm playwright test" }, - "prettier": "@shopify/prettier-config", "dependencies": { "@sentry/cloudflare": "latest || *", "@sentry/react-router": "latest || *", @@ -38,7 +37,6 @@ "@shopify/hydrogen-codegen": "^0.3.3", "@shopify/mini-oxygen": "3.2.1", "@shopify/oxygen-workers-types": "^4.1.6", - "@shopify/prettier-config": "^1.1.2", "@tailwindcss/vite": "4.0.0-alpha.17", "@total-typescript/ts-reset": "^0.4.2", "@types/eslint": "^8.4.10", @@ -47,7 +45,6 @@ "esbuild": "0.25.0", "eslint": "^9.18.0", "eslint-plugin-hydrogen": "0.12.2", - "prettier": "^3.4.2", "typescript": "^5.2.2", "vite": "^6.2.4", "vite-tsconfig-paths": "^4.3.1" diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/react-router.config.ts b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/react-router.config.ts index 5c25f23ad404..09071780e0e5 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/react-router.config.ts +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/react-router.config.ts @@ -1,4 +1,4 @@ -import type {Config} from '@react-router/dev/config'; +import type { Config } from '@react-router/dev/config'; import { sentryOnBuildEnd } from '@sentry/react-router'; export default { @@ -8,7 +8,6 @@ export default { buildEnd: async ({ viteConfig, reactRouterConfig, buildManifest }) => { // ... // Call this at the end of the hook - (await sentryOnBuildEnd({ viteConfig, reactRouterConfig, buildManifest })); - } + await sentryOnBuildEnd({ viteConfig, reactRouterConfig, buildManifest }); + }, } satisfies Config; - diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/server.ts b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/server.ts index 07638d967cf7..d28fab88135f 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/server.ts +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/server.ts @@ -39,7 +39,7 @@ export default { request: request as any, context: executionContext, }, - async () => { + async () => { try { /** * Open a cache instance in the worker and a custom session instance. diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/tsconfig.json b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/tsconfig.json index af4a50ee6f5a..0d4c4dc2e4de 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/tsconfig.json @@ -1,11 +1,5 @@ { - "include": [ - "server.ts", - "./app/**/*.d.ts", - "./app/**/*.ts", - "./app/**/*.tsx", - ".react-router/types/**/*" - ], + "include": ["server.ts", "./app/**/*.d.ts", "./app/**/*.ts", "./app/**/*.tsx", ".react-router/types/**/*"], "compilerOptions": { "lib": ["DOM", "DOM.Iterable", "ES2022"], "isolatedModules": true, diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/vite.config.ts b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/vite.config.ts index fbce6e7c8463..fbff797eddfa 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/vite.config.ts @@ -6,15 +6,14 @@ import tsconfigPaths from 'vite-tsconfig-paths'; import { sentryReactRouter, type SentryReactRouterBuildOptions } from '@sentry/react-router'; const sentryConfig: SentryReactRouterBuildOptions = { - org: "example-org", - project: "example-project", + org: 'example-org', + project: 'example-project', // An auth token is required for uploading source maps; // store it in an environment variable to keep it secure. authToken: process.env.SENTRY_AUTH_TOKEN, // ... }; - export default defineConfig(config => ({ plugins: [ hydrogen(), diff --git a/dev-packages/e2e-tests/test-applications/nestjs-11/package.json b/dev-packages/e2e-tests/test-applications/nestjs-11/package.json index ed1784ccee8e..50ef252865be 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-11/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-11/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -36,9 +35,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nestjs-8/package.json b/dev-packages/e2e-tests/test-applications/nestjs-8/package.json index bbf2946f4c33..aa17d718c01d 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-8/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-8/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -36,9 +35,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json b/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json index c6d95a42113f..f11ff272b072 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -38,9 +37,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json b/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json index a91e7db8abf4..ba3535042af8 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -36,9 +35,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json b/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json index b1153afee84b..8ed28dd45430 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -35,9 +34,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json b/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json index f36c427e2e8a..9553a3b4e115 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -36,9 +35,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nestjs-fastify/tsconfig.json b/dev-packages/e2e-tests/test-applications/nestjs-fastify/tsconfig.json index 797d8abe0ead..15a7fce7f4b2 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-fastify/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-fastify/tsconfig.json @@ -16,6 +16,6 @@ "noImplicitAny": false, "strictBindCallApply": false, "forceConsistentCasingInFileNames": false, - "noFallthroughCasesInSwitch": false, + "noFallthroughCasesInSwitch": false } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json b/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json index 21fcd6e3fdf6..d6a501596b35 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -38,9 +37,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json index 41722a6adc32..1b8fd5b69c7f 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -34,9 +33,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json index 08e02f4077e6..e17b1d3a5cbd 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json @@ -4,7 +4,6 @@ "private": true, "scripts": { "build": "nest build", - "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", @@ -34,9 +33,6 @@ "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", "eslint": "^8.42.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-prettier": "^5.0.0", - "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-loader": "^9.4.3", diff --git a/dev-packages/e2e-tests/test-applications/nextjs-13/app/parameterized/static/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-13/app/parameterized/static/page.tsx index 080e09fe6df2..16ef0482d53b 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-13/app/parameterized/static/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-13/app/parameterized/static/page.tsx @@ -1,7 +1,3 @@ export default function StaticPage() { - return ( -
- Static page -
- ); + return
Static page
; } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/app/parameterized/static/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-14/app/parameterized/static/page.tsx index 080e09fe6df2..16ef0482d53b 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/app/parameterized/static/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/app/parameterized/static/page.tsx @@ -1,7 +1,3 @@ export default function StaticPage() { - return ( -
- Static page -
- ); + return
Static page
; } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/app/ai-test/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-15/app/ai-test/page.tsx index 828e92baf62a..d28a147eb88d 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/app/ai-test/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/app/ai-test/page.tsx @@ -54,7 +54,7 @@ async function runAITest() { tools: { getWeather: { parameters: z.object({ location: z.string() }), - execute: async (args) => { + execute: async args => { return `Weather in ${args.location}: Sunny, 72°F`; }, }, @@ -85,12 +85,9 @@ async function runAITest() { } export default async function Page() { - const results = await Sentry.startSpan( - { op: 'function', name: 'ai-test' }, - async () => { - return await runAITest(); - } - ); + const results = await Sentry.startSpan({ op: 'function', name: 'ai-test' }, async () => { + return await runAITest(); + }); return (
diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/app/parameterized/static/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-15/app/parameterized/static/page.tsx index 080e09fe6df2..16ef0482d53b 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/app/parameterized/static/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/app/parameterized/static/page.tsx @@ -1,7 +1,3 @@ export default function StaticPage() { - return ( -
- Static page -
- ); + return
Static page
; } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/app/ppr-error/[param]/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-15/app/ppr-error/[param]/page.tsx index c67513e0e4fd..f2e096164d04 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/app/ppr-error/[param]/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/app/ppr-error/[param]/page.tsx @@ -1,10 +1,6 @@ import * as Sentry from '@sentry/nextjs'; -export default async function Page({ - searchParams, -}: { - searchParams: any; -}) { +export default async function Page({ searchParams }: { searchParams: any }) { // We need to dynamically check for this because Next.js made the API async for Next.js 15 and we use this test in canary tests const normalizedSearchParams = await searchParams; diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/sentry.server.config.ts b/dev-packages/e2e-tests/test-applications/nextjs-15/sentry.server.config.ts index 947e8bb7f819..270c7244ad17 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/sentry.server.config.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/sentry.server.config.ts @@ -10,7 +10,5 @@ Sentry.init({ // We are doing a lot of events at once in this test bufferSize: 1000, }, - integrations: [ - Sentry.vercelAIIntegration(), - ], + integrations: [Sentry.vercelAIIntegration()], }); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json b/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json index cd1697890ced..f8c9e58f06d1 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json @@ -36,7 +36,6 @@ "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", "postcss": "^8.4.39", - "prettier": "^3.3.2", "typescript": "^5.5.3", "zod": "^3.24.2" }, diff --git a/dev-packages/e2e-tests/test-applications/nextjs-orpc/src/app/global-error.tsx b/dev-packages/e2e-tests/test-applications/nextjs-orpc/src/app/global-error.tsx index 912ad3606a61..20c175015b03 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-orpc/src/app/global-error.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-orpc/src/app/global-error.tsx @@ -4,11 +4,7 @@ import * as Sentry from '@sentry/nextjs'; import NextError from 'next/error'; import { useEffect } from 'react'; -export default function GlobalError({ - error, -}: { - error: Error & { digest?: string }; -}) { +export default function GlobalError({ error }: { error: Error & { digest?: string } }) { useEffect(() => { Sentry.captureException(error); }, [error]); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-orpc/tsconfig.json b/dev-packages/e2e-tests/test-applications/nextjs-orpc/tsconfig.json index 905062ded60c..246178da2b5e 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-orpc/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-orpc/tsconfig.json @@ -29,14 +29,6 @@ "~/*": ["./src/*"] } }, - "include": [ - ".eslintrc.cjs", - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - "**/*.cjs", - "**/*.js", - ".next/types/**/*.ts" - ], + "include": [".eslintrc.cjs", "next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.cjs", "**/*.js", ".next/types/**/*.ts"], "exclude": ["node_modules"] } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json b/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json index e9a7ae6a232d..467d47c69c68 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json @@ -40,8 +40,6 @@ "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", "postcss": "^8.4.39", - "prettier": "^3.3.2", - "prettier-plugin-tailwindcss": "^0.6.5", "tailwindcss": "^3.4.3", "typescript": "^5.5.3" }, diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/src/app/global-error.tsx b/dev-packages/e2e-tests/test-applications/nextjs-t3/src/app/global-error.tsx index 912ad3606a61..20c175015b03 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/src/app/global-error.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/src/app/global-error.tsx @@ -4,11 +4,7 @@ import * as Sentry from '@sentry/nextjs'; import NextError from 'next/error'; import { useEffect } from 'react'; -export default function GlobalError({ - error, -}: { - error: Error & { digest?: string }; -}) { +export default function GlobalError({ error }: { error: Error & { digest?: string } }) { useEffect(() => { Sentry.captureException(error); }, [error]); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/tsconfig.json b/dev-packages/e2e-tests/test-applications/nextjs-t3/tsconfig.json index 905062ded60c..246178da2b5e 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/tsconfig.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/tsconfig.json @@ -29,14 +29,6 @@ "~/*": ["./src/*"] } }, - "include": [ - ".eslintrc.cjs", - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - "**/*.cjs", - "**/*.js", - ".next/types/**/*.ts" - ], + "include": [".eslintrc.cjs", "next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.cjs", "**/*.js", ".next/types/**/*.ts"], "exclude": ["node_modules"] } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-turbo/app/global-error.tsx b/dev-packages/e2e-tests/test-applications/nextjs-turbo/app/global-error.tsx index 912ad3606a61..20c175015b03 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-turbo/app/global-error.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-turbo/app/global-error.tsx @@ -4,11 +4,7 @@ import * as Sentry from '@sentry/nextjs'; import NextError from 'next/error'; import { useEffect } from 'react'; -export default function GlobalError({ - error, -}: { - error: Error & { digest?: string }; -}) { +export default function GlobalError({ error }: { error: Error & { digest?: string } }) { useEffect(() => { Sentry.captureException(error); }, [error]); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-turbo/app/parameterized/static/page.tsx b/dev-packages/e2e-tests/test-applications/nextjs-turbo/app/parameterized/static/page.tsx index 080e09fe6df2..16ef0482d53b 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-turbo/app/parameterized/static/page.tsx +++ b/dev-packages/e2e-tests/test-applications/nextjs-turbo/app/parameterized/static/page.tsx @@ -1,7 +1,3 @@ export default function StaticPage() { - return ( -
- Static page -
- ); + return
Static page
; } diff --git a/dev-packages/e2e-tests/test-applications/node-express-v5/tests/errors.test.ts b/dev-packages/e2e-tests/test-applications/node-express-v5/tests/errors.test.ts index 2b810615039a..56b4f51d228d 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-v5/tests/errors.test.ts +++ b/dev-packages/e2e-tests/test-applications/node-express-v5/tests/errors.test.ts @@ -43,11 +43,11 @@ test('Should record caught exceptions with local variable', async ({ baseURL }) test('To not crash app from withMonitor', async ({ baseURL }) => { const doRequest = async (id: number) => { - const response = await fetch(`${baseURL}/crash-in-with-monitor/${id}`) + const response = await fetch(`${baseURL}/crash-in-with-monitor/${id}`); return response.json(); - } - const [response1, response2] = await Promise.all([doRequest(1), doRequest(2)]) - expect(response1.message).toBe('This is an exception withMonitor: 1') - expect(response2.message).toBe('This is an exception withMonitor: 2') - expect(response1.pid).toBe(response2.pid) //Just to double-check, TBS + }; + const [response1, response2] = await Promise.all([doRequest(1), doRequest(2)]); + expect(response1.message).toBe('This is an exception withMonitor: 1'); + expect(response2.message).toBe('This is an exception withMonitor: 2'); + expect(response1.pid).toBe(response2.pid); //Just to double-check, TBS }); diff --git a/dev-packages/e2e-tests/test-applications/node-firebase/src/init.ts b/dev-packages/e2e-tests/test-applications/node-firebase/src/init.ts index 23c3d2fa5974..c3b4a642375a 100644 --- a/dev-packages/e2e-tests/test-applications/node-firebase/src/init.ts +++ b/dev-packages/e2e-tests/test-applications/node-firebase/src/init.ts @@ -1,6 +1,5 @@ import * as Sentry from '@sentry/node'; - Sentry.init({ dsn: 'https://public@dsn.ingest.sentry.io/1337', release: '1.0', diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/app.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/app.vue index 23283a522546..17a9e263bd72 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/app.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/app.vue @@ -13,5 +13,4 @@ - + diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/components/ErrorButton.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/components/ErrorButton.vue index 92ea714ae489..b686436bee17 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/components/ErrorButton.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/components/ErrorButton.vue @@ -4,13 +4,13 @@ import { defineProps } from 'vue'; const props = defineProps({ errorText: { type: String, - required: true + required: true, }, id: { type: String, - required: true - } -}) + required: true, + }, +}); const triggerError = () => { throw new Error(props.errorText); diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pages/client-error.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pages/client-error.vue index 5e1a14931f84..6911dff7c2ee 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pages/client-error.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pages/client-error.vue @@ -3,9 +3,6 @@ import ErrorButton from '../components/ErrorButton.vue'; - - - diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pages/index.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pages/index.vue index 74513c5697f3..a3741b5111d0 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pages/index.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pages/index.vue @@ -1,3 +1,3 @@ diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-min/app.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-min/app.vue index 23283a522546..17a9e263bd72 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-min/app.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-min/app.vue @@ -13,5 +13,4 @@ - + diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-min/components/ErrorButton.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-min/components/ErrorButton.vue index 92ea714ae489..b686436bee17 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-min/components/ErrorButton.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-min/components/ErrorButton.vue @@ -4,13 +4,13 @@ import { defineProps } from 'vue'; const props = defineProps({ errorText: { type: String, - required: true + required: true, }, id: { type: String, - required: true - } -}) + required: true, + }, +}); const triggerError = () => { throw new Error(props.errorText); diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json b/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json index 92e21b103eeb..77a0459542be 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json @@ -31,7 +31,7 @@ "ofetch": "1.4.0", "@vercel/nft": "0.29.4" } -}, + }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-min/pages/client-error.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-min/pages/client-error.vue index d244ef773140..2bc7f00c866b 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-min/pages/client-error.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-min/pages/client-error.vue @@ -3,9 +3,6 @@ import ErrorButton from '../components/ErrorButton.vue'; - - - diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-min/pages/index.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-min/pages/index.vue index 74513c5697f3..a3741b5111d0 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-min/pages/index.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-min/pages/index.vue @@ -1,3 +1,3 @@ diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/app.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/app.vue index 23283a522546..17a9e263bd72 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/app.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/app.vue @@ -13,5 +13,4 @@ - + diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/components/ErrorButton.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/components/ErrorButton.vue index 92ea714ae489..b686436bee17 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/components/ErrorButton.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/components/ErrorButton.vue @@ -4,13 +4,13 @@ import { defineProps } from 'vue'; const props = defineProps({ errorText: { type: String, - required: true + required: true, }, id: { type: String, - required: true - } -}) + required: true, + }, +}); const triggerError = () => { throw new Error(props.errorText); diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pages/client-error.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pages/client-error.vue index 5e1a14931f84..6911dff7c2ee 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pages/client-error.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pages/client-error.vue @@ -3,9 +3,6 @@ import ErrorButton from '../components/ErrorButton.vue'; - - - diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pages/index.vue b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pages/index.vue index 74513c5697f3..a3741b5111d0 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pages/index.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pages/index.vue @@ -1,3 +1,3 @@ diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3/app.vue b/dev-packages/e2e-tests/test-applications/nuxt-3/app.vue index 23283a522546..17a9e263bd72 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3/app.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3/app.vue @@ -13,5 +13,4 @@ - + diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3/components/ErrorButton.vue b/dev-packages/e2e-tests/test-applications/nuxt-3/components/ErrorButton.vue index 92ea714ae489..b686436bee17 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3/components/ErrorButton.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3/components/ErrorButton.vue @@ -4,13 +4,13 @@ import { defineProps } from 'vue'; const props = defineProps({ errorText: { type: String, - required: true + required: true, }, id: { type: String, - required: true - } -}) + required: true, + }, +}); const triggerError = () => { throw new Error(props.errorText); diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3/pages/client-error.vue b/dev-packages/e2e-tests/test-applications/nuxt-3/pages/client-error.vue index ea353639a3f4..649917c16f83 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3/pages/client-error.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3/pages/client-error.vue @@ -3,14 +3,14 @@ import ErrorButton from '../components/ErrorButton.vue'; const catchErr = () => { console.log('Additional functionality in NuxtErrorBoundary'); -} +}; diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3/pages/index.vue b/dev-packages/e2e-tests/test-applications/nuxt-3/pages/index.vue index 74513c5697f3..a3741b5111d0 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3/pages/index.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-3/pages/index.vue @@ -1,3 +1,3 @@ diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4/app/components/ErrorButton.vue b/dev-packages/e2e-tests/test-applications/nuxt-4/app/components/ErrorButton.vue index 92ea714ae489..b686436bee17 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4/app/components/ErrorButton.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-4/app/components/ErrorButton.vue @@ -4,13 +4,13 @@ import { defineProps } from 'vue'; const props = defineProps({ errorText: { type: String, - required: true + required: true, }, id: { type: String, - required: true - } -}) + required: true, + }, +}); const triggerError = () => { throw new Error(props.errorText); diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/client-error.vue b/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/client-error.vue index 9ec99d1e7471..97f8abf00fb9 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/client-error.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/client-error.vue @@ -3,14 +3,14 @@ import ErrorButton from '../components/ErrorButton.vue'; const catchErr = () => { console.log('Additional functionality in NuxtErrorBoundary'); -} +}; diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/index.vue b/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/index.vue index 74513c5697f3..a3741b5111d0 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/index.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/index.vue @@ -1,3 +1,3 @@ diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/pinia-cart.vue b/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/pinia-cart.vue index 3d210cf459de..07464aa28ca3 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/pinia-cart.vue +++ b/dev-packages/e2e-tests/test-applications/nuxt-4/app/pages/pinia-cart.vue @@ -1,24 +1,24 @@ @@ -26,7 +26,7 @@ function clearCart() { - -