Home / Function/ addVitePlugin() — astro Function Reference

addVitePlugin() — astro Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  ad3d573d_7d5f_ba89_5752_05ae2a8219e1["addVitePlugin()"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918["index.ts"]
  ad3d573d_7d5f_ba89_5752_05ae2a8219e1 -->|defined in| 9151bb3d_ee1e_da42_752a_45a9db1dd918
  e251add5_ea46_2280_c246_1b5a023acc3b["add()"]
  e251add5_ea46_2280_c246_1b5a023acc3b -->|calls| ad3d573d_7d5f_ba89_5752_05ae2a8219e1
  style ad3d573d_7d5f_ba89_5752_05ae2a8219e1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/cli/add/index.ts lines 601–624

function addVitePlugin(mod: ProxifiedModule<any>, pluginId: string, packageName: string) {
	const config = getDefaultExportOptions(mod);

	if (!mod.imports.$items.some((imp) => imp.local === pluginId)) {
		mod.imports.$append({
			imported: 'default',
			local: pluginId,
			from: packageName,
		});
	}

	config.vite ??= {};
	config.vite.plugins ??= [];
	if (
		!config.vite.plugins.$ast.elements.some(
			(el: ASTNode) =>
				el.type === 'CallExpression' &&
				el.callee.type === 'Identifier' &&
				el.callee.name === pluginId,
		)
	) {
		config.vite.plugins.push(builders.functionCall(pluginId));
	}
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does addVitePlugin() do?
addVitePlugin() is a function in the astro codebase, defined in packages/astro/src/cli/add/index.ts.
Where is addVitePlugin() defined?
addVitePlugin() is defined in packages/astro/src/cli/add/index.ts at line 601.
What calls addVitePlugin()?
addVitePlugin() is called by 1 function(s): add.

Analyze Your Own Codebase

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

Try Supermodel Free