37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import type { NextConfig } from "next";
|
|
|
|
const nextConfig: NextConfig = {
|
|
output: "standalone",
|
|
experimental: { serverActions: { bodySizeLimit: "26mb" } },
|
|
async headers() {
|
|
return [{ source: "/:path*", headers: [
|
|
{ key: "X-Content-Type-Options", value: "nosniff" },
|
|
{ key: "X-Frame-Options", value: "DENY" },
|
|
{ key: "Referrer-Policy", value: "no-referrer" },
|
|
{ key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" },
|
|
...(process.env.NODE_ENV === "production" ? [{ key: "Strict-Transport-Security", value: "max-age=31536000" }] : []),
|
|
] }];
|
|
},
|
|
images: {
|
|
localPatterns: [
|
|
{ pathname: "/landing/**", search: "" },
|
|
{ pathname: "/og-image.png", search: "" },
|
|
{ pathname: "/_next/static/media/**", search: "" },
|
|
],
|
|
maximumDiskCacheSize: 128 * 1024 * 1024,
|
|
maximumResponseBody: 10 * 1024 * 1024,
|
|
maximumRedirects: 0,
|
|
remotePatterns: [
|
|
{
|
|
protocol: "https",
|
|
hostname: "images.unsplash.com",
|
|
port: "",
|
|
pathname: "/photo-1503454537195-1dcabb73ffb9",
|
|
search: "?auto=format&fit=crop&w=2400&q=86",
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
export default nextConfig;
|