Home / Function/ vitePluginSessionDriver() — astro Function Reference

vitePluginSessionDriver() — astro Function Reference

Architecture documentation for the vitePluginSessionDriver() function in vite-plugin.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  a669a67e_b5e2_89ae_e594_c0581b40f4d2["vitePluginSessionDriver()"]
  d223a8b8_792e_a5fe_c08b_a90af6ed14ef["vite-plugin.ts"]
  a669a67e_b5e2_89ae_e594_c0581b40f4d2 -->|defined in| d223a8b8_792e_a5fe_c08b_a90af6ed14ef
  style a669a67e_b5e2_89ae_e594_c0581b40f4d2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/core/session/vite-plugin.ts lines 11–56

export function vitePluginSessionDriver({ settings }: { settings: AstroSettings }): VitePlugin {
	return {
		name: VIRTUAL_SESSION_DRIVER_ID,
		enforce: 'pre',

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

		load: {
			filter: {
				id: new RegExp(`^${RESOLVED_VIRTUAL_SESSION_DRIVER_ID}$`),
			},
			async handler() {
				if (!settings.config.session?.driver) {
					return { code: 'export default null;' };
				}

				const driver = normalizeSessionDriverConfig(
					settings.config.session.driver,
					settings.config.session.options,
				);
				const importerPath = fileURLToPath(import.meta.url);
				const resolved = await this.resolve(driver.entrypoint, importerPath);
				if (!resolved) {
					throw new AstroError({
						...SessionStorageInitError,
						message: SessionStorageInitError.message(
							`Failed to resolve session driver: ${driver.entrypoint}`,
							driver.entrypoint,
						),
					});
				}

				return {
					code: `import { default as _default } from '${resolved.id}';\nexport * from '${resolved.id}';\nexport default _default;`,
				};
			},
		},
	};
}

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free