From 98d2d7cf8311190eeebf839fc76bcd4d184400e0 Mon Sep 17 00:00:00 2001 From: swve Date: Thu, 4 Jan 2024 23:40:31 +0100 Subject: [PATCH] fix: reconfigure sentry for the frontend --- apps/web/.gitignore | 3 + apps/web/app/global-error.tsx | 24 +++++ apps/web/next.config.js | 21 +++- apps/web/package-lock.json | 171 +++++++++++++++++-------------- apps/web/package.json | 2 +- apps/web/sentry.client.config.js | 24 ----- apps/web/sentry.client.config.ts | 30 ++++++ apps/web/sentry.edge.config.js | 17 --- apps/web/sentry.edge.config.ts | 16 +++ apps/web/sentry.server.config.js | 17 --- apps/web/sentry.server.config.ts | 15 +++ pnpm-lock.yaml | 2 +- 12 files changed, 203 insertions(+), 139 deletions(-) create mode 100644 apps/web/app/global-error.tsx delete mode 100644 apps/web/sentry.client.config.js create mode 100644 apps/web/sentry.client.config.ts delete mode 100644 apps/web/sentry.edge.config.js create mode 100644 apps/web/sentry.edge.config.ts delete mode 100644 apps/web/sentry.server.config.js create mode 100644 apps/web/sentry.server.config.ts diff --git a/apps/web/.gitignore b/apps/web/.gitignore index 4059ef79..e1753567 100644 --- a/apps/web/.gitignore +++ b/apps/web/.gitignore @@ -40,3 +40,6 @@ next-env.d.ts # Sentry next.config.original.js + +# Sentry Config File +.sentryclirc diff --git a/apps/web/app/global-error.tsx b/apps/web/app/global-error.tsx new file mode 100644 index 00000000..49bbd2bc --- /dev/null +++ b/apps/web/app/global-error.tsx @@ -0,0 +1,24 @@ +"use client"; + +import * as Sentry from "@sentry/nextjs"; +import NextError from "next/error"; +import { useEffect } from "react"; + +export default function GlobalError({ + error, +}: { + error: Error & { digest?: string }; +}) { + useEffect(() => { + Sentry.captureException(error); + }, [error]); + + return ( + + + {/* This is the default Next.js error component but it doesn't allow omitting the statusCode property yet. */} + + + + ); +} \ No newline at end of file diff --git a/apps/web/next.config.js b/apps/web/next.config.js index efc12988..14746b67 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -3,4 +3,23 @@ const nextConfig = { reactStrictMode: false, } -module.exports = nextConfig +const { withSentryConfig } = require("@sentry/nextjs"); + +const SentryWebpackPluginOptions = { + // For all available options, see: + // https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ + + // Upload a larger set of source maps for prettier stack traces (increases build time) + widenClientFileUpload: true, + + // Transpiles SDK to be compatible with IE11 (increases bundle size) + transpileClientSDK: true, + + // Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers (increases server load) + tunnelRoute: "/monitoring", + + // Hides source maps from generated client bundles + hideSourceMaps: true, +} + +module.exports = withSentryConfig(nextConfig, SentryWebpackPluginOptions); \ No newline at end of file diff --git a/apps/web/package-lock.json b/apps/web/package-lock.json index c4c99efa..e6daccda 100644 --- a/apps/web/package-lock.json +++ b/apps/web/package-lock.json @@ -15,7 +15,7 @@ "@radix-ui/react-icons": "^1.1.1", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-tooltip": "^1.0.5", - "@sentry/nextjs": "^7.77.0", + "@sentry/nextjs": "^7.92.0", "@stitches/react": "^1.2.8", "@tiptap/extension-code-block-lowlight": "^2.1.11", "@tiptap/extension-collaboration": "^2.0.0-beta.199", @@ -3300,38 +3300,52 @@ "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", "dev": true }, - "node_modules/@sentry-internal/tracing": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.77.0.tgz", - "integrity": "sha512-8HRF1rdqWwtINqGEdx8Iqs9UOP/n8E0vXUu3Nmbqj4p5sQPA7vvCfq+4Y4rTqZFc7sNdFpDsRION5iQEh8zfZw==", + "node_modules/@sentry-internal/feedback": { + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.92.0.tgz", + "integrity": "sha512-/jEALRtVqboxB9kcK2tag8QCO6XANTlGBb9RV3oeGXJe0DDNJXRq6wVZbfgztXJRrfgx4XVDcNt1pRVoGGG++g==", "dependencies": { - "@sentry/core": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0" + "@sentry/core": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@sentry-internal/tracing": { + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.92.0.tgz", + "integrity": "sha512-ur55vPcUUUWFUX4eVLNP71ohswK7ZZpleNZw9Y1GfLqyI+0ILQUwjtzqItJrdClvVsdRZJMRmDV40Hp9Lbb9mA==", + "dependencies": { + "@sentry/core": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/browser": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.77.0.tgz", - "integrity": "sha512-nJ2KDZD90H8jcPx9BysQLiQW+w7k7kISCWeRjrEMJzjtge32dmHA8G4stlUTRIQugy5F+73cOayWShceFP7QJQ==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.92.0.tgz", + "integrity": "sha512-loMr02/zQ38u8aQhYLtIBg0i5n3ps2e3GUXrt3CdsJQdkRYfa62gcrE7SzvoEpMVHTk7VOI4fWGht8cWw/1k3A==", "dependencies": { - "@sentry-internal/tracing": "7.77.0", - "@sentry/core": "7.77.0", - "@sentry/replay": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0" + "@sentry-internal/feedback": "7.92.0", + "@sentry-internal/tracing": "7.92.0", + "@sentry/core": "7.92.0", + "@sentry/replay": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/cli": { - "version": "1.75.2", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.75.2.tgz", - "integrity": "sha512-CG0CKH4VCKWzEaegouWfCLQt9SFN+AieFESCatJ7zSuJmzF05ywpMusjxqRul6lMwfUhRKjGKOzcRJ1jLsfTBw==", + "version": "1.77.1", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.77.1.tgz", + "integrity": "sha512-OtJ7U9LeuPUAY/xow9wwcjM9w42IJIpDtClTKI/RliE685vd/OJUIpiAvebHNthDYpQynvwb/0iuF4fonh+CKw==", "hasInstallScript": true, "dependencies": { "https-proxy-agent": "^5.0.0", @@ -3349,25 +3363,25 @@ } }, "node_modules/@sentry/core": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.77.0.tgz", - "integrity": "sha512-Tj8oTYFZ/ZD+xW8IGIsU6gcFXD/gfE+FUxUaeSosd9KHwBQNOLhZSsYo/tTVf/rnQI/dQnsd4onPZLiL+27aTg==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.92.0.tgz", + "integrity": "sha512-1Tly7YB2I1byI5xb0Cwrxs56Rhww+6mQ7m9P7rTmdC3/ijOzbEoohtYIUPwcooCEarpbEJe/tAayRx6BrH2UbQ==", "dependencies": { - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0" + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/integrations": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.77.0.tgz", - "integrity": "sha512-P055qXgBHeZNKnnVEs5eZYLdy6P49Zr77A1aWJuNih/EenzMy922GOeGy2mF6XYrn1YJSjEwsNMNsQkcvMTK8Q==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.92.0.tgz", + "integrity": "sha512-9OT4i9b0Ge5sP3rCV8yYqoPp3BKcB9wjddW7sG0w88va32F0UWMKk4gmprtwgPYM0+u5AS/TTAVichRVRj+I1Q==", "dependencies": { - "@sentry/core": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0", + "@sentry/core": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0", "localforage": "^1.8.1" }, "engines": { @@ -3375,19 +3389,19 @@ } }, "node_modules/@sentry/nextjs": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/nextjs/-/nextjs-7.77.0.tgz", - "integrity": "sha512-8tYPBt5luFjrng1sAMJqNjM9sq80q0jbt6yariADU9hEr7Zk8YqFaOI2/Q6yn9dZ6XyytIRtLEo54kk2AO94xw==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/nextjs/-/nextjs-7.92.0.tgz", + "integrity": "sha512-gHLB06EwLWIxI4VdNADw3RaSokc+YKKLrG/RH8PrfWczCa2v5uQgzxWwKNYuViSGH/MBxZhpKGIZimjIkpOlBw==", "dependencies": { "@rollup/plugin-commonjs": "24.0.0", - "@sentry/core": "7.77.0", - "@sentry/integrations": "7.77.0", - "@sentry/node": "7.77.0", - "@sentry/react": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0", - "@sentry/vercel-edge": "7.77.0", - "@sentry/webpack-plugin": "1.20.0", + "@sentry/core": "7.92.0", + "@sentry/integrations": "7.92.0", + "@sentry/node": "7.92.0", + "@sentry/react": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0", + "@sentry/vercel-edge": "7.92.0", + "@sentry/webpack-plugin": "1.21.0", "chalk": "3.0.0", "resolve": "1.22.8", "rollup": "2.78.0", @@ -3408,14 +3422,14 @@ } }, "node_modules/@sentry/node": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.77.0.tgz", - "integrity": "sha512-Ob5tgaJOj0OYMwnocc6G/CDLWC7hXfVvKX/ofkF98+BbN/tQa5poL+OwgFn9BA8ud8xKzyGPxGU6LdZ8Oh3z/g==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.92.0.tgz", + "integrity": "sha512-LZeQL1r6kikEoOzA9K61OmMl32/lK/6PzmFNDH6z7UYwQopCZgVA6IP+CZuln8K2ys5c9hCyF7ICQMysXfpNJA==", "dependencies": { - "@sentry-internal/tracing": "7.77.0", - "@sentry/core": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0", + "@sentry-internal/tracing": "7.92.0", + "@sentry/core": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0", "https-proxy-agent": "^5.0.0" }, "engines": { @@ -3423,13 +3437,13 @@ } }, "node_modules/@sentry/react": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.77.0.tgz", - "integrity": "sha512-Q+htKzib5em0MdaQZMmPomaswaU3xhcVqmLi2CxqQypSjbYgBPPd+DuhrXKoWYLDDkkbY2uyfe4Lp3yLRWeXYw==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.92.0.tgz", + "integrity": "sha512-lTvrLuvxtGEZbkW6NHru03K6eyixKyBliwiLwO+k37FK7Ha8Bwat2m77weyizWCdQ6DKlVazJNppkNeAlACIvQ==", "dependencies": { - "@sentry/browser": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0", + "@sentry/browser": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0", "hoist-non-react-statics": "^3.3.2" }, "engines": { @@ -3440,57 +3454,58 @@ } }, "node_modules/@sentry/replay": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.77.0.tgz", - "integrity": "sha512-M9Ik2J5ekl+C1Och3wzLRZVaRGK33BlnBwfwf3qKjgLDwfKW+1YkwDfTHbc2b74RowkJbOVNcp4m8ptlehlSaQ==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.92.0.tgz", + "integrity": "sha512-G1t9Uvc9cR8VpNkElwvHIMGzykjIKikb10n0tfVd3e+rBPMCCjCPWOduwG6jZYxcvCjTpqmJh6NSLXxL/Mt4JA==", "dependencies": { - "@sentry-internal/tracing": "7.77.0", - "@sentry/core": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0" + "@sentry-internal/tracing": "7.92.0", + "@sentry/core": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/types": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.77.0.tgz", - "integrity": "sha512-nfb00XRJVi0QpDHg+JkqrmEBHsqBnxJu191Ded+Cs1OJ5oPXEW6F59LVcBScGvMqe+WEk1a73eH8XezwfgrTsA==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.92.0.tgz", + "integrity": "sha512-APmSOuZuoRGpbPpPeYIbMSplPjiWNLZRQa73QiXuTflW4Tu/ItDlU8hOa2+A6JKVkJCuD2EN6yUrxDGSMyNXeg==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.77.0.tgz", - "integrity": "sha512-NmM2kDOqVchrey3N5WSzdQoCsyDkQkiRxExPaNI2oKQ/jMWHs9yt0tSy7otPBcXs0AP59ihl75Bvm1tDRcsp5g==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.92.0.tgz", + "integrity": "sha512-3nEfrQ1z28b/2zgFGANPh5yMVtgwXmrasZxTvKbrAj+KWJpjrJHrIR84r9W277J44NMeZ5RhRW2uoDmuBslPnA==", "dependencies": { - "@sentry/types": "7.77.0" + "@sentry/types": "7.92.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/vercel-edge": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/vercel-edge/-/vercel-edge-7.77.0.tgz", - "integrity": "sha512-ffddPCgxVeAccPYuH5sooZeHBqDuJ9OIhIRYKoDi4TvmwAzWo58zzZWhRpkHqHgIQdQvhLVZ5F+FSQVWnYSOkw==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/vercel-edge/-/vercel-edge-7.92.0.tgz", + "integrity": "sha512-iUmYjFj5ze/k9B06HmLZ/2JGhaf/tmjd0foz3pSbMyKbql6TTnybIwG+gcg+ukcek5mB82288Fh+mWXoUUkMIg==", "dependencies": { - "@sentry/core": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0" + "@sentry-internal/tracing": "7.92.0", + "@sentry/core": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/webpack-plugin": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.20.0.tgz", - "integrity": "sha512-Ssj1mJVFsfU6vMCOM2d+h+KQR7QHSfeIP16t4l20Uq/neqWXZUQ2yvQfe4S3BjdbJXz/X4Rw8Hfy1Sd0ocunYw==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.21.0.tgz", + "integrity": "sha512-x0PYIMWcsTauqxgl7vWUY6sANl+XGKtx7DCVnnY7aOIIlIna0jChTAPANTfA2QrK+VK+4I/4JxatCEZBnXh3Og==", "dependencies": { - "@sentry/cli": "^1.74.6", + "@sentry/cli": "^1.77.1", "webpack-sources": "^2.0.0 || ^3.0.0" }, "engines": { diff --git a/apps/web/package.json b/apps/web/package.json index 85cd25ff..27561c3e 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -16,7 +16,7 @@ "@radix-ui/react-icons": "^1.1.1", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-tooltip": "^1.0.5", - "@sentry/nextjs": "^7.77.0", + "@sentry/nextjs": "^7.92.0", "@stitches/react": "^1.2.8", "@tiptap/extension-code-block-lowlight": "^2.1.11", "@tiptap/extension-collaboration": "^2.0.0-beta.199", diff --git a/apps/web/sentry.client.config.js b/apps/web/sentry.client.config.js deleted file mode 100644 index c34fa903..00000000 --- a/apps/web/sentry.client.config.js +++ /dev/null @@ -1,24 +0,0 @@ -// This file configures the initialization of Sentry on the browser. -// The config you add here will be used whenever a page is visited. -// https://docs.sentry.io/platforms/javascript/guides/nextjs/ - -import * as Sentry from "@sentry/nextjs"; - -const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN; - -Sentry.init({ - dsn: SENTRY_DSN || "https://5a456d54654c494b9a416c19e3b94573@o4505007882436608.ingest.sentry.io/4505008095625216", - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1.0, - // ... - // Note: if you want to override the automatic release value, do not set a - // `release` value here - use the environment variable `SENTRY_RELEASE`, so - // that it will also get attached to your source maps - - replaysSessionSampleRate: 0.1, - // If the entire session is not sampled, use the below sample rate to sample - // sessions when an error occurs. - replaysOnErrorSampleRate: 1.0, - - integrations: [new Sentry.Replay()], -}); diff --git a/apps/web/sentry.client.config.ts b/apps/web/sentry.client.config.ts new file mode 100644 index 00000000..df526510 --- /dev/null +++ b/apps/web/sentry.client.config.ts @@ -0,0 +1,30 @@ +// This file configures the initialization of Sentry on the client. +// The config you add here will be used whenever a users loads a page in their browser. +// https://docs.sentry.io/platforms/javascript/guides/nextjs/ + +import * as Sentry from "@sentry/nextjs"; + +Sentry.init({ + dsn: "https://5a456d54654c494b9a416c19e3b94573@o4505007882436608.ingest.sentry.io/4505008095625216", + + // Adjust this value in production, or use tracesSampler for greater control + tracesSampleRate: 1, + + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false, + + replaysOnErrorSampleRate: 1.0, + + // This sets the sample rate to be 10%. You may want this to be 100% while + // in development and sample at a lower rate in production + replaysSessionSampleRate: 0.1, + + // You can remove this option if you're not planning to use the Sentry Session Replay feature: + integrations: [ + new Sentry.Replay({ + // Additional Replay configuration goes in here, for example: + maskAllText: true, + blockAllMedia: true, + }), + ], +}); diff --git a/apps/web/sentry.edge.config.js b/apps/web/sentry.edge.config.js deleted file mode 100644 index 77601664..00000000 --- a/apps/web/sentry.edge.config.js +++ /dev/null @@ -1,17 +0,0 @@ -// This file configures the initialization of Sentry on the server. -// The config you add here will be used whenever middleware or an Edge route handles a request. -// https://docs.sentry.io/platforms/javascript/guides/nextjs/ - -import * as Sentry from '@sentry/nextjs'; - -const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN; - -Sentry.init({ - dsn: SENTRY_DSN || 'https://5a456d54654c494b9a416c19e3b94573@o4505007882436608.ingest.sentry.io/4505008095625216', - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1.0, - // ... - // Note: if you want to override the automatic release value, do not set a - // `release` value here - use the environment variable `SENTRY_RELEASE`, so - // that it will also get attached to your source maps -}); diff --git a/apps/web/sentry.edge.config.ts b/apps/web/sentry.edge.config.ts new file mode 100644 index 00000000..00fc639b --- /dev/null +++ b/apps/web/sentry.edge.config.ts @@ -0,0 +1,16 @@ +// This file configures the initialization of Sentry for edge features (middleware, edge routes, and so on). +// The config you add here will be used whenever one of the edge features is loaded. +// Note that this config is unrelated to the Vercel Edge Runtime and is also required when running locally. +// https://docs.sentry.io/platforms/javascript/guides/nextjs/ + +import * as Sentry from "@sentry/nextjs"; + +Sentry.init({ + dsn: "https://5a456d54654c494b9a416c19e3b94573@o4505007882436608.ingest.sentry.io/4505008095625216", + + // Adjust this value in production, or use tracesSampler for greater control + tracesSampleRate: 1, + + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false, +}); diff --git a/apps/web/sentry.server.config.js b/apps/web/sentry.server.config.js deleted file mode 100644 index e00b60ff..00000000 --- a/apps/web/sentry.server.config.js +++ /dev/null @@ -1,17 +0,0 @@ -// This file configures the initialization of Sentry on the server. -// The config you add here will be used whenever the server handles a request. -// https://docs.sentry.io/platforms/javascript/guides/nextjs/ - -import * as Sentry from '@sentry/nextjs'; - -const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN; - -Sentry.init({ - dsn: SENTRY_DSN || 'https://5a456d54654c494b9a416c19e3b94573@o4505007882436608.ingest.sentry.io/4505008095625216', - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1.0, - // ... - // Note: if you want to override the automatic release value, do not set a - // `release` value here - use the environment variable `SENTRY_RELEASE`, so - // that it will also get attached to your source maps -}); diff --git a/apps/web/sentry.server.config.ts b/apps/web/sentry.server.config.ts new file mode 100644 index 00000000..ea085c48 --- /dev/null +++ b/apps/web/sentry.server.config.ts @@ -0,0 +1,15 @@ +// This file configures the initialization of Sentry on the server. +// The config you add here will be used whenever the server handles a request. +// https://docs.sentry.io/platforms/javascript/guides/nextjs/ + +import * as Sentry from "@sentry/nextjs"; + +Sentry.init({ + dsn: "https://5a456d54654c494b9a416c19e3b94573@o4505007882436608.ingest.sentry.io/4505008095625216", + + // Adjust this value in production, or use tracesSampler for greater control + tracesSampleRate: 1, + + // Setting this option to true will print useful information to the console while you're setting up Sentry. + debug: false, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ce5b2bc3..1b8fe216 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,7 +42,7 @@ importers: specifier: ^1.0.5 version: 1.0.7(@types/react-dom@18.0.6)(@types/react@18.2.8)(react-dom@18.2.0)(react@18.2.0) '@sentry/nextjs': - specifier: ^7.77.0 + specifier: ^7.88.0 version: 7.88.0(next@14.0.4)(react@18.2.0) '@stitches/react': specifier: ^1.2.8