/** @type {import('next').NextConfig} */ const nextConfig = { // Restrict page file extensions so stray .js files under src/pages are not treated as routes pageExtensions: ['tsx', 'ts', 'jsx', 'mdx'], images: { remotePatterns: [ { protocol: 'https', hostname: 'nextcloud.biohazardvfx.com' }, { protocol: 'https', hostname: 'f.io' }, { protocol: 'https', hostname: 'utfs.io' }, // Placeholder providers { protocol: 'https', hostname: 'placehold.co' }, { protocol: 'https', hostname: 'placeholder.com' }, { protocol: 'https', hostname: 'picsum.photos' }, ], formats: ['image/webp', 'image/avif'], deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840], imageSizes: [16, 32, 48, 64, 96, 128, 256, 384], minimumCacheTTL: 60, }, async rewrites() { return [ { source: '/admin/:path*', destination: '/admin/:path*', }, ] }, experimental: { optimizePackageImports: ['@/components', '@/lib'], }, serverExternalPackages: ['sharp', 'bcrypt'], typescript: { ignoreBuildErrors: true, }, eslint: { ignoreDuringBuilds: true, }, productionBrowserSourceMaps: false, compress: true, } // Injected content via Sentry wizard below import { withSentryConfig } from "@sentry/nextjs"; export default withSentryConfig( nextConfig, { // For all available options, see: // https://www.npmjs.com/package/@sentry/webpack-plugin#options org: "biohazard-vfx", project: "javascript-nextjs", // 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", // 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, } );