Home / Function/ getViteConfig() — astro Function Reference

getViteConfig() — astro Function Reference

Architecture documentation for the getViteConfig() function in index.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  da503fed_f5f3_2b70_3409_68b62136b79a["getViteConfig()"]
  cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee["index.ts"]
  da503fed_f5f3_2b70_3409_68b62136b79a -->|defined in| cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee
  style da503fed_f5f3_2b70_3409_68b62136b79a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/config/index.ts lines 22–63

export function getViteConfig(
	userViteConfig: ViteUserConfig,
	inlineAstroConfig: AstroInlineConfig = {},
): ViteUserConfigFn {
	// Return an async Vite config getter which exposes a resolved `mode` and `command`
	return async ({ mode, command }) => {
		// Vite `command` is `serve | build`, but Astro uses `dev | build`
		const cmd = command === 'serve' ? 'dev' : 'build';

		// Use dynamic import to avoid pulling in deps unless used
		const [
			{ mergeConfig },
			{ createNodeLogger },
			{ resolveConfig, createSettings },
			{ createVite },
			{ runHookConfigSetup, runHookConfigDone },
		] = await Promise.all([
			import('vite'),
			import('../core/config/logging.js'),
			import('../core/config/index.js'),
			import('../core/create-vite.js'),
			import('../integrations/hooks.js'),
		]);
		const logger = createNodeLogger(inlineAstroConfig);
		const { astroConfig: config } = await resolveConfig(inlineAstroConfig, cmd);
		let settings = await createSettings(config, inlineAstroConfig.logLevel, userViteConfig.root);
		settings = await runHookConfigSetup({ settings, command: cmd, logger });
		const routesList = await createRoutesList(
			{
				settings,
			},
			logger,
			{ dev: true, skipBuildOutputAssignment: false },
		);
		const viteConfig = await createVite(
			{},
			{ routesList, settings, command: cmd, logger, mode, sync: false },
		);
		await runHookConfigDone({ settings, logger });
		return mergeConfig(viteConfig, userViteConfig);
	};
}

Domain

Subdomains

Frequently Asked Questions

What does getViteConfig() do?
getViteConfig() is a function in the astro codebase, defined in packages/astro/src/config/index.ts.
Where is getViteConfig() defined?
getViteConfig() is defined in packages/astro/src/config/index.ts at line 22.

Analyze Your Own Codebase

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

Try Supermodel Free