vitePluginActions() — astro Function Reference
Architecture documentation for the vitePluginActions() function in vite-plugin-actions.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD c149abc4_3572_5d1a_b8c8_0d6c5d987c65["vitePluginActions()"] c764e5f3_4c84_7ed2_850a_416ea85094cd["vite-plugin-actions.ts"] c149abc4_3572_5d1a_b8c8_0d6c5d987c65 -->|defined in| c764e5f3_4c84_7ed2_850a_416ea85094cd style c149abc4_3572_5d1a_b8c8_0d6c5d987c65 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/actions/vite-plugin-actions.ts lines 54–141
export function vitePluginActions({
fs,
settings,
}: {
fs: typeof fsMod;
settings: AstroSettings;
}): VitePlugin {
let resolvedActionsId: string;
return {
name: VIRTUAL_MODULE_ID,
enforce: 'pre',
resolveId: {
filter: {
id: new RegExp(
`^(${VIRTUAL_MODULE_ID}|${OPTIONS_VIRTUAL_MODULE_ID}|${ACTIONS_ENTRYPOINT_VIRTUAL_MODULE_ID})$`,
),
},
async handler(id) {
if (id === VIRTUAL_MODULE_ID) {
return RESOLVED_VIRTUAL_MODULE_ID;
}
if (id === OPTIONS_VIRTUAL_MODULE_ID) {
return RESOLVED_OPTIONS_VIRTUAL_MODULE_ID;
}
if (id === ACTIONS_ENTRYPOINT_VIRTUAL_MODULE_ID) {
const resolvedModule = await this.resolve(
`${decodeURI(new URL('actions', settings.config.srcDir).pathname)}`,
);
if (!resolvedModule) {
return RESOLVED_NOOP_ENTRYPOINT_VIRTUAL_MODULE_ID;
}
resolvedActionsId = resolvedModule.id;
return ACTIONS_RESOLVED_ENTRYPOINT_VIRTUAL_MODULE_ID;
}
},
},
async configureServer(server) {
const filePresentOnStartup = await isActionsFilePresent(fs, settings.config.srcDir);
// Watch for the actions file to be created.
async function watcherCallback() {
const filePresent = await isActionsFilePresent(fs, settings.config.srcDir);
if (filePresentOnStartup !== filePresent) {
server.restart();
}
}
server.watcher.on('add', watcherCallback);
server.watcher.on('change', watcherCallback);
},
load: {
filter: {
id: new RegExp(
`^(${RESOLVED_VIRTUAL_MODULE_ID}|${RESOLVED_NOOP_ENTRYPOINT_VIRTUAL_MODULE_ID}|${ACTIONS_RESOLVED_ENTRYPOINT_VIRTUAL_MODULE_ID}|${RESOLVED_OPTIONS_VIRTUAL_MODULE_ID})$`,
),
},
async handler(id) {
if (id === RESOLVED_VIRTUAL_MODULE_ID) {
if (this.environment.name === ASTRO_VITE_ENVIRONMENT_NAMES.client) {
return {
code: `export * from 'astro/actions/runtime/entrypoints/client.js';`,
};
}
return {
code: `export * from 'astro/actions/runtime/entrypoints/server.js';`,
};
}
if (id === RESOLVED_NOOP_ENTRYPOINT_VIRTUAL_MODULE_ID) {
return { code: 'export const server = {}' };
}
if (id === ACTIONS_RESOLVED_ENTRYPOINT_VIRTUAL_MODULE_ID) {
return { code: `export { server } from ${JSON.stringify(resolvedActionsId)};` };
}
if (id === RESOLVED_OPTIONS_VIRTUAL_MODULE_ID) {
return {
code: `
export const shouldAppendTrailingSlash = ${JSON.stringify(
shouldAppendForwardSlash(settings.config.trailingSlash, settings.config.build.format),
)};
Domain
Subdomains
Source
Frequently Asked Questions
What does vitePluginActions() do?
vitePluginActions() is a function in the astro codebase, defined in packages/astro/src/actions/vite-plugin-actions.ts.
Where is vitePluginActions() defined?
vitePluginActions() is defined in packages/astro/src/actions/vite-plugin-actions.ts at line 54.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free