50 lines
1.0 KiB
TypeScript
50 lines
1.0 KiB
TypeScript
import type { NextConfig } from "next";
|
|
|
|
const nextConfig: NextConfig = {
|
|
output: "standalone",
|
|
poweredByHeader: false,
|
|
compress: true,
|
|
|
|
images: {
|
|
formats: ["image/avif", "image/webp"],
|
|
minimumCacheTTL: 604800,
|
|
deviceSizes: [360, 640, 768, 1024, 1280, 1536],
|
|
imageSizes: [64, 96, 160, 256, 384, 560],
|
|
|
|
remotePatterns: [
|
|
{
|
|
protocol: "https",
|
|
hostname: "media.cruzcloud.net",
|
|
pathname: "/ari-products/**",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "shop.cruzcloud.net",
|
|
pathname: "/images/products/**",
|
|
},
|
|
{
|
|
protocol: "https",
|
|
hostname: "shop.cruzcloud.net",
|
|
pathname: "/images/thumbnails/**",
|
|
},
|
|
],
|
|
},
|
|
|
|
async headers() {
|
|
return [
|
|
{
|
|
source: "/images/:path*",
|
|
headers: [
|
|
{
|
|
key: "Cache-Control",
|
|
value:
|
|
"public, max-age=604800, stale-while-revalidate=2592000",
|
|
},
|
|
],
|
|
},
|
|
];
|
|
},
|
|
};
|
|
|
|
export default nextConfig;
|