const { i18n } = require('./next-i18next.config') const webpack = require('webpack') const { withSentryConfig } = require('@sentry/nextjs') /** @type {import('next').NextConfig} */ const nextConfig = { i18n, experimental: { appDir: false, }, images: { domains: ['raw.githubusercontent.com', 'arweave.net', 'www.dual.finance'], }, reactStrictMode: true, //proxy for openserum api cors rewrites: async () => { return [ { source: '/openSerumApi/:path*', destination: 'https://openserum.io/api/serum/:path*', }, ] }, webpack: (config, opts) => { if (!opts.isServer) { // don't resolve 'fs' module on the client to prevent this error on build --> Error: Can't resolve 'fs' config.resolve.fallback = { fs: false, } } config.plugins.push( new webpack.DefinePlugin({ 'process.env': { BUILD_ID: JSON.stringify(opts.buildId), }, }), ) return config }, } module.exports = withSentryConfig( nextConfig, { // For all available options, see: // https://github.com/getsentry/sentry-webpack-plugin#options // Suppresses source map uploading logs during build silent: true, org: 'mango', project: 'mango-v4-ui', }, { // 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, // Transpiles SDK to be compatible with IE11 (increases bundle size) transpileClientSDK: true, // Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers (increases server load) tunnelRoute: '/monitoring', // Hides source maps from generated client bundles hideSourceMaps: true, // Automatically tree-shake Sentry logger statements to reduce bundle size disableLogger: true, }, )