Home / Function/ vitePluginRenderers() — astro Function Reference

vitePluginRenderers() — astro Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  3b474f34_8222_f732_d35f_30cf1b6a0aed["vitePluginRenderers()"]
  18012199_d41e_4c54_13fa_c6ec68b53e11["index.ts"]
  3b474f34_8222_f732_d35f_30cf1b6a0aed -->|defined in| 18012199_d41e_4c54_13fa_c6ec68b53e11
  style 3b474f34_8222_f732_d35f_30cf1b6a0aed fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/vite-plugin-renderers/index.ts lines 11–53

export default function vitePluginRenderers(options: PluginOptions): VitePlugin {
	const renderers = options.settings.renderers;

	return {
		name: 'astro:plugin-renderers',
		enforce: 'pre',

		resolveId: {
			filter: {
				id: new RegExp(`^${ASTRO_RENDERERS_MODULE_ID}$`),
			},
			handler() {
				return RESOLVED_ASTRO_RENDERERS_MODULE_ID;
			},
		},

		load: {
			filter: {
				id: new RegExp(`^${RESOLVED_ASTRO_RENDERERS_MODULE_ID}$`),
			},
			handler() {
				if (renderers.length > 0) {
					const imports: string[] = [];
					const exports: string[] = [];
					let i = 0;
					let rendererItems = '';

					for (const renderer of renderers) {
						const variable = `_renderer${i}`;
						imports.push(`import ${variable} from ${JSON.stringify(renderer.serverEntrypoint)};`);
						rendererItems += `Object.assign(${JSON.stringify(renderer)}, { ssr: ${variable} }),`;
						i++;
					}

					exports.push(`export const renderers = [${rendererItems}];`);

					return { code: `${imports.join('\n')}\n${exports.join('\n')}` };
				}
				return { code: `export const renderers = [];` };
			},
		},
	};
}

Domain

Subdomains

Frequently Asked Questions

What does vitePluginRenderers() do?
vitePluginRenderers() is a function in the astro codebase, defined in packages/astro/src/vite-plugin-renderers/index.ts.
Where is vitePluginRenderers() defined?
vitePluginRenderers() is defined in packages/astro/src/vite-plugin-renderers/index.ts at line 11.

Analyze Your Own Codebase

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

Try Supermodel Free