| |
| const nextConfig = { |
| output: 'standalone', |
| reactStrictMode: true, |
| swcMinify: true, |
|
|
| |
| async headers() { |
| return [ |
| { |
| source: '/(.*)', |
| headers: [ |
| { key: 'X-Content-Type-Options', value: 'nosniff' }, |
| { key: 'X-Frame-Options', value: 'ALLOWALL' }, |
| { key: 'X-XSS-Protection', value: '1; mode=block' }, |
| { key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' }, |
| { |
| key: 'Permissions-Policy', |
| value: 'microphone=(self), camera=(), geolocation=(self)', |
| }, |
| ], |
| }, |
| { |
| source: '/sw.js', |
| headers: [ |
| { key: 'Cache-Control', value: 'no-cache, no-store, must-revalidate' }, |
| { key: 'Service-Worker-Allowed', value: '/' }, |
| ], |
| }, |
| { |
| source: '/manifest.json', |
| headers: [ |
| { key: 'Content-Type', value: 'application/manifest+json' }, |
| ], |
| }, |
| ]; |
| }, |
|
|
| |
| images: { |
| formats: ['image/avif', 'image/webp'], |
| remotePatterns: [ |
| { protocol: 'https', hostname: '*.huggingface.co' }, |
| ], |
| }, |
|
|
| |
| poweredByHeader: false, |
|
|
| |
| compress: true, |
| }; |
|
|
| module.exports = nextConfig; |
|
|