Home / Function/ writeNetlifyFrameworkConfig() — astro Function Reference

writeNetlifyFrameworkConfig() — astro Function Reference

Architecture documentation for the writeNetlifyFrameworkConfig() function in index.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  f25b5d53_375e_edea_840f_c6ce7d1640f3["writeNetlifyFrameworkConfig()"]
  01c2fa75_d554_caf7_1c43_205032b5e695["index.ts"]
  f25b5d53_375e_edea_840f_c6ce7d1640f3 -->|defined in| 01c2fa75_d554_caf7_1c43_205032b5e695
  0524ca9e_035f_83b7_32b4_4d658f83f56c["netlifyIntegration()"]
  0524ca9e_035f_83b7_32b4_4d658f83f56c -->|calls| f25b5d53_375e_edea_840f_c6ce7d1640f3
  242ad5a4_662b_3ad6_2c84_c29d228d0286["remoteImagesFromAstroConfig()"]
  f25b5d53_375e_edea_840f_c6ce7d1640f3 -->|calls| 242ad5a4_662b_3ad6_2c84_c29d228d0286
  style f25b5d53_375e_edea_840f_c6ce7d1640f3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/integrations/netlify/src/index.ts lines 127–171

async function writeNetlifyFrameworkConfig(
	config: AstroConfig,
	staticHeaders: RouteToHeaders | undefined,
	logger: AstroIntegrationLogger,
) {
	const remoteImages = remoteImagesFromAstroConfig(config, logger);

	const headers = [];
	if (!config.build.assetsPrefix) {
		headers.push({
			for: `${config.base}${config.base.endsWith('/') ? '' : '/'}${config.build.assets}/*`,
			values: {
				'Cache-Control': 'public, max-age=31536000, immutable',
			},
		});
	}

	if (staticHeaders && staticHeaders.size > 0) {
		for (const [pathname, { headers: routeHeaders }] of staticHeaders.entries()) {
			if (config.security.csp) {
				const csp = routeHeaders.get('Content-Security-Policy');

				if (csp) {
					headers.push({
						for: pathname,
						values: {
							'Content-Security-Policy': csp,
						},
					});
				}
			}
		}
	}

	// See https://docs.netlify.com/image-cdn/create-integration/
	const deployConfigDir = new URL('.netlify/v1/', config.root);
	await mkdir(deployConfigDir, { recursive: true });
	await writeFile(
		new URL('./config.json', deployConfigDir),
		JSON.stringify({
			images: { remote_images: remoteImages },
			headers,
		}),
	);
}

Domain

Subdomains

Frequently Asked Questions

What does writeNetlifyFrameworkConfig() do?
writeNetlifyFrameworkConfig() is a function in the astro codebase, defined in packages/integrations/netlify/src/index.ts.
Where is writeNetlifyFrameworkConfig() defined?
writeNetlifyFrameworkConfig() is defined in packages/integrations/netlify/src/index.ts at line 127.
What does writeNetlifyFrameworkConfig() call?
writeNetlifyFrameworkConfig() calls 1 function(s): remoteImagesFromAstroConfig.
What calls writeNetlifyFrameworkConfig()?
writeNetlifyFrameworkConfig() is called by 1 function(s): netlifyIntegration.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free