import withMintelConfig from "@mintel/next-config"; import { withPayload } from '@payloadcms/next/withPayload'; import createMDX from '@next/mdx'; import path from 'path'; import { fileURLToPath } from 'url'; const filename = fileURLToPath(import.meta.url); const dirname = path.dirname(filename); /** @type {import('next').NextConfig} */ const nextConfig = { serverExternalPackages: [ 'canvas', 'sharp', 'puppeteer', 'require-in-the-middle', 'import-in-the-middle' // Sentry 10+ instrumentation dependencies ], transpilePackages: [ '@mintel/content-engine', '@mintel/concept-engine', '@mintel/estimation-engine', '@mintel/meme-generator', '@mintel/payload-ai', '@mintel/pdf', '@mintel/thumbnail-generator' ], images: { remotePatterns: [ { protocol: 'https', hostname: '*.your-objectstorage.com', }, { protocol: 'https', hostname: 'fsn1.your-objectstorage.com', }, ], }, async rewrites() { return [ // Umami proxy rewrite handled in app/stats/api/send/route.ts // Sentry relay handled in app/errors/api/relay/route.ts ]; }, async redirects() { return [ { source: '/case-studies/klz', destination: '/case-studies/klz-cables', permanent: true, }, ]; }, outputFileTracingRoot: path.join(dirname, '../../'), }; const withMDX = createMDX({ // Add markdown plugins here, as desired }); export default withPayload(withMintelConfig(withMDX(nextConfig)));