import { withSentryConfig } from "@sentry/nextjs"; import createNextIntlPlugin from "next-intl/plugin"; import type { NextConfig } from "next"; const withNextIntl = createNextIntlPlugin(); const nextConfig: NextConfig = { turbopack: { root: __dirname, }, // Reduziert in der Entwicklung Strict-Mode-Doppel-Mounts (häufige Ursache für // „Hydration“-Lärm). Echte Server/Client-Mismatches können weiterhin auftreten; // dann `pnpm dev:strict` zum Debuggen oder Ursache beheben. reactStrictMode: process.env.NEXT_DEV_SUPPRESS_HYDRATION === "1" ? false : null, images: { remotePatterns: [ { protocol: "https", hostname: "*.convex.cloud", pathname: "/**", }, { protocol: "https", hostname: "api.lemonspace.io", pathname: "/api/storage/**", }, ], }, }; export default withSentryConfig(withNextIntl(nextConfig), { // For all available options, see: // https://www.npmjs.com/package/@sentry/webpack-plugin#options org: process.env.SENTRY_ORG ?? "lemonspace", project: process.env.SENTRY_PROJECT ?? "lemonspace", // 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, // 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, }, }, });