import { withSentryConfig } from "@sentry/nextjs"; /** @type {import('next').Config} */ const nextConfig = { output: 'standalone', // Enable source maps for Sentry stack traces in production productionBrowserSourceMaps: !!process.env.GLITCHTIP_DSN, experimental: { serverActions: { bodySizeLimit: '10mb', }, }, }; // Wrap with Sentry only if DSN is configured const sentryEnabled = !!process.env.GLITCHTIP_DSN || !!process.env.NEXT_PUBLIC_GLITCHTIP_DSN; const sentryWebpackPluginOptions = { // Suppresses source map uploading logs during build silent: true, // Organization and project slugs (optional - for source map upload) org: process.env.GLITCHTIP_ORG, project: process.env.GLITCHTIP_PROJECT, // GlitchTip server URL sentryUrl: process.env.GLITCHTIP_URL, // Auth token for source map upload authToken: process.env.GLITCHTIP_AUTH_TOKEN, // Hides source maps from generated client bundles hideSourceMaps: true, // Automatically tree-shake Sentry logger statements disableLogger: true, // Prevent bundling of native binaries widenClientFileUpload: true, }; export default sentryEnabled ? withSentryConfig(nextConfig, sentryWebpackPluginOptions) : nextConfig;