Home / Function/ astroTransitions() — astro Function Reference

astroTransitions() — astro Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  4bc8a3e6_fefa_bc94_e3ca_717909d7ab63["astroTransitions()"]
  81fffbb6_be53_d1b3_25c1_27928958845c["vite-plugin-transitions.ts"]
  4bc8a3e6_fefa_bc94_e3ca_717909d7ab63 -->|defined in| 81fffbb6_be53_d1b3_25c1_27928958845c
  style 4bc8a3e6_fefa_bc94_e3ca_717909d7ab63 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/transitions/vite-plugin-transitions.ts lines 10–73

export default function astroTransitions({ settings }: { settings: AstroSettings }): vite.Plugin {
	return {
		name: 'astro:transitions',
		config() {
			return {
				optimizeDeps: {
					include: ['astro > cssesc'],
				},
			};
		},
		resolveId: {
			filter: {
				id: new RegExp(`^(${VIRTUAL_MODULE_ID}|${VIRTUAL_CLIENT_MODULE_ID})$`),
			},
			handler(id) {
				if (id === VIRTUAL_MODULE_ID) {
					return RESOLVED_VIRTUAL_MODULE_ID;
				}
				if (id === VIRTUAL_CLIENT_MODULE_ID) {
					return RESOLVED_VIRTUAL_CLIENT_MODULE_ID;
				}
			},
		},
		load: {
			filter: {
				id: new RegExp(`^(${RESOLVED_VIRTUAL_MODULE_ID}|${RESOLVED_VIRTUAL_CLIENT_MODULE_ID})$`),
			},
			handler(id) {
				if (id === RESOLVED_VIRTUAL_MODULE_ID) {
					return {
						code: `
						export * from "astro/virtual-modules/transitions.js";
						export { default as ClientRouter } from "astro/components/ClientRouter.astro";
					`,
					};
				}
				if (id === RESOLVED_VIRTUAL_CLIENT_MODULE_ID) {
					return {
						code: `
						export { navigate, supportsViewTransitions, transitionEnabledOnThisPage } from "astro/virtual-modules/transitions-router.js";
						export * from "astro/virtual-modules/transitions-types.js";
						export {
							TRANSITION_BEFORE_PREPARATION, isTransitionBeforePreparationEvent, TransitionBeforePreparationEvent,
							TRANSITION_AFTER_PREPARATION,
							TRANSITION_BEFORE_SWAP, isTransitionBeforeSwapEvent, TransitionBeforeSwapEvent,
							TRANSITION_AFTER_SWAP, TRANSITION_PAGE_LOAD
						} from "astro/virtual-modules/transitions-events.js";
						export { swapFunctions } from "astro/virtual-modules/transitions-swap-functions.js";
					`,
					};
				}
			},
		},
		transform: {
			filter: {
				id: /ClientRouter\.astro.*\.ts$/,
			},
			handler(code) {
				const prefetchDisabled = settings.config.prefetch === false;
				return code.replace('__PREFETCH_DISABLED__', JSON.stringify(prefetchDisabled));
			},
		},
	};
}

Domain

Subdomains

Frequently Asked Questions

What does astroTransitions() do?
astroTransitions() is a function in the astro codebase, defined in packages/astro/src/transitions/vite-plugin-transitions.ts.
Where is astroTransitions() defined?
astroTransitions() is defined in packages/astro/src/transitions/vite-plugin-transitions.ts at line 10.

Analyze Your Own Codebase

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

Try Supermodel Free