Home / Function/ deserializeManifest() — astro Function Reference

deserializeManifest() — astro Function Reference

Architecture documentation for the deserializeManifest() function in manifest.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  3cab116d_05ae_2128_4cfe_a777943b7ac4["deserializeManifest()"]
  2c745477_c1ed_7475_3247_a93a16501bd9["manifest.ts"]
  3cab116d_05ae_2128_4cfe_a777943b7ac4 -->|defined in| 2c745477_c1ed_7475_3247_a93a16501bd9
  57db66e3_d5e1_e785_3d75_3183e9f65be7["deserializeRouteData()"]
  3cab116d_05ae_2128_4cfe_a777943b7ac4 -->|calls| 57db66e3_d5e1_e785_3d75_3183e9f65be7
  style 3cab116d_05ae_2128_4cfe_a777943b7ac4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/core/app/manifest.ts lines 15–68

export function deserializeManifest(
	serializedManifest: SerializedSSRManifest,
	routesList?: RoutesList,
): SSRManifest {
	const routes: RouteInfo[] = [];
	if (serializedManifest.routes) {
		for (const serializedRoute of serializedManifest.routes) {
			routes.push({
				...serializedRoute,
				routeData: deserializeRouteData(serializedRoute.routeData),
			});

			const route = serializedRoute as unknown as RouteInfo;
			route.routeData = deserializeRouteData(serializedRoute.routeData);
		}
	}
	if (routesList) {
		for (const route of routesList?.routes) {
			routes.push({
				file: '',
				links: [],
				scripts: [],
				styles: [],
				routeData: route,
			});
		}
	}
	const assets = new Set<string>(serializedManifest.assets);
	const componentMetadata = new Map(serializedManifest.componentMetadata);
	const inlinedScripts = new Map(serializedManifest.inlinedScripts);
	const clientDirectives = new Map(serializedManifest.clientDirectives);
	const key = decodeKey(serializedManifest.key);

	return {
		// in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)
		middleware() {
			return { onRequest: NOOP_MIDDLEWARE_FN };
		},
		...serializedManifest,
		rootDir: new URL(serializedManifest.rootDir),
		srcDir: new URL(serializedManifest.srcDir),
		publicDir: new URL(serializedManifest.publicDir),
		outDir: new URL(serializedManifest.outDir),
		cacheDir: new URL(serializedManifest.cacheDir),
		buildClientDir: new URL(serializedManifest.buildClientDir),
		buildServerDir: new URL(serializedManifest.buildServerDir),
		assets,
		componentMetadata,
		inlinedScripts,
		clientDirectives,
		routes,
		key,
	};
}

Domain

Subdomains

Frequently Asked Questions

What does deserializeManifest() do?
deserializeManifest() is a function in the astro codebase, defined in packages/astro/src/core/app/manifest.ts.
Where is deserializeManifest() defined?
deserializeManifest() is defined in packages/astro/src/core/app/manifest.ts at line 15.
What does deserializeManifest() call?
deserializeManifest() calls 1 function(s): deserializeRouteData.

Analyze Your Own Codebase

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

Try Supermodel Free