fix: reconfigure sentry for the frontend

This commit is contained in:
swve 2024-01-04 23:40:31 +01:00
parent becf0a5c2f
commit 98d2d7cf83
12 changed files with 203 additions and 139 deletions

3
apps/web/.gitignore vendored
View file

@ -40,3 +40,6 @@ next-env.d.ts
# Sentry # Sentry
next.config.original.js next.config.original.js
# Sentry Config File
.sentryclirc

View file

@ -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 (
<html>
<body>
{/* This is the default Next.js error component but it doesn't allow omitting the statusCode property yet. */}
<NextError statusCode={undefined as any} />
</body>
</html>
);
}

View file

@ -3,4 +3,23 @@ const nextConfig = {
reactStrictMode: false, 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);

View file

@ -15,7 +15,7 @@
"@radix-ui/react-icons": "^1.1.1", "@radix-ui/react-icons": "^1.1.1",
"@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-tooltip": "^1.0.5", "@radix-ui/react-tooltip": "^1.0.5",
"@sentry/nextjs": "^7.77.0", "@sentry/nextjs": "^7.92.0",
"@stitches/react": "^1.2.8", "@stitches/react": "^1.2.8",
"@tiptap/extension-code-block-lowlight": "^2.1.11", "@tiptap/extension-code-block-lowlight": "^2.1.11",
"@tiptap/extension-collaboration": "^2.0.0-beta.199", "@tiptap/extension-collaboration": "^2.0.0-beta.199",
@ -3300,38 +3300,52 @@
"integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==",
"dev": true "dev": true
}, },
"node_modules/@sentry-internal/tracing": { "node_modules/@sentry-internal/feedback": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.92.0.tgz",
"integrity": "sha512-8HRF1rdqWwtINqGEdx8Iqs9UOP/n8E0vXUu3Nmbqj4p5sQPA7vvCfq+4Y4rTqZFc7sNdFpDsRION5iQEh8zfZw==", "integrity": "sha512-/jEALRtVqboxB9kcK2tag8QCO6XANTlGBb9RV3oeGXJe0DDNJXRq6wVZbfgztXJRrfgx4XVDcNt1pRVoGGG++g==",
"dependencies": { "dependencies": {
"@sentry/core": "7.77.0", "@sentry/core": "7.92.0",
"@sentry/types": "7.77.0", "@sentry/types": "7.92.0",
"@sentry/utils": "7.77.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": { "engines": {
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@sentry/browser": { "node_modules/@sentry/browser": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.92.0.tgz",
"integrity": "sha512-nJ2KDZD90H8jcPx9BysQLiQW+w7k7kISCWeRjrEMJzjtge32dmHA8G4stlUTRIQugy5F+73cOayWShceFP7QJQ==", "integrity": "sha512-loMr02/zQ38u8aQhYLtIBg0i5n3ps2e3GUXrt3CdsJQdkRYfa62gcrE7SzvoEpMVHTk7VOI4fWGht8cWw/1k3A==",
"dependencies": { "dependencies": {
"@sentry-internal/tracing": "7.77.0", "@sentry-internal/feedback": "7.92.0",
"@sentry/core": "7.77.0", "@sentry-internal/tracing": "7.92.0",
"@sentry/replay": "7.77.0", "@sentry/core": "7.92.0",
"@sentry/types": "7.77.0", "@sentry/replay": "7.92.0",
"@sentry/utils": "7.77.0" "@sentry/types": "7.92.0",
"@sentry/utils": "7.92.0"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@sentry/cli": { "node_modules/@sentry/cli": {
"version": "1.75.2", "version": "1.77.1",
"resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.75.2.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.77.1.tgz",
"integrity": "sha512-CG0CKH4VCKWzEaegouWfCLQt9SFN+AieFESCatJ7zSuJmzF05ywpMusjxqRul6lMwfUhRKjGKOzcRJ1jLsfTBw==", "integrity": "sha512-OtJ7U9LeuPUAY/xow9wwcjM9w42IJIpDtClTKI/RliE685vd/OJUIpiAvebHNthDYpQynvwb/0iuF4fonh+CKw==",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"https-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0",
@ -3349,25 +3363,25 @@
} }
}, },
"node_modules/@sentry/core": { "node_modules/@sentry/core": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.92.0.tgz",
"integrity": "sha512-Tj8oTYFZ/ZD+xW8IGIsU6gcFXD/gfE+FUxUaeSosd9KHwBQNOLhZSsYo/tTVf/rnQI/dQnsd4onPZLiL+27aTg==", "integrity": "sha512-1Tly7YB2I1byI5xb0Cwrxs56Rhww+6mQ7m9P7rTmdC3/ijOzbEoohtYIUPwcooCEarpbEJe/tAayRx6BrH2UbQ==",
"dependencies": { "dependencies": {
"@sentry/types": "7.77.0", "@sentry/types": "7.92.0",
"@sentry/utils": "7.77.0" "@sentry/utils": "7.92.0"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@sentry/integrations": { "node_modules/@sentry/integrations": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.92.0.tgz",
"integrity": "sha512-P055qXgBHeZNKnnVEs5eZYLdy6P49Zr77A1aWJuNih/EenzMy922GOeGy2mF6XYrn1YJSjEwsNMNsQkcvMTK8Q==", "integrity": "sha512-9OT4i9b0Ge5sP3rCV8yYqoPp3BKcB9wjddW7sG0w88va32F0UWMKk4gmprtwgPYM0+u5AS/TTAVichRVRj+I1Q==",
"dependencies": { "dependencies": {
"@sentry/core": "7.77.0", "@sentry/core": "7.92.0",
"@sentry/types": "7.77.0", "@sentry/types": "7.92.0",
"@sentry/utils": "7.77.0", "@sentry/utils": "7.92.0",
"localforage": "^1.8.1" "localforage": "^1.8.1"
}, },
"engines": { "engines": {
@ -3375,19 +3389,19 @@
} }
}, },
"node_modules/@sentry/nextjs": { "node_modules/@sentry/nextjs": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/nextjs/-/nextjs-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/nextjs/-/nextjs-7.92.0.tgz",
"integrity": "sha512-8tYPBt5luFjrng1sAMJqNjM9sq80q0jbt6yariADU9hEr7Zk8YqFaOI2/Q6yn9dZ6XyytIRtLEo54kk2AO94xw==", "integrity": "sha512-gHLB06EwLWIxI4VdNADw3RaSokc+YKKLrG/RH8PrfWczCa2v5uQgzxWwKNYuViSGH/MBxZhpKGIZimjIkpOlBw==",
"dependencies": { "dependencies": {
"@rollup/plugin-commonjs": "24.0.0", "@rollup/plugin-commonjs": "24.0.0",
"@sentry/core": "7.77.0", "@sentry/core": "7.92.0",
"@sentry/integrations": "7.77.0", "@sentry/integrations": "7.92.0",
"@sentry/node": "7.77.0", "@sentry/node": "7.92.0",
"@sentry/react": "7.77.0", "@sentry/react": "7.92.0",
"@sentry/types": "7.77.0", "@sentry/types": "7.92.0",
"@sentry/utils": "7.77.0", "@sentry/utils": "7.92.0",
"@sentry/vercel-edge": "7.77.0", "@sentry/vercel-edge": "7.92.0",
"@sentry/webpack-plugin": "1.20.0", "@sentry/webpack-plugin": "1.21.0",
"chalk": "3.0.0", "chalk": "3.0.0",
"resolve": "1.22.8", "resolve": "1.22.8",
"rollup": "2.78.0", "rollup": "2.78.0",
@ -3408,14 +3422,14 @@
} }
}, },
"node_modules/@sentry/node": { "node_modules/@sentry/node": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.92.0.tgz",
"integrity": "sha512-Ob5tgaJOj0OYMwnocc6G/CDLWC7hXfVvKX/ofkF98+BbN/tQa5poL+OwgFn9BA8ud8xKzyGPxGU6LdZ8Oh3z/g==", "integrity": "sha512-LZeQL1r6kikEoOzA9K61OmMl32/lK/6PzmFNDH6z7UYwQopCZgVA6IP+CZuln8K2ys5c9hCyF7ICQMysXfpNJA==",
"dependencies": { "dependencies": {
"@sentry-internal/tracing": "7.77.0", "@sentry-internal/tracing": "7.92.0",
"@sentry/core": "7.77.0", "@sentry/core": "7.92.0",
"@sentry/types": "7.77.0", "@sentry/types": "7.92.0",
"@sentry/utils": "7.77.0", "@sentry/utils": "7.92.0",
"https-proxy-agent": "^5.0.0" "https-proxy-agent": "^5.0.0"
}, },
"engines": { "engines": {
@ -3423,13 +3437,13 @@
} }
}, },
"node_modules/@sentry/react": { "node_modules/@sentry/react": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.92.0.tgz",
"integrity": "sha512-Q+htKzib5em0MdaQZMmPomaswaU3xhcVqmLi2CxqQypSjbYgBPPd+DuhrXKoWYLDDkkbY2uyfe4Lp3yLRWeXYw==", "integrity": "sha512-lTvrLuvxtGEZbkW6NHru03K6eyixKyBliwiLwO+k37FK7Ha8Bwat2m77weyizWCdQ6DKlVazJNppkNeAlACIvQ==",
"dependencies": { "dependencies": {
"@sentry/browser": "7.77.0", "@sentry/browser": "7.92.0",
"@sentry/types": "7.77.0", "@sentry/types": "7.92.0",
"@sentry/utils": "7.77.0", "@sentry/utils": "7.92.0",
"hoist-non-react-statics": "^3.3.2" "hoist-non-react-statics": "^3.3.2"
}, },
"engines": { "engines": {
@ -3440,57 +3454,58 @@
} }
}, },
"node_modules/@sentry/replay": { "node_modules/@sentry/replay": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.92.0.tgz",
"integrity": "sha512-M9Ik2J5ekl+C1Och3wzLRZVaRGK33BlnBwfwf3qKjgLDwfKW+1YkwDfTHbc2b74RowkJbOVNcp4m8ptlehlSaQ==", "integrity": "sha512-G1t9Uvc9cR8VpNkElwvHIMGzykjIKikb10n0tfVd3e+rBPMCCjCPWOduwG6jZYxcvCjTpqmJh6NSLXxL/Mt4JA==",
"dependencies": { "dependencies": {
"@sentry-internal/tracing": "7.77.0", "@sentry-internal/tracing": "7.92.0",
"@sentry/core": "7.77.0", "@sentry/core": "7.92.0",
"@sentry/types": "7.77.0", "@sentry/types": "7.92.0",
"@sentry/utils": "7.77.0" "@sentry/utils": "7.92.0"
}, },
"engines": { "engines": {
"node": ">=12" "node": ">=12"
} }
}, },
"node_modules/@sentry/types": { "node_modules/@sentry/types": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.92.0.tgz",
"integrity": "sha512-nfb00XRJVi0QpDHg+JkqrmEBHsqBnxJu191Ded+Cs1OJ5oPXEW6F59LVcBScGvMqe+WEk1a73eH8XezwfgrTsA==", "integrity": "sha512-APmSOuZuoRGpbPpPeYIbMSplPjiWNLZRQa73QiXuTflW4Tu/ItDlU8hOa2+A6JKVkJCuD2EN6yUrxDGSMyNXeg==",
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@sentry/utils": { "node_modules/@sentry/utils": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.92.0.tgz",
"integrity": "sha512-NmM2kDOqVchrey3N5WSzdQoCsyDkQkiRxExPaNI2oKQ/jMWHs9yt0tSy7otPBcXs0AP59ihl75Bvm1tDRcsp5g==", "integrity": "sha512-3nEfrQ1z28b/2zgFGANPh5yMVtgwXmrasZxTvKbrAj+KWJpjrJHrIR84r9W277J44NMeZ5RhRW2uoDmuBslPnA==",
"dependencies": { "dependencies": {
"@sentry/types": "7.77.0" "@sentry/types": "7.92.0"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@sentry/vercel-edge": { "node_modules/@sentry/vercel-edge": {
"version": "7.77.0", "version": "7.92.0",
"resolved": "https://registry.npmjs.org/@sentry/vercel-edge/-/vercel-edge-7.77.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/vercel-edge/-/vercel-edge-7.92.0.tgz",
"integrity": "sha512-ffddPCgxVeAccPYuH5sooZeHBqDuJ9OIhIRYKoDi4TvmwAzWo58zzZWhRpkHqHgIQdQvhLVZ5F+FSQVWnYSOkw==", "integrity": "sha512-iUmYjFj5ze/k9B06HmLZ/2JGhaf/tmjd0foz3pSbMyKbql6TTnybIwG+gcg+ukcek5mB82288Fh+mWXoUUkMIg==",
"dependencies": { "dependencies": {
"@sentry/core": "7.77.0", "@sentry-internal/tracing": "7.92.0",
"@sentry/types": "7.77.0", "@sentry/core": "7.92.0",
"@sentry/utils": "7.77.0" "@sentry/types": "7.92.0",
"@sentry/utils": "7.92.0"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@sentry/webpack-plugin": { "node_modules/@sentry/webpack-plugin": {
"version": "1.20.0", "version": "1.21.0",
"resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.20.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.21.0.tgz",
"integrity": "sha512-Ssj1mJVFsfU6vMCOM2d+h+KQR7QHSfeIP16t4l20Uq/neqWXZUQ2yvQfe4S3BjdbJXz/X4Rw8Hfy1Sd0ocunYw==", "integrity": "sha512-x0PYIMWcsTauqxgl7vWUY6sANl+XGKtx7DCVnnY7aOIIlIna0jChTAPANTfA2QrK+VK+4I/4JxatCEZBnXh3Og==",
"dependencies": { "dependencies": {
"@sentry/cli": "^1.74.6", "@sentry/cli": "^1.77.1",
"webpack-sources": "^2.0.0 || ^3.0.0" "webpack-sources": "^2.0.0 || ^3.0.0"
}, },
"engines": { "engines": {

View file

@ -16,7 +16,7 @@
"@radix-ui/react-icons": "^1.1.1", "@radix-ui/react-icons": "^1.1.1",
"@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-tooltip": "^1.0.5", "@radix-ui/react-tooltip": "^1.0.5",
"@sentry/nextjs": "^7.77.0", "@sentry/nextjs": "^7.92.0",
"@stitches/react": "^1.2.8", "@stitches/react": "^1.2.8",
"@tiptap/extension-code-block-lowlight": "^2.1.11", "@tiptap/extension-code-block-lowlight": "^2.1.11",
"@tiptap/extension-collaboration": "^2.0.0-beta.199", "@tiptap/extension-collaboration": "^2.0.0-beta.199",

View file

@ -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()],
});

View file

@ -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,
}),
],
});

View file

@ -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
});

View file

@ -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,
});

View file

@ -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
});

View file

@ -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,
});

2
pnpm-lock.yaml generated
View file

@ -42,7 +42,7 @@ importers:
specifier: ^1.0.5 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) 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': '@sentry/nextjs':
specifier: ^7.77.0 specifier: ^7.88.0
version: 7.88.0(next@14.0.4)(react@18.2.0) version: 7.88.0(next@14.0.4)(react@18.2.0)
'@stitches/react': '@stitches/react':
specifier: ^1.2.8 specifier: ^1.2.8