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
Defined In
Called By
Source
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