69 lines
1.4 KiB
JavaScript
69 lines
1.4 KiB
JavaScript
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 = {
|
||
|
|
reactStrictMode: true,
|
||
|
|
images: {
|
||
|
|
remotePatterns: [
|
||
|
|
{
|
||
|
|
protocol: "https",
|
||
|
|
hostname: "**",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
protocol: "http",
|
||
|
|
hostname: "**",
|
||
|
|
},
|
||
|
|
],
|
||
|
|
},
|
||
|
|
webpack: (config) => {
|
||
|
|
config.resolve.alias = {
|
||
|
|
...config.resolve.alias,
|
||
|
|
"@": path.resolve(__dirname),
|
||
|
|
};
|
||
|
|
return config;
|
||
|
|
},
|
||
|
|
experimental: {
|
||
|
|
serverActions: {
|
||
|
|
bodySizeLimit: "10mb",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
async headers() {
|
||
|
|
return [
|
||
|
|
{
|
||
|
|
source: "/(.*)",
|
||
|
|
headers: [
|
||
|
|
{
|
||
|
|
key: "Strict-Transport-Security",
|
||
|
|
value: "max-age=63072000; includeSubDomains; preload",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
key: "Permissions-Policy",
|
||
|
|
value: "camera=(self), microphone=()",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
key: "X-Content-Type-Options",
|
||
|
|
value: "nosniff",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
key: "X-Frame-Options",
|
||
|
|
value: "SAMEORIGIN",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
key: "X-XSS-Protection",
|
||
|
|
value: "1; mode=block",
|
||
|
|
},
|
||
|
|
{
|
||
|
|
key: "Referrer-Policy",
|
||
|
|
value: "strict-origin-when-cross-origin",
|
||
|
|
},
|
||
|
|
],
|
||
|
|
},
|
||
|
|
];
|
||
|
|
},
|
||
|
|
};
|
||
|
|
|
||
|
|
export default nextConfig;
|