From 45bd0a82a1b4aab417b0d5fafe8ae7b45139e11a Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Mon, 25 Mar 2024 11:13:49 +0100 Subject: [PATCH 1/3] feat(node): Do not include `prismaIntegration` by default This seems to have issues in ESM builds (not just in astro, but also saw it in remix), so for now removing this from defaults - users can still add it manually if needed. We may find a better solution for this before v8 is stable. --- packages/astro/src/server/sdk.ts | 4 ---- .../node-experimental/src/integrations/tracing/index.ts | 6 ++++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/astro/src/server/sdk.ts b/packages/astro/src/server/sdk.ts index a34a33cad31d..c2398c7d019f 100644 --- a/packages/astro/src/server/sdk.ts +++ b/packages/astro/src/server/sdk.ts @@ -1,6 +1,5 @@ import { applySdkMetadata } from '@sentry/core'; import type { NodeOptions } from '@sentry/node'; -import { getDefaultIntegrations } from '@sentry/node'; import { init as initNodeSdk, setTag } from '@sentry/node'; /** @@ -10,9 +9,6 @@ import { init as initNodeSdk, setTag } from '@sentry/node'; export function init(options: NodeOptions): void { const opts = { ...options, - // TODO v8: For now, we disable the Prisma integration, because that has weird esm-cjs interop issues - // We should figure these out and fix these before v8 goes stable. - defaultIntegrations: getDefaultIntegrations(options).filter(integration => integration.name !== 'Prisma'), }; applySdkMetadata(opts, 'astro', ['astro', 'node']); diff --git a/packages/node-experimental/src/integrations/tracing/index.ts b/packages/node-experimental/src/integrations/tracing/index.ts index ce3773fec1eb..85a72dac28c7 100644 --- a/packages/node-experimental/src/integrations/tracing/index.ts +++ b/packages/node-experimental/src/integrations/tracing/index.ts @@ -11,7 +11,6 @@ import { mysqlIntegration } from './mysql'; import { mysql2Integration } from './mysql2'; import { nestIntegration } from './nest'; import { postgresIntegration } from './postgres'; -import { prismaIntegration } from './prisma'; /** * With OTEL, all performance integrations will be added, as OTEL only initializes them when the patched package is actually required. @@ -26,7 +25,10 @@ export function getAutoPerformanceIntegrations(): Integration[] { mysqlIntegration(), mysql2Integration(), postgresIntegration(), - prismaIntegration(), + // For now, we do not include prisma by default because it has ESM issues + // See https://github.com/prisma/prisma/issues/23410 + // TODO v8: Figure out a better solution for this, maybe only disable in ESM mode? + // prismaIntegration(), nestIntegration(), hapiIntegration(), koaIntegration(), From ef76a027ef3397bd072bd5824a084294b42cd434 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Mon, 25 Mar 2024 11:57:37 +0100 Subject: [PATCH 2/3] fix test --- .../suites/tracing-experimental/prisma-orm/scenario.js | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-packages/node-integration-tests/suites/tracing-experimental/prisma-orm/scenario.js b/dev-packages/node-integration-tests/suites/tracing-experimental/prisma-orm/scenario.js index 58b46ac1cf3a..dd4f93b573da 100644 --- a/dev-packages/node-integration-tests/suites/tracing-experimental/prisma-orm/scenario.js +++ b/dev-packages/node-integration-tests/suites/tracing-experimental/prisma-orm/scenario.js @@ -9,6 +9,7 @@ Sentry.init({ release: '1.0', tracesSampleRate: 1.0, transport: loggingTransport, + integrations: [Sentry.prismaIntegration()] }); // Stop the process from exiting before the transaction is sent From ff910732d1b824622a2513489e19136aa758f5fa Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Mon, 25 Mar 2024 12:48:14 +0100 Subject: [PATCH 3/3] fix linting --- .../suites/tracing-experimental/prisma-orm/scenario.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-packages/node-integration-tests/suites/tracing-experimental/prisma-orm/scenario.js b/dev-packages/node-integration-tests/suites/tracing-experimental/prisma-orm/scenario.js index dd4f93b573da..7f291290bea2 100644 --- a/dev-packages/node-integration-tests/suites/tracing-experimental/prisma-orm/scenario.js +++ b/dev-packages/node-integration-tests/suites/tracing-experimental/prisma-orm/scenario.js @@ -9,7 +9,7 @@ Sentry.init({ release: '1.0', tracesSampleRate: 1.0, transport: loggingTransport, - integrations: [Sentry.prismaIntegration()] + integrations: [Sentry.prismaIntegration()], }); // Stop the process from exiting before the transaction is sent