resolveRegistryNamespaces() — ui Function Reference
Architecture documentation for the resolveRegistryNamespaces() function in namespaces.ts from the ui codebase.
Entity Profile
Dependency Diagram
graph TD 42e6b9b5_85dc_9b2b_3b20_d2a846886ce1["resolveRegistryNamespaces()"] 297db2a9_924f_f0dd_ef7f_dae1d3314091["namespaces.ts"] 42e6b9b5_85dc_9b2b_3b20_d2a846886ce1 -->|defined in| 297db2a9_924f_f0dd_ef7f_dae1d3314091 style 42e6b9b5_85dc_9b2b_3b20_d2a846886ce1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/shadcn/src/registry/namespaces.ts lines 8–63
export async function resolveRegistryNamespaces(
components: string[],
config: Config
) {
const discoveredNamespaces = new Set<string>()
const visitedItems = new Set<string>()
const itemsToProcess = [...components]
while (itemsToProcess.length > 0) {
const currentItem = itemsToProcess.shift()!
if (visitedItems.has(currentItem)) {
continue
}
visitedItems.add(currentItem)
const { registry } = parseRegistryAndItemFromString(currentItem)
if (registry && !BUILTIN_REGISTRIES[registry]) {
discoveredNamespaces.add(registry)
}
try {
const [item] = await fetchRegistryItems([currentItem], config, {
useCache: true,
})
if (item?.registryDependencies) {
for (const dep of item.registryDependencies) {
const { registry: depRegistry } = parseRegistryAndItemFromString(dep)
if (depRegistry && !BUILTIN_REGISTRIES[depRegistry]) {
discoveredNamespaces.add(depRegistry)
}
if (!visitedItems.has(dep)) {
itemsToProcess.push(dep)
}
}
}
} catch (error) {
// If a registry is not configured, we still track it.
if (error instanceof RegistryNotConfiguredError) {
const { registry } = parseRegistryAndItemFromString(currentItem)
if (registry && !BUILTIN_REGISTRIES[registry]) {
discoveredNamespaces.add(registry)
}
continue
}
// For other errors (network, parsing, etc.), we skip this item
// but continue processing others to discover as many namespaces as possible.
continue
}
}
return Array.from(discoveredNamespaces)
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does resolveRegistryNamespaces() do?
resolveRegistryNamespaces() is a function in the ui codebase, defined in packages/shadcn/src/registry/namespaces.ts.
Where is resolveRegistryNamespaces() defined?
resolveRegistryNamespaces() is defined in packages/shadcn/src/registry/namespaces.ts at line 8.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free