import {withSentryConfig} from "@sentry/nextjs"; /** @type {import('next').NextConfig} */ const nextConfig = { output: "standalone", // @see : https://posthog.com/docs/advanced/proxy/nextjs async rewrites() { return [ { source: "/ingest/static/:path*", destination: `${process.env.NEXT_PUBLIC_POSTHOG_ASSET_HOST}/static/:path*`, }, { source: "/ingest/:path*", destination: `${process.env.NEXT_PUBLIC_POSTHOG_HOST}/:path*`, }, { source: "/ingest/decide", destination: `${process.env.NEXT_PUBLIC_POSTHOG_HOST}/decide`, }, ]; }, // This is required to support PostHog trailing slash API requests skipTrailingSlashRedirect: true, images: { remotePatterns: [ { protocol: 'https', hostname: '**', }, ] } // @nocheckin: This was interfering with the the `matcher` regex in middleware.ts, // causing regular expressions parsing errors when making a request. It's unclear // why exactly this was happening, but it's likely due to a bad replacement happening // in the `sed` command. // @note: this is evaluated at build time. // ...(process.env.NEXT_PUBLIC_DOMAIN_SUB_PATH ? { // basePath: process.env.NEXT_PUBLIC_DOMAIN_SUB_PATH, // } : {}) }; export default withSentryConfig(nextConfig, { // For all available options, see: // https://www.npmjs.com/package/@sentry/webpack-plugin#options org: "sourcebot", project: "webapp", // 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, // Automatically annotate React components to show their full name in breadcrumbs and session replay reactComponentAnnotation: { enabled: 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", // Automatically tree-shake Sentry logger statements to reduce bundle size disableLogger: true, // 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, });