Home / File/ resolver.ts — ui Source File

resolver.ts — ui Source File

Architecture documentation for resolver.ts, a typescript file in the ui codebase. 15 imports, 2 dependents.

File typescript FrameworkTooling SchemaValidation 15 imports 2 dependents 9 functions

Entity Profile

Dependency Diagram

graph LR
  c819bacb_5122_731b_64d6_d23131b1f806["resolver.ts"]
  8eb629f2_502c_b1a4_6fec_b6329f097fbe["crypto"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 8eb629f2_502c_b1a4_6fec_b6329f097fbe
  d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5["path"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5
  81c8b1a1_346a_8b27_dd1e_b8bbb29008b8["api"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 81c8b1a1_346a_8b27_dd1e_b8bbb29008b8
  6cb39c88_2e7f_0418_0b3e_763f882f13ff["builder"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 6cb39c88_2e7f_0418_0b3e_763f882f13ff
  ff842930_3a95_1c03_7d51_b342f47a7971["context"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> ff842930_3a95_1c03_7d51_b342f47a7971
  0ec72e6a_72c2_0fcf_92e9_0b0612e46d40["errors"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 0ec72e6a_72c2_0fcf_92e9_0b0612e46d40
  8b63e39d_c91e_6de3_796b_cdd80586252f["fetcher"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 8b63e39d_c91e_6de3_796b_cdd80586252f
  0ce0166b_94b8_3d75_f122_e290dcdf3f26["parser"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 0ce0166b_94b8_3d75_f122_e290dcdf3f26
  50c29a7b_b93d_0a7c_57d5_beffcb095441["utils"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 50c29a7b_b93d_0a7c_57d5_beffcb095441
  a3b2545e_3d8c_699d_ef11_6ab18db14666["schema"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> a3b2545e_3d8c_699d_ef11_6ab18db14666
  b2895591_2a74_d518_deda_2f26be766dcb["get-config"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> b2895591_2a74_d518_deda_2f26be766dcb
  24fd9695_7ceb_b1f6_c84e_e349d5356c12["get-project-info"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 24fd9695_7ceb_b1f6_c84e_e349d5356c12
  6ab016b6_1f7f_f572_4671_db2bf302cbad["update-tailwind-config"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 6ab016b6_1f7f_f572_4671_db2bf302cbad
  99a5fd75_7ef9_c199_7940_7abd94a7b70b["deepmerge"]
  c819bacb_5122_731b_64d6_d23131b1f806 --> 99a5fd75_7ef9_c199_7940_7abd94a7b70b
  style c819bacb_5122_731b_64d6_d23131b1f806 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { createHash } from "crypto"
import path from "path"
import {
  getRegistryBaseColor,
  getShadcnRegistryIndex,
} from "@/src/registry/api"
import {
  buildUrlAndHeadersForRegistryItem,
  resolveRegistryUrl,
} from "@/src/registry/builder"
import { setRegistryHeaders } from "@/src/registry/context"
import {
  RegistryNotConfiguredError,
  RegistryParseError,
} from "@/src/registry/errors"
import { fetchRegistry, fetchRegistryLocal } from "@/src/registry/fetcher"
import { parseRegistryAndItemFromString } from "@/src/registry/parser"
import {
  deduplicateFilesByTarget,
  isLocalFile,
  isUrl,
} from "@/src/registry/utils"
import {
  RegistryFontItem,
  registryItemCommonSchema,
  registryItemFontSchema,
  registryItemSchema,
  registryItemTypeSchema,
  registryResolvedItemsTreeSchema,
} from "@/src/schema"
import { Config, getTargetStyleFromConfig } from "@/src/utils/get-config"
import { getProjectTailwindVersionFromConfig } from "@/src/utils/get-project-info"
import { buildTailwindThemeColorsFromCssVars } from "@/src/utils/updaters/update-tailwind-config"
import deepmerge from "deepmerge"
import { z } from "zod"

export function resolveRegistryItemsFromRegistries(
  items: string[],
  config: Config
) {
  const registryHeaders: Record<string, Record<string, string>> = {}
  const resolvedItems = [...items]

  if (!config?.registries) {
    setRegistryHeaders({})
    return resolvedItems
  }

  for (let i = 0; i < resolvedItems.length; i++) {
    const resolved = buildUrlAndHeadersForRegistryItem(resolvedItems[i], config)

    if (resolved) {
      resolvedItems[i] = resolved.url

      if (Object.keys(resolved.headers).length > 0) {
        registryHeaders[resolved.url] = resolved.headers
      }
    }
  }

// ... (684 more lines)

Subdomains

Dependencies

  • api
  • builder
  • context
  • crypto
  • deepmerge
  • errors
  • fetcher
  • get-config
  • get-project-info
  • parser
  • path
  • schema
  • update-tailwind-config
  • utils
  • zod

Frequently Asked Questions

What does resolver.ts do?
resolver.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain, SchemaValidation subdomain.
What functions are defined in resolver.ts?
resolver.ts defines 9 function(s): computeItemHash, extractItemIdentifierFromDependency, fetchRegistryItems, registryGetTheme, resolveDependenciesRecursively, resolveRegistryDependencies, resolveRegistryItemsFromRegistries, resolveRegistryTree, topologicalSortRegistryItems.
What does resolver.ts depend on?
resolver.ts imports 15 module(s): api, builder, context, crypto, deepmerge, errors, fetcher, get-config, and 7 more.
What files import resolver.ts?
resolver.ts is imported by 2 file(s): namespaces.test.ts, resolver.test.ts.
Where is resolver.ts in the architecture?
resolver.ts is located at packages/shadcn/src/registry/resolver.ts (domain: FrameworkTooling, subdomain: SchemaValidation, directory: packages/shadcn/src/registry).

Analyze Your Own Codebase

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

Try Supermodel Free