summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/netlify/src/index.ts')
-rw-r--r--packages/integrations/netlify/src/index.ts16
1 files changed, 13 insertions, 3 deletions
diff --git a/packages/integrations/netlify/src/index.ts b/packages/integrations/netlify/src/index.ts
index 258d5c19e..0a4c4cfaf 100644
--- a/packages/integrations/netlify/src/index.ts
+++ b/packages/integrations/netlify/src/index.ts
@@ -112,6 +112,17 @@ async function writeNetlifyFrameworkConfig(config: AstroConfig, logger: AstroInt
.filter(Boolean as unknown as (pattern?: string) => pattern is string)
);
+ const headers = config.build.assetsPrefix
+ ? undefined
+ : [
+ {
+ for: `${config.base}${config.base.endsWith('/') ? '' : '/'}${config.build.assets}/*`,
+ values: {
+ 'Cache-Control': 'public, max-age=31536000, immutable',
+ },
+ },
+ ];
+
// See https://docs.netlify.com/image-cdn/create-integration/
const deployConfigDir = new URL('.netlify/v1/', config.root);
await mkdir(deployConfigDir, { recursive: true });
@@ -119,6 +130,7 @@ async function writeNetlifyFrameworkConfig(config: AstroConfig, logger: AstroInt
new URL('./config.json', deployConfigDir),
JSON.stringify({
images: { remote_images: remoteImages },
+ headers,
})
);
}
@@ -432,9 +444,7 @@ export default function netlifyIntegration(
rootDir = config.root;
_config = config;
- if (config.image?.domains?.length || config.image?.remotePatterns?.length) {
- await writeNetlifyFrameworkConfig(config, logger);
- }
+ await writeNetlifyFrameworkConfig(config, logger);
const edgeMiddleware = integrationConfig?.edgeMiddleware ?? false;