aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/src
diff options
context:
space:
mode:
authorGravatar Matt Kane <m@mk.gg> 2024-07-12 13:05:01 +0100
committerGravatar GitHub <noreply@github.com> 2024-07-12 13:05:01 +0100
commit58372692d73387da4ab7a69f61f9f3c579a6694e (patch)
treefbb826af52348c2bab04dba36be04ed4928d66ec /packages/integrations/netlify/src
parent1ae7da2da90a73625d96b895f3fea75996ac8b81 (diff)
downloadastro-58372692d73387da4ab7a69f61f9f3c579a6694e.tar.gz
astro-58372692d73387da4ab7a69f61f9f3c579a6694e.tar.zst
astro-58372692d73387da4ab7a69f61f9f3c579a6694e.zip
feat(netlify): set cache headers (#326)
Diffstat (limited to 'packages/integrations/netlify/src')
-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;