Home / Function/ createSerializedManifest() — astro Function Reference

createSerializedManifest() — astro Function Reference

Architecture documentation for the createSerializedManifest() function in serialized.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  ca4d46ba_52db_5fb0_8f4d_2658c4aa3c9c["createSerializedManifest()"]
  bb258207_6489_88c4_0ed3_a25dbb4adf47["serialized.ts"]
  ca4d46ba_52db_5fb0_8f4d_2658c4aa3c9c -->|defined in| bb258207_6489_88c4_0ed3_a25dbb4adf47
  190e75c9_54aa_2bba_2eb7_7de138acf04a["serializedManifestPlugin()"]
  190e75c9_54aa_2bba_2eb7_7de138acf04a -->|calls| ca4d46ba_52db_5fb0_8f4d_2658c4aa3c9c
  style ca4d46ba_52db_5fb0_8f4d_2658c4aa3c9c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/manifest/serialized.ts lines 114–184

async function createSerializedManifest(settings: AstroSettings): Promise<SerializedSSRManifest> {
	let i18nManifest: SSRManifestI18n | undefined;
	let csp: SSRManifestCSP | undefined;
	if (settings.config.i18n) {
		i18nManifest = {
			fallback: settings.config.i18n.fallback,
			strategy: toRoutingStrategy(settings.config.i18n.routing, settings.config.i18n.domains),
			defaultLocale: settings.config.i18n.defaultLocale,
			locales: settings.config.i18n.locales,
			domainLookupTable: {},
			fallbackType: toFallbackType(settings.config.i18n.routing),
			domains: settings.config.i18n.domains,
		};
	}

	if (shouldTrackCspHashes(settings.config.security.csp)) {
		csp = {
			cspDestination: settings.adapter?.adapterFeatures?.staticHeaders ? 'adapter' : undefined,
			scriptHashes: getScriptHashes(settings.config.security.csp),
			scriptResources: getScriptResources(settings.config.security.csp),
			styleHashes: getStyleHashes(settings.config.security.csp),
			styleResources: getStyleResources(settings.config.security.csp),
			algorithm: getAlgorithm(settings.config.security.csp),
			directives: getDirectives(settings),
			isStrictDynamic: getStrictDynamic(settings.config.security.csp),
		};
	}

	return {
		rootDir: settings.config.root.toString(),
		srcDir: settings.config.srcDir.toString(),
		cacheDir: settings.config.cacheDir.toString(),
		outDir: settings.config.outDir.toString(),
		buildServerDir: settings.config.build.server.toString(),
		buildClientDir: settings.config.build.client.toString(),
		publicDir: settings.config.publicDir.toString(),
		assetsDir: settings.config.build.assets,
		trailingSlash: settings.config.trailingSlash,
		buildFormat: settings.config.build.format,
		compressHTML: settings.config.compressHTML,
		serverLike: settings.buildOutput === 'server',
		assets: [],
		entryModules: {},
		routes: [],
		adapterName: settings?.adapter?.name ?? '',
		clientDirectives: Array.from(settings.clientDirectives.entries()),
		renderers: [],
		base: settings.config.base,
		userAssetsBase: settings.config?.vite?.base,
		assetsPrefix: settings.config.build.assetsPrefix,
		site: settings.config.site,
		componentMetadata: [],
		inlinedScripts: [],
		i18n: i18nManifest,
		checkOrigin:
			(settings.config.security?.checkOrigin && settings.buildOutput === 'server') ?? false,
		key: await encodeKey(hasEnvironmentKey() ? await getEnvironmentKey() : await createKey()),
		sessionConfig: sessionConfigToManifest(settings.config.session),
		csp,
		devToolbar: {
			enabled:
				settings.config.devToolbar.enabled &&
				(await settings.preferences.get('devToolbar.enabled')),
			latestAstroVersion: settings.latestAstroVersion,
			debugInfoOutput: '',
			placement: settings.config.devToolbar.placement,
		},
		logLevel: settings.logLevel,
		shouldInjectCspMetaTags: false,
	};
}

Domain

Subdomains

Frequently Asked Questions

What does createSerializedManifest() do?
createSerializedManifest() is a function in the astro codebase, defined in packages/astro/src/manifest/serialized.ts.
Where is createSerializedManifest() defined?
createSerializedManifest() is defined in packages/astro/src/manifest/serialized.ts at line 114.
What calls createSerializedManifest()?
createSerializedManifest() is called by 1 function(s): serializedManifestPlugin.

Analyze Your Own Codebase

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

Try Supermodel Free