vite-plugin-transitions.ts — astro Source File
Architecture documentation for vite-plugin-transitions.ts, a typescript file in the astro codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 81fffbb6_be53_d1b3_25c1_27928958845c["vite-plugin-transitions.ts"] e9b74c5a_8d34_34a7_e196_5e41b87214aa["../types/astro.js"] 81fffbb6_be53_d1b3_25c1_27928958845c --> e9b74c5a_8d34_34a7_e196_5e41b87214aa 263e522e_1aa5_ebc3_e7d6_45ebc51671f7["vite"] 81fffbb6_be53_d1b3_25c1_27928958845c --> 263e522e_1aa5_ebc3_e7d6_45ebc51671f7 style 81fffbb6_be53_d1b3_25c1_27928958845c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type * as vite from 'vite';
import type { AstroSettings } from '../types/astro.js';
const VIRTUAL_MODULE_ID = 'astro:transitions';
const RESOLVED_VIRTUAL_MODULE_ID = '\0' + VIRTUAL_MODULE_ID;
const VIRTUAL_CLIENT_MODULE_ID = 'astro:transitions/client';
const RESOLVED_VIRTUAL_CLIENT_MODULE_ID = '\0' + VIRTUAL_CLIENT_MODULE_ID;
// The virtual module for the astro:transitions namespace
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
Functions
Dependencies
- ../types/astro.js
- vite
Source
Frequently Asked Questions
What does vite-plugin-transitions.ts do?
vite-plugin-transitions.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What functions are defined in vite-plugin-transitions.ts?
vite-plugin-transitions.ts defines 1 function(s): astroTransitions.
What does vite-plugin-transitions.ts depend on?
vite-plugin-transitions.ts imports 2 module(s): ../types/astro.js, vite.
Where is vite-plugin-transitions.ts in the architecture?
vite-plugin-transitions.ts is located at packages/astro/src/transitions/vite-plugin-transitions.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/transitions).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free