astroScriptsPlugin() — astro Function Reference
Architecture documentation for the astroScriptsPlugin() function in index.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 92b9ba8a_4e5b_92a0_0c91_3d5d109bd557["astroScriptsPlugin()"] 3add2cbd_84c6_ab3f_c916_c599a116c63a["index.ts"] 92b9ba8a_4e5b_92a0_0c91_3d5d109bd557 -->|defined in| 3add2cbd_84c6_ab3f_c916_c599a116c63a style 92b9ba8a_4e5b_92a0_0c91_3d5d109bd557 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/vite-plugin-scripts/index.ts lines 16–75
export default function astroScriptsPlugin({ settings }: { settings: AstroSettings }): VitePlugin {
return {
name: 'astro:scripts',
resolveId: {
filter: {
id: new RegExp(`^${SCRIPT_ID_PREFIX}`),
},
handler(id) {
return id;
},
},
load: {
filter: {
id: new RegExp(`^(${BEFORE_HYDRATION_SCRIPT_ID}|${PAGE_SCRIPT_ID}|${PAGE_SSR_SCRIPT_ID})$`),
},
handler(id) {
if (id === BEFORE_HYDRATION_SCRIPT_ID) {
return {
code: settings.scripts
.filter((s) => s.stage === 'before-hydration')
.map((s) => s.content)
.join('\n'),
};
}
if (id === PAGE_SCRIPT_ID) {
return {
code: settings.scripts
.filter((s) => s.stage === 'page')
.map((s) => s.content)
.join('\n'),
};
}
if (id === PAGE_SSR_SCRIPT_ID) {
return {
code: settings.scripts
.filter((s) => s.stage === 'page-ssr')
.map((s) => s.content)
.join('\n'),
};
}
},
},
buildStart() {
const hasHydrationScripts = settings.scripts.some((s) => s.stage === 'before-hydration');
if (
hasHydrationScripts &&
(this.environment.name === ASTRO_VITE_ENVIRONMENT_NAMES.prerender ||
this.environment.name === ASTRO_VITE_ENVIRONMENT_NAMES.ssr)
) {
this.emitFile({
type: 'chunk',
id: BEFORE_HYDRATION_SCRIPT_ID,
name: BEFORE_HYDRATION_SCRIPT_ID,
});
}
},
};
}
Domain
Subdomains
Source
Frequently Asked Questions
What does astroScriptsPlugin() do?
astroScriptsPlugin() is a function in the astro codebase, defined in packages/astro/src/vite-plugin-scripts/index.ts.
Where is astroScriptsPlugin() defined?
astroScriptsPlugin() is defined in packages/astro/src/vite-plugin-scripts/index.ts at line 16.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free