Home / Function/ createAnonymousConfigInfo() — astro Function Reference

createAnonymousConfigInfo() — astro Function Reference

Architecture documentation for the createAnonymousConfigInfo() function in session.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  007fbd21_02cb_46e0_9136_19cdd1636881["createAnonymousConfigInfo()"]
  5e4918d2_001e_cdf1_6103_dc17a8a94758["session.ts"]
  007fbd21_02cb_46e0_9136_19cdd1636881 -->|defined in| 5e4918d2_001e_cdf1_6103_dc17a8a94758
  10c11669_ae8b_6b2e_8390_ab1d211c70ad["eventCliSession()"]
  10c11669_ae8b_6b2e_8390_ab1d211c70ad -->|calls| 007fbd21_02cb_46e0_9136_19cdd1636881
  135d521f_56ac_f7fd_9eb2_e28a7bc98e28["sanitizeConfigInfo()"]
  007fbd21_02cb_46e0_9136_19cdd1636881 -->|calls| 135d521f_56ac_f7fd_9eb2_e28a7bc98e28
  4e5b3994_dfd0_f178_02e0_24371668655b["measureStringLiteral()"]
  007fbd21_02cb_46e0_9136_19cdd1636881 -->|calls| 4e5b3994_dfd0_f178_02e0_24371668655b
  e73c9f05_d702_5d9e_08b6_4c8ef847a6a3["measureIntegration()"]
  007fbd21_02cb_46e0_9136_19cdd1636881 -->|calls| e73c9f05_d702_5d9e_08b6_4c8ef847a6a3
  style 007fbd21_02cb_46e0_9136_19cdd1636881 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/events/session.ts lines 76–125

function createAnonymousConfigInfo(userConfig: AstroUserConfig) {
	// Sanitize and measure the generic config object
	// NOTE(fks): Using _def is the correct, documented way to get the `shape`
	// from a Zod object that includes a wrapping default(), optional(), etc.
	// Even though `_def` appears private, it is type-checked for us so that
	// any changes between versions will be detected.
	const configInfo: ConfigInfo = {
		...sanitizeConfigInfo(userConfig, Object.keys(AstroConfigSchema.shape)),
		build: sanitizeConfigInfo(
			userConfig.build,
			Object.keys(AstroConfigSchema.shape.build._def.innerType.shape),
		),
		image: sanitizeConfigInfo(
			userConfig.image,
			Object.keys(AstroConfigSchema.shape.image._def.innerType.shape),
		),
		markdown: sanitizeConfigInfo(
			userConfig.markdown,
			Object.keys(AstroConfigSchema.shape.markdown._def.innerType.shape),
		),
		experimental: sanitizeConfigInfo(
			userConfig.experimental,
			Object.keys(AstroConfigSchema.shape.experimental._def.innerType.shape),
		),
		legacy: sanitizeConfigInfo(
			userConfig.legacy,
			Object.keys(AstroConfigSchema.shape.legacy._def.innerType.shape),
		),
		vite: userConfig.vite
			? sanitizeConfigInfo(userConfig.vite, Object.keys(userConfig.vite))
			: undefined,
	};
	// Measure string literal/enum configuration values
	configInfo.build.format = measureStringLiteral(userConfig.build?.format);
	const syntaxHighlight = userConfig.markdown?.syntaxHighlight;
	const syntaxHighlightType =
		typeof syntaxHighlight === 'object' ? syntaxHighlight.type : syntaxHighlight;
	configInfo.markdown.syntaxHighlight = measureStringLiteral(syntaxHighlightType);
	configInfo.output = measureStringLiteral(userConfig.output);
	configInfo.scopedStyleStrategy = measureStringLiteral(userConfig.scopedStyleStrategy);
	configInfo.trailingSlash = measureStringLiteral(userConfig.trailingSlash);
	// Measure integration & adapter usage
	configInfo.adapter = measureIntegration(userConfig.adapter);
	configInfo.integrations = userConfig.integrations
		?.flat(100)
		.map(measureIntegration)
		.filter(Boolean) as string[];
	// Return the sanitized ConfigInfo object
	return configInfo;
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does createAnonymousConfigInfo() do?
createAnonymousConfigInfo() is a function in the astro codebase, defined in packages/astro/src/events/session.ts.
Where is createAnonymousConfigInfo() defined?
createAnonymousConfigInfo() is defined in packages/astro/src/events/session.ts at line 76.
What does createAnonymousConfigInfo() call?
createAnonymousConfigInfo() calls 3 function(s): measureIntegration, measureStringLiteral, sanitizeConfigInfo.
What calls createAnonymousConfigInfo()?
createAnonymousConfigInfo() is called by 1 function(s): eventCliSession.

Analyze Your Own Codebase

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

Try Supermodel Free