/** @type {import('next').NextConfig} */ const { buildSecurityHeaders, normalizeAssetPrefix } = require('../../config/nextSecurityHeaders') const CARPLACE_ASSET_PREFIX = '/carplace' const carplaceAssetPrefix = normalizeAssetPrefix( process.env.CARPLACE_ASSET_PREFIX ?? (process.env.NODE_ENV === 'production' ? CARPLACE_ASSET_PREFIX : undefined), CARPLACE_ASSET_PREFIX, ) const securityHeaders = buildSecurityHeaders({ assetSources: [carplaceAssetPrefix] }) const nextConfig = { ...(carplaceAssetPrefix ? { assetPrefix: carplaceAssetPrefix } : {}), images: { remotePatterns: [{ protocol: 'https', hostname: 'res.cloudinary.com' }], }, transpilePackages: ['@rentaldrivego/types'], async headers() { return [{ source: '/:path*', headers: securityHeaders }] }, async rewrites() { const apiOrigin = (process.env.API_INTERNAL_URL ?? process.env.API_URL ?? 'http://api:4000').replace(/\/api\/v1\/?$/, '') return { beforeFiles: [ { source: '/carplace/api/:path*', destination: `${apiOrigin}/api/:path*` }, ], afterFiles: [ { source: '/carplace', destination: '/' }, { source: '/carplace/:path*', destination: '/:path*' }, ], fallback: [], } }, } module.exports = nextConfig