From 70b0bbf4aac2b21e18551e477e19b938b20b3ccf Mon Sep 17 00:00:00 2001 From: Daniel Griesser Date: Sun, 6 Aug 2023 17:18:25 +0200 Subject: [PATCH 1/4] fix: Safeguard for Sentry default templates --- .../templates/sentryApi.ts.template | 3 +-- .../templates/sentryWeb.ts.template | 27 ++++++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/packages/cli/src/commands/experimental/templates/sentryApi.ts.template b/packages/cli/src/commands/experimental/templates/sentryApi.ts.template index 29565f4977c6..2df7623b96a0 100644 --- a/packages/cli/src/commands/experimental/templates/sentryApi.ts.template +++ b/packages/cli/src/commands/experimental/templates/sentryApi.ts.template @@ -1,12 +1,11 @@ import * as Sentry from '@sentry/node' -import * as Tracing from '@sentry/tracing' import { db as client } from 'src/lib/db' Sentry.init({ dsn: process.env.SENTRY_DSN, environment: process.env.NODE_ENV, - integrations: [new Tracing.Integrations.Prisma({ client })], + integrations: [new Sentry.Integrations.Prisma({ client })], tracesSampleRate: 1.0, }) diff --git a/packages/cli/src/commands/experimental/templates/sentryWeb.ts.template b/packages/cli/src/commands/experimental/templates/sentryWeb.ts.template index 4441183e29fb..24d6a0aebabb 100644 --- a/packages/cli/src/commands/experimental/templates/sentryWeb.ts.template +++ b/packages/cli/src/commands/experimental/templates/sentryWeb.ts.template @@ -1,10 +1,29 @@ import * as Sentry from '@sentry/react' -import { BrowserTracing } from '@sentry/tracing' + +let dsn = '' +let environment = 'development' + +if (typeof process === 'undefined' || !process.env.SENTRY_DSN) { + console.error( + 'Missing SENTRY_DSN environment variable. Did you forget to add it to your redwood.toml file in `includeEnvironmentVariables`?' + ) + console.info(`Copy this into your redwood.toml file:`) + console.info(` + includeEnvironmentVariables = [ + "SENTRY_DSN" + ] + + `) + console.error('Sentry is disabled for now') +} else { + dsn = process.env.SENTRY_DSN + environment = process.env.NODE_ENV +} Sentry.init({ - dsn: process.env.SENTRY_DSN, - environment: process.env.NODE_ENV, - integrations: [new BrowserTracing()], + dsn, + environment, + integrations: [new Sentry.BrowserTracing()], tracesSampleRate: 1.0, }) From 4aab5ab4886ea7eed9c4984b1fedd3e1d3662286 Mon Sep 17 00:00:00 2001 From: Daniel Griesser Date: Sun, 6 Aug 2023 17:21:50 +0200 Subject: [PATCH 2/4] ref: Change dsn default to empty string --- packages/cli/src/commands/experimental/setupSentryHandler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/commands/experimental/setupSentryHandler.js b/packages/cli/src/commands/experimental/setupSentryHandler.js index 14a320ba6b0b..db76a0483fac 100644 --- a/packages/cli/src/commands/experimental/setupSentryHandler.js +++ b/packages/cli/src/commands/experimental/setupSentryHandler.js @@ -34,7 +34,7 @@ export const handler = async ({ force }) => { addWebPackages(['@sentry/react@7', '@sentry/tracing@7']), addEnvVarTask( 'SENTRY_DSN', - 'https://XXXXXXX@XXXXXXX.ingest.sentry.io/XXXXXXX', + '', 'https://docs.sentry.io/product/sentry-basics/dsn-explainer/' ), { From 726ec2d59c221c6e5864980216d941c13a03ae8a Mon Sep 17 00:00:00 2001 From: Daniel Griesser Date: Sun, 6 Aug 2023 19:00:38 +0200 Subject: [PATCH 3/4] ref: Add Tracing, change Prisma --- .../commands/experimental/templates/sentryApi.ts.template | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/commands/experimental/templates/sentryApi.ts.template b/packages/cli/src/commands/experimental/templates/sentryApi.ts.template index 2df7623b96a0..c5fb00cc84a1 100644 --- a/packages/cli/src/commands/experimental/templates/sentryApi.ts.template +++ b/packages/cli/src/commands/experimental/templates/sentryApi.ts.template @@ -1,11 +1,12 @@ import * as Sentry from '@sentry/node' -import { db as client } from 'src/lib/db' - Sentry.init({ dsn: process.env.SENTRY_DSN, environment: process.env.NODE_ENV, - integrations: [new Sentry.Integrations.Prisma({ client })], + integrations: [ + new Sentry.Integrations.Prisma(), + new Sentry.Integrations.Http({ tracing: true }), + ], tracesSampleRate: 1.0, }) From 888f9056e67d3d36e040cd94917cfb15637c1525 Mon Sep 17 00:00:00 2001 From: Daniel Griesser Date: Sun, 6 Aug 2023 19:04:46 +0200 Subject: [PATCH 4/4] fix: Prisma import --- .../src/commands/experimental/templates/sentryApi.ts.template | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/commands/experimental/templates/sentryApi.ts.template b/packages/cli/src/commands/experimental/templates/sentryApi.ts.template index c5fb00cc84a1..dcb781fcb611 100644 --- a/packages/cli/src/commands/experimental/templates/sentryApi.ts.template +++ b/packages/cli/src/commands/experimental/templates/sentryApi.ts.template @@ -1,10 +1,12 @@ import * as Sentry from '@sentry/node' +import { db as client } from 'src/lib/db' + Sentry.init({ dsn: process.env.SENTRY_DSN, environment: process.env.NODE_ENV, integrations: [ - new Sentry.Integrations.Prisma(), + new Sentry.Integrations.Prisma({ client }), new Sentry.Integrations.Http({ tracing: true }), ], tracesSampleRate: 1.0,