From e0c92ca95a101f875f835d3d31692000bf6981e4 Mon Sep 17 00:00:00 2001 From: Rainnny7 Date: Sat, 27 Apr 2024 02:54:59 -0400 Subject: [PATCH] Add Sentry (: --- Frontend/.gitignore | 3 +- Frontend/bun.lockb | Bin 352216 -> 368880 bytes Frontend/next.config.mjs | 71 +++++++++++++++++++++++-------- Frontend/package.json | 1 + Frontend/sentry.client.config.ts | 30 +++++++++++++ Frontend/sentry.edge.config.ts | 16 +++++++ Frontend/sentry.server.config.ts | 19 +++++++++ 7 files changed, 122 insertions(+), 18 deletions(-) create mode 100644 Frontend/sentry.client.config.ts create mode 100644 Frontend/sentry.edge.config.ts create mode 100644 Frontend/sentry.server.config.ts diff --git a/Frontend/.gitignore b/Frontend/.gitignore index 17b3024..d40e27a 100644 --- a/Frontend/.gitignore +++ b/Frontend/.gitignore @@ -4,4 +4,5 @@ node_modules .VSCodeCounter/ .next/ .env*.local -next-env.d.ts \ No newline at end of file +next-env.d.ts +.sentryclirc diff --git a/Frontend/bun.lockb b/Frontend/bun.lockb index c32607ddbfe862258d9325c25f6946a0ede7c176..e61891c300721e8d14e4d5978a55849edaa6821b 100644 GIT binary patch delta 71127 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 delta 61083 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 QKMm!rvVMo2uF*XGKg=s+J^%m! diff --git a/Frontend/next.config.mjs b/Frontend/next.config.mjs index cc5a587..ba13b0f 100644 --- a/Frontend/next.config.mjs +++ b/Frontend/next.config.mjs @@ -1,26 +1,63 @@ +import {withSentryConfig} from "@sentry/nextjs"; import createMDX from '@next/mdx' /** @type {import('next').NextConfig} */ const nextConfig = { - pageExtensions: ["ts", "tsx", "js", "jsx", "md", "mdx"], - images: { - remotePatterns: [ - { - protocol: "https", - hostname: "api.restfulmc.cc", - }, - { - protocol: "https", - hostname: "flagcdn.com", - }, - ], - }, - experimental: { - mdxRs: true, - }, + pageExtensions: ["ts", "tsx", "js", "jsx", "md", "mdx"], + images: { + remotePatterns: [ + { + protocol: "https", + hostname: "api.restfulmc.cc", + }, + { + protocol: "https", + hostname: "flagcdn.com", + }, + ], + }, + experimental: { + mdxRs: true, + }, }; const withMDX = createMDX({}) // Merge MDX config with Next.js config -export default withMDX(nextConfig) \ No newline at end of file +export default withSentryConfig(withMDX(nextConfig), { +// For all available options, see: +// https://github.com/getsentry/sentry-webpack-plugin#options + +// Suppresses source map uploading logs during build +silent: true, +org: "restfulmc", +project: "frontend", +url: "https://sentry.rainnny.club/" +}, { +// 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, + +// Uncomment to route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers. +// This can increase your server load as well as your hosting bill. +// Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client- +// side errors will fail. +// tunnelRoute: "/monitoring", + +// Hides source maps from generated client bundles +hideSourceMaps: true, + +// Automatically tree-shake Sentry logger statements to reduce bundle size +disableLogger: true, + +// Enables automatic instrumentation of Vercel Cron Monitors. +// See the following for more information: +// https://docs.sentry.io/product/crons/ +// https://vercel.com/docs/cron-jobs +automaticVercelMonitors: true, +}); \ No newline at end of file diff --git a/Frontend/package.json b/Frontend/package.json index 92358c5..3e062b5 100644 --- a/Frontend/package.json +++ b/Frontend/package.json @@ -33,6 +33,7 @@ "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-tooltip": "^1.0.7", + "@sentry/nextjs": "7.105.0", "@types/mdx": "^2.0.13", "@types/react-syntax-highlighter": "^15.5.11", "class-variance-authority": "^0.7.0", diff --git a/Frontend/sentry.client.config.ts b/Frontend/sentry.client.config.ts new file mode 100644 index 0000000..68a29d2 --- /dev/null +++ b/Frontend/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://0525d8dacaae432aaf967d2dd303dc35@sentry.rainnny.club/1", + + // 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: [ + Sentry.replayIntegration({ + // Additional Replay configuration goes in here, for example: + maskAllText: true, + blockAllMedia: true, + }), + ], +}); diff --git a/Frontend/sentry.edge.config.ts b/Frontend/sentry.edge.config.ts new file mode 100644 index 0000000..14a5a01 --- /dev/null +++ b/Frontend/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://0525d8dacaae432aaf967d2dd303dc35@sentry.rainnny.club/1", + + // 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/Frontend/sentry.server.config.ts b/Frontend/sentry.server.config.ts new file mode 100644 index 0000000..3cacdf0 --- /dev/null +++ b/Frontend/sentry.server.config.ts @@ -0,0 +1,19 @@ +// 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://0525d8dacaae432aaf967d2dd303dc35@sentry.rainnny.club/1", + + // 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, + + // uncomment the line below to enable Spotlight (https://spotlightjs.com) + // spotlight: process.env.NODE_ENV === 'development', + +});