configAliasVitePlugin() — astro Function Reference
Architecture documentation for the configAliasVitePlugin() function in index.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 41c9f435_8602_aa44_336c_21df75b6be30["configAliasVitePlugin()"] 7996ca89_cb81_c0ba_4ce2_f1ad1a93890c["index.ts"] 41c9f435_8602_aa44_336c_21df75b6be30 -->|defined in| 7996ca89_cb81_c0ba_4ce2_f1ad1a93890c 1ba10327_e048_1b04_3323_048810802c61["getConfigAlias()"] 41c9f435_8602_aa44_336c_21df75b6be30 -->|calls| 1ba10327_e048_1b04_3323_048810802c61 73ef4717_0679_8c7f_84fd_7676c8eeb9af["getViteResolveAlias()"] 41c9f435_8602_aa44_336c_21df75b6be30 -->|calls| 73ef4717_0679_8c7f_84fd_7676c8eeb9af style 41c9f435_8602_aa44_336c_21df75b6be30 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/vite-plugin-config-alias/index.ts lines 117–170
export default function configAliasVitePlugin({
settings,
}: {
settings: AstroSettings;
}): VitePlugin | null {
const configAlias = getConfigAlias(settings);
if (!configAlias) return null;
const plugin: VitePlugin = {
name: 'astro:tsconfig-alias',
// use post to only resolve ids that all other plugins before it can't
enforce: 'post',
config() {
// Return vite.resolve.alias config with custom resolvers
return {
resolve: {
alias: getViteResolveAlias(settings),
},
};
},
resolveId: {
filter: {
id: {
include: configAlias.map((alias) => alias.find),
exclude: /(?:\0|^virtual:|^astro:)/,
},
},
async handler(id, importer, options) {
// Handle aliases found from `compilerOptions.paths`. Unlike Vite aliases, tsconfig aliases
// are best effort only, so we have to manually replace them here, instead of using `vite.resolve.alias`
for (const alias of configAlias) {
if (alias.find.test(id)) {
const updatedId = id.replace(alias.find, alias.replacement);
// Vite may pass an id with "*" when resolving glob import paths
// Returning early allows Vite to handle the final resolution
// See https://github.com/withastro/astro/issues/9258#issuecomment-1838806157
if (updatedId.includes('*')) {
return updatedId;
}
const resolved = await this.resolve(updatedId, importer, {
skipSelf: true,
...options,
});
if (resolved) return resolved;
}
}
},
},
};
return plugin;
}
Domain
Subdomains
Source
Frequently Asked Questions
What does configAliasVitePlugin() do?
configAliasVitePlugin() is a function in the astro codebase, defined in packages/astro/src/vite-plugin-config-alias/index.ts.
Where is configAliasVitePlugin() defined?
configAliasVitePlugin() is defined in packages/astro/src/vite-plugin-config-alias/index.ts at line 117.
What does configAliasVitePlugin() call?
configAliasVitePlugin() calls 2 function(s): getConfigAlias, getViteResolveAlias.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free