Home / Function/ createApp() — astro Function Reference

createApp() — astro Function Reference

Architecture documentation for the createApp() function in dev.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  c2d42e20_1450_75d9_64ea_b88512e8280f["createApp()"]
  792cf06d_c4c5_9609_1e18_7bf79b62efb1["dev.ts"]
  c2d42e20_1450_75d9_64ea_b88512e8280f -->|defined in| 792cf06d_c4c5_9609_1e18_7bf79b62efb1
  style c2d42e20_1450_75d9_64ea_b88512e8280f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/core/app/entrypoint/dev.ts lines 10–33

export function createApp(): BaseApp {
	const logger = createConsoleLogger(manifest.logLevel);
	currentDevApp = new DevApp(manifest, true, logger);

	// Listen for route updates via HMR
	if (import.meta.hot) {
		import.meta.hot.on('astro:routes-updated', async () => {
			if (!currentDevApp) return;
			try {
				// Re-import the routes module to get fresh routes
				const { routes: newRoutes } = await import('virtual:astro:routes');
				const newRoutesList: RoutesList = {
					routes: newRoutes.map((r: RouteInfo) => r.routeData),
				};
				currentDevApp.updateRoutes(newRoutesList);
			} catch (e: any) {
				// Log error but don't crash - route updates are non-critical
				logger.error('router', `Failed to update routes via HMR:\n ${e}`);
			}
		});
	}

	return currentDevApp;
}

Domain

Subdomains

Frequently Asked Questions

What does createApp() do?
createApp() is a function in the astro codebase, defined in packages/astro/src/core/app/entrypoint/dev.ts.
Where is createApp() defined?
createApp() is defined in packages/astro/src/core/app/entrypoint/dev.ts at line 10.

Analyze Your Own Codebase

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

Try Supermodel Free