resolver.ts — ui Source File
Architecture documentation for resolver.ts, a typescript file in the ui codebase. 15 imports, 2 dependents.
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)
Domain
Subdomains
Functions
Dependencies
- api
- builder
- context
- crypto
- deepmerge
- errors
- fetcher
- get-config
- get-project-info
- parser
- path
- schema
- update-tailwind-config
- utils
- zod
Imported By
Source
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