Spaces:
Running
Running
| /** | |
| * | |
| * Copyright 2023-2025 InspectorRAGet Team | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| * | |
| **/ | |
| const path = require('path'); | |
| const cspMap = { | |
| 'base-uri': ["'none'"], | |
| 'font-src': ["'self'", 'data:', "'unsafe-inline'"], | |
| 'form-action': ["'self'"], | |
| 'frame-src': ["'self'"], | |
| 'img-src': ["'self'", 'data:', 'blob:'], | |
| 'media-src': ["'self'", 'blob:'], | |
| 'object-src': ["'none'"], | |
| 'style-src': ["'self'", "'unsafe-inline'"], | |
| }; | |
| const getCSPString = (cspMap) => | |
| Object.entries(cspMap) | |
| .map(([key, values]) => `${key} ${values.join(' ')}`) | |
| .join('; '); | |
| const headers = [ | |
| { | |
| key: 'Content-Security-Policy', | |
| value: getCSPString(cspMap), | |
| }, | |
| { | |
| key: 'Strict-Transport-Security', | |
| value: 'max-age=63072000; includeSubDomains; preload', | |
| }, | |
| ]; | |
| const nextConfig = { | |
| reactStrictMode: true, | |
| swcMinify: true, | |
| output: 'standalone', | |
| sassOptions: { | |
| includePaths: [path.join(__dirname, 'styles')], | |
| }, | |
| async headers() { | |
| return [ | |
| // Default headers for all pages. | |
| { source: '/', headers }, | |
| { source: '/:path*', headers }, | |
| ]; | |
| }, | |
| }; | |
| module.exports = nextConfig; | |