updateImportAliases() — ui Function Reference
Architecture documentation for the updateImportAliases() function in transform-import.ts from the ui codebase.
Entity Profile
Dependency Diagram
graph TD 9f6621f8_fa96_aec7_8cfb_b0e740ef34cd["updateImportAliases()"] 6c4a93e4_8d33_9fe5_4fc1_f8231ddf41b5["transform-import.ts"] 9f6621f8_fa96_aec7_8cfb_b0e740ef34cd -->|defined in| 6c4a93e4_8d33_9fe5_4fc1_f8231ddf41b5 2e9bd87a_5383_5ae6_89f9_ce540bd7c4eb["transformImport()"] 2e9bd87a_5383_5ae6_89f9_ce540bd7c4eb -->|calls| 9f6621f8_fa96_aec7_8cfb_b0e740ef34cd style 9f6621f8_fa96_aec7_8cfb_b0e740ef34cd fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/shadcn/src/utils/transformers/transform-import.ts lines 53–113
function updateImportAliases(
moduleSpecifier: string,
config: Config,
isRemote: boolean = false
) {
// Not a local import.
if (!moduleSpecifier.startsWith("@/") && !isRemote) {
return moduleSpecifier
}
// This treats the remote as coming from a faux registry.
if (isRemote && moduleSpecifier.startsWith("@/")) {
moduleSpecifier = moduleSpecifier.replace(/^@\//, `@/registry/new-york/`)
}
// Not a registry import.
if (!moduleSpecifier.startsWith("@/registry/")) {
// We fix the alias and return.
const alias = config.aliases.components.split("/")[0]
return moduleSpecifier.replace(/^@\//, `${alias}/`)
}
if (moduleSpecifier.match(/^@\/registry\/(.+)\/ui/)) {
return moduleSpecifier.replace(
/^@\/registry\/(.+)\/ui/,
config.aliases.ui ?? `${config.aliases.components}/ui`
)
}
if (
config.aliases.components &&
moduleSpecifier.match(/^@\/registry\/(.+)\/components/)
) {
return moduleSpecifier.replace(
/^@\/registry\/(.+)\/components/,
config.aliases.components
)
}
if (config.aliases.lib && moduleSpecifier.match(/^@\/registry\/(.+)\/lib/)) {
return moduleSpecifier.replace(
/^@\/registry\/(.+)\/lib/,
config.aliases.lib
)
}
if (
config.aliases.hooks &&
moduleSpecifier.match(/^@\/registry\/(.+)\/hooks/)
) {
return moduleSpecifier.replace(
/^@\/registry\/(.+)\/hooks/,
config.aliases.hooks
)
}
return moduleSpecifier.replace(
/^@\/registry\/[^/]+/,
config.aliases.components
)
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does updateImportAliases() do?
updateImportAliases() is a function in the ui codebase, defined in packages/shadcn/src/utils/transformers/transform-import.ts.
Where is updateImportAliases() defined?
updateImportAliases() is defined in packages/shadcn/src/utils/transformers/transform-import.ts at line 53.
What calls updateImportAliases()?
updateImportAliases() is called by 1 function(s): transformImport.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free