// This file sets a custom webpack configuration to use your Next.js app // with Sentry. // https://nextjs.org/docs/api-reference/next.config.js/introduction // https://docs.sentry.io/platforms/javascript/guides/nextjs/ const { withSentryConfig } = require("@sentry/nextjs"); const { i18n } = require("./next-i18next.config"); const withBundleAnalyzer = require("@next/bundle-analyzer")({ enabled: process.env.ANALYZE === "true", }); const nextConfig = { i18n: i18n, productionBrowserSourceMaps: true, output: "standalone", transpilePackages: ["@rallly/emails", "@rallly/database"], webpack(config) { config.module.rules.push({ test: /\.svg$/, issuer: /\.[jt]sx?$/, use: ["@svgr/webpack"], }); return config; }, typescript: { ignoreBuildErrors: true, }, async redirects() { return [ { source: "/support", destination: "https://support.rallly.co", permanent: true, }, ]; }, async rewrites() { return [ { source: "/", destination: "/home", }, ]; }, sentry: { hideSourceMaps: false, }, }; const sentryWebpackPluginOptions = { // Additional config options for the Sentry Webpack plugin. Keep in mind that // the following options are set automatically, and overriding them is not // recommended: // release, url, org, project, authToken, configFile, stripPrefix, // urlPrefix, include, ignore dryRun: !process.env.SENTRY_AUTH_TOKEN, silent: true, // Suppresses all logs // For all available options, see: // https://github.com/getsentry/sentry-webpack-plugin#options. }; // Make sure adding Sentry options is the last code to run before exporting, to // ensure that your source maps include changes from all other Webpack plugins module.exports = withBundleAnalyzer( withSentryConfig(nextConfig, sentryWebpackPluginOptions), );