Home / Function/ virtualEntrypoint() — astro Function Reference

virtualEntrypoint() — astro Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  18d2d7c0_36dd_9d77_a834_f2ea1ea1c40b["virtualEntrypoint()"]
  55004deb_f74c_122b_7d00_ae962d3aa84d["index.ts"]
  18d2d7c0_36dd_9d77_a834_f2ea1ea1c40b -->|defined in| 55004deb_f74c_122b_7d00_ae962d3aa84d
  8ba3e243_b8fa_126b_ca4d_207f806fd142["createPlugin()"]
  8ba3e243_b8fa_126b_ca4d_207f806fd142 -->|calls| 18d2d7c0_36dd_9d77_a834_f2ea1ea1c40b
  style 18d2d7c0_36dd_9d77_a834_f2ea1ea1c40b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/integrations/alpinejs/src/index.ts lines 36–92

function virtualEntrypoint(options?: Options): Plugin {
	const virtualModuleId = 'virtual:@astrojs/alpinejs/entrypoint';
	const resolvedVirtualModuleId = '\0' + virtualModuleId;

	let isBuild: boolean;
	let root: string;
	let entrypoint: string | undefined;

	return {
		name: '@astrojs/alpinejs/virtual-entrypoint',
		config(_, { command }) {
			isBuild = command === 'build';
		},
		configResolved(config) {
			root = config.root;
			if (options?.entrypoint) {
				entrypoint = options.entrypoint.startsWith('.')
					? resolve(root, options.entrypoint)
					: options.entrypoint;
			}
		},
		resolveId: {
			filter: {
				id: new RegExp(`^${virtualModuleId}$`),
			},
			handler() {
				return resolvedVirtualModuleId;
			},
		},
		load: {
			filter: {
				id: new RegExp(`^${resolvedVirtualModuleId}$`),
			},
			handler() {
				if (entrypoint) {
					return `\
import * as mod from ${JSON.stringify(entrypoint)};
						
export const setup = (Alpine) => {
	if ('default' in mod) {
		mod.default(Alpine);
	} else {
		${
			!isBuild
				? `console.warn("[@astrojs/alpinejs] entrypoint \`" + ${JSON.stringify(
						entrypoint,
					)} + "\` does not export a default function. Check out https://docs.astro.build/en/guides/integrations-guide/alpinejs/#entrypoint.");`
				: ''
		}
	}
}`;
				}
				return `export const setup = () => {};`;
			},
		},
	};
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does virtualEntrypoint() do?
virtualEntrypoint() is a function in the astro codebase, defined in packages/integrations/alpinejs/src/index.ts.
Where is virtualEntrypoint() defined?
virtualEntrypoint() is defined in packages/integrations/alpinejs/src/index.ts at line 36.
What calls virtualEntrypoint()?
virtualEntrypoint() is called by 1 function(s): createPlugin.

Analyze Your Own Codebase

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

Try Supermodel Free