presenton/electron/servers/nextjs/next.config.mjs
sudipnext b1e3d826dd feat: integrate Sentry for error tracking in Next.js application
- Added @sentry/nextjs dependency to package.json
- Created sentry.edge.config.ts for edge feature initialization
- Created sentry.server.config.ts for server-side initialization
- Configured Sentry with DSN, tracesSampleRate, logs, and PII settings
2026-04-03 14:22:36 +05:45

103 lines
2.8 KiB
JavaScript

import { withSentryConfig } from "@sentry/nextjs";
const isDevelopment = process.env.NODE_ENV !== 'production';
const nextConfig = {
reactStrictMode: false,
distDir: ".next-build",
// This Next.js app is always bundled for Electron, so we can
// unconditionally use static export.
output: "export",
...(isDevelopment
? {
allowedDevOrigins: [
"http://127.0.0.1:40001",
"http://localhost:40001",
"127.0.0.1",
"localhost",
],
}
: {}),
// Disable font optimization to avoid Google Fonts download warnings during build
optimizeFonts: false,
images: {
remotePatterns: [
{
protocol: "https",
hostname: "pub-7c765f3726084c52bcd5d180d51f1255.r2.dev",
},
{
protocol: "https",
hostname: "pptgen-public.ap-south-1.amazonaws.com",
},
{
protocol: "https",
hostname: "pptgen-public.s3.ap-south-1.amazonaws.com",
},
{
protocol: "https",
hostname: "img.icons8.com",
},
{
protocol: "https",
hostname: "present-for-me.s3.amazonaws.com",
},
{
protocol: "https",
hostname: "yefhrkuqbjcblofdcpnr.supabase.co",
},
{
protocol: "https",
hostname: "images.unsplash.com",
},
{
protocol: "https",
hostname: "picsum.photos",
},
{
protocol: "https",
hostname: "unsplash.com",
},
],
},
};
export default withSentryConfig(nextConfig, {
// For all available options, see:
// https://www.npmjs.com/package/@sentry/webpack-plugin#options
org: "sudipnext",
project: "javascript-nextjs",
// Only print logs for uploading source maps in CI
silent: !process.env.CI,
// 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,
// 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",
webpack: {
// Enables automatic instrumentation of Vercel Cron Monitors. (Does not yet work with App Router route handlers.)
// See the following for more information:
// https://docs.sentry.io/product/crons/
// https://vercel.com/docs/cron-jobs
automaticVercelMonitors: true,
// Tree-shaking options for reducing bundle size
treeshake: {
// Automatically tree-shake Sentry logger statements to reduce bundle size
removeDebugLogging: true,
},
},
});