| @@ -1,3 +1,5 @@ | |||
| const { withSentryConfig } = require("@sentry/nextjs") | |||
| const withMDX = require('@next/mdx')({ | |||
| extension: /\.mdx?$/, | |||
| options: { | |||
| @@ -29,6 +31,7 @@ const nextConfig = { | |||
| // https://nextjs.org/docs/api-reference/next.config.js/ignoring-typescript-errors | |||
| ignoreBuildErrors: true, | |||
| }, | |||
| sentry: {}, | |||
| async redirects() { | |||
| return [ | |||
| { | |||
| @@ -40,4 +43,17 @@ const nextConfig = { | |||
| }, | |||
| } | |||
| module.exports = withMDX(nextConfig) | |||
| // https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup | |||
| const sentryWebpackPluginOptions = { | |||
| org: "perfectworld", | |||
| project: "javascript-nextjs", | |||
| silent: true, // Suppresses all logs | |||
| sourcemaps: { | |||
| assets: "./**", | |||
| ignore: ["./node_modules/**"], | |||
| }, | |||
| // https://github.com/getsentry/sentry-webpack-plugin#options. | |||
| } | |||
| module.exports = withMDX(withSentryConfig(nextConfig, sentryWebpackPluginOptions)) | |||
| @@ -17,6 +17,7 @@ | |||
| "@mdx-js/loader": "^2.3.0", | |||
| "@mdx-js/react": "^2.3.0", | |||
| "@next/mdx": "^13.2.4", | |||
| "@sentry/nextjs": "^7.53.1", | |||
| "@tailwindcss/line-clamp": "^0.4.2", | |||
| "@types/crypto-js": "^4.1.1", | |||
| "@types/lodash-es": "^4.17.7", | |||
| @@ -0,0 +1,23 @@ | |||
| import * as Sentry from "@sentry/nextjs"; | |||
| Sentry.init({ | |||
| dsn: "https://6bf48a450f054d749398c02a61bae343@o4505264807215104.ingest.sentry.io/4505264809115648", | |||
| // Replay may only be enabled for the client-side | |||
| integrations: [new Sentry.Replay()], | |||
| // Set tracesSampleRate to 1.0 to capture 100% | |||
| // of transactions for performance monitoring. | |||
| // We recommend adjusting this value in production | |||
| tracesSampleRate: 1.0, | |||
| // Capture Replay for 10% of all sessions, | |||
| // plus for 100% of sessions with an error | |||
| replaysSessionSampleRate: 0.1, | |||
| replaysOnErrorSampleRate: 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 | |||
| }); | |||
| @@ -0,0 +1,16 @@ | |||
| import * as Sentry from "@sentry/nextjs"; | |||
| Sentry.init({ | |||
| dsn: "https://6bf48a450f054d749398c02a61bae343@o4505264807215104.ingest.sentry.io/4505264809115648", | |||
| // Set tracesSampleRate to 1.0 to capture 100% | |||
| // of transactions for performance monitoring. | |||
| // We recommend adjusting this value in production | |||
| 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 | |||
| }); | |||
| @@ -0,0 +1,10 @@ | |||
| import * as Sentry from "@sentry/nextjs"; | |||
| Sentry.init({ | |||
| dsn: "https://6bf48a450f054d749398c02a61bae343@o4505264807215104.ingest.sentry.io/4505264809115648", | |||
| // Set tracesSampleRate to 1.0 to capture 100% | |||
| // of transactions for performance monitoring. | |||
| // We recommend adjusting this value in production | |||
| tracesSampleRate: 1.0, | |||
| }); | |||