Home / Function/ generateContentEntryFile() — astro Function Reference

generateContentEntryFile() — astro Function Reference

Architecture documentation for the generateContentEntryFile() function in vite-plugin-content-virtual-mod.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  17b064e5_94fc_5c78_1929_cbcca4abb080["generateContentEntryFile()"]
  22d17eb4_64b9_b222_54e2_71c9cd084abb["vite-plugin-content-virtual-mod.ts"]
  17b064e5_94fc_5c78_1929_cbcca4abb080 -->|defined in| 22d17eb4_64b9_b222_54e2_71c9cd084abb
  754289da_2be2_fdd7_44b9_fb417cc29838["astroContentVirtualModPlugin()"]
  754289da_2be2_fdd7_44b9_fb417cc29838 -->|calls| 17b064e5_94fc_5c78_1929_cbcca4abb080
  style 17b064e5_94fc_5c78_1929_cbcca4abb080 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/content/vite-plugin-content-virtual-mod.ts lines 211–246

async function generateContentEntryFile({
	settings,
	isClient,
}: {
	settings: AstroSettings;
	fs: typeof nodeFs;
	isClient: boolean;
}) {
	const contentPaths = getContentPaths(
		settings.config,
		undefined,
		settings.config.legacy?.collectionsBackwardsCompat,
	);
	const relContentDir = rootRelativePath(settings.config.root, contentPaths.contentDir);

	let virtualModContents: string;
	if (isClient) {
		throw new AstroError({
			...AstroErrorData.ServerOnlyModule,
			message: AstroErrorData.ServerOnlyModule.message('astro:content'),
		});
	} else {
		virtualModContents = nodeFs
			.readFileSync(contentPaths.virtualModTemplate, 'utf-8')
			.replace('@@CONTENT_DIR@@', relContentDir)
			.replace(
				'/* @@LIVE_CONTENT_CONFIG@@ */',
				contentPaths.liveConfig.exists
					? // Dynamic import so it extracts the chunk and avoids a circular import
						`const liveCollections = (await import(${JSON.stringify(fileURLToPath(contentPaths.liveConfig.url))})).collections;`
					: 'const liveCollections = {};',
			);
	}

	return virtualModContents;
}

Subdomains

Frequently Asked Questions

What does generateContentEntryFile() do?
generateContentEntryFile() is a function in the astro codebase, defined in packages/astro/src/content/vite-plugin-content-virtual-mod.ts.
Where is generateContentEntryFile() defined?
generateContentEntryFile() is defined in packages/astro/src/content/vite-plugin-content-virtual-mod.ts at line 211.
What calls generateContentEntryFile()?
generateContentEntryFile() is called by 1 function(s): astroContentVirtualModPlugin.

Analyze Your Own Codebase

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

Try Supermodel Free