| /** @type {import('next').NextConfig} */ | |
| const nextConfig = { | |
| reactStrictMode: true, | |
| swcMinify: true, | |
| images: { | |
| domains: [ | |
| 'localhost', | |
| 'backgroundfx.pro', | |
| 'api.backgroundfx.pro', | |
| 'storage.googleapis.com', | |
| 'cdn.backgroundfx.pro', | |
| ], | |
| formats: ['image/avif', 'image/webp'], | |
| }, | |
| experimental: { | |
| serverActions: true, | |
| }, | |
| async headers() { | |
| return [ | |
| { | |
| source: '/:path*', | |
| headers: [ | |
| { | |
| key: 'X-DNS-Prefetch-Control', | |
| value: 'on', | |
| }, | |
| { | |
| key: 'X-XSS-Protection', | |
| value: '1; mode=block', | |
| }, | |
| { | |
| key: 'X-Frame-Options', | |
| value: 'SAMEORIGIN', | |
| }, | |
| { | |
| key: 'X-Content-Type-Options', | |
| value: 'nosniff', | |
| }, | |
| { | |
| key: 'Referrer-Policy', | |
| value: 'origin-when-cross-origin', | |
| }, | |
| ], | |
| }, | |
| ] | |
| }, | |
| async rewrites() { | |
| return [ | |
| { | |
| source: '/api/v1/:path*', | |
| destination: `${process.env.API_URL || 'http://localhost:8000'}/api/v1/:path*`, | |
| }, | |
| ] | |
| }, | |
| webpack: (config, { isServer }) => { | |
| if (!isServer) { | |
| config.resolve.fallback = { | |
| fs: false, | |
| net: false, | |
| tls: false, | |
| } | |
| } | |
| // Add support for importing SVGs as React components | |
| config.module.rules.push({ | |
| test: /\.svg$/, | |
| use: ['@svgr/webpack'], | |
| }) | |
| return config | |
| }, | |
| } | |
| module.exports = nextConfig |