Home / Function/ resolveTree() — ui Function Reference

resolveTree() — ui Function Reference

Architecture documentation for the resolveTree() function in api.ts from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  476dcfe7_0a2a_4ebb_5e7d_e4200f6d58a8["resolveTree()"]
  c41eed12_c415_48c8_bcf4_9d09d3424a18["api.ts"]
  476dcfe7_0a2a_4ebb_5e7d_e4200f6d58a8 -->|defined in| c41eed12_c415_48c8_bcf4_9d09d3424a18
  style 476dcfe7_0a2a_4ebb_5e7d_e4200f6d58a8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/shadcn/src/registry/api.ts lines 212–237

export async function resolveTree(
  index: z.infer<typeof registryIndexSchema>,
  names: string[]
) {
  const tree: z.infer<typeof registryIndexSchema> = []

  for (const name of names) {
    const entry = index.find((entry) => entry.name === name)

    if (!entry) {
      continue
    }

    tree.push(entry)

    if (entry.registryDependencies) {
      const dependencies = await resolveTree(index, entry.registryDependencies)
      tree.push(...dependencies)
    }
  }

  return tree.filter(
    (component, index, self) =>
      self.findIndex((c) => c.name === component.name) === index
  )
}

Subdomains

Frequently Asked Questions

What does resolveTree() do?
resolveTree() is a function in the ui codebase, defined in packages/shadcn/src/registry/api.ts.
Where is resolveTree() defined?
resolveTree() is defined in packages/shadcn/src/registry/api.ts at line 212.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free