Home / File/ utils.ts — ui Source File

utils.ts — ui Source File

Architecture documentation for utils.ts, a typescript file in the ui codebase. 4 imports, 1 dependents.

File typescript FrameworkTooling TemplateSync 4 imports 1 dependents 5 functions

Entity Profile

Dependency Diagram

graph LR
  7f4634ea_efbc_d613_10b1_f8b135d63ff3["utils.ts"]
  81c8b1a1_346a_8b27_dd1e_b8bbb29008b8["api"]
  7f4634ea_efbc_d613_10b1_f8b135d63ff3 --> 81c8b1a1_346a_8b27_dd1e_b8bbb29008b8
  a3b2545e_3d8c_699d_ef11_6ab18db14666["schema"]
  7f4634ea_efbc_d613_10b1_f8b135d63ff3 --> a3b2545e_3d8c_699d_ef11_6ab18db14666
  97a0777f_440b_e006_936f_0537ce4b8f73["get-package-manager"]
  7f4634ea_efbc_d613_10b1_f8b135d63ff3 --> 97a0777f_440b_e006_936f_0537ce4b8f73
  6802ce19_522d_e5fb_e458_8826d9f6952e["zod"]
  7f4634ea_efbc_d613_10b1_f8b135d63ff3 --> 6802ce19_522d_e5fb_e458_8826d9f6952e
  70143391_0db9_6064_76d9_3058d0946410["index.ts"]
  70143391_0db9_6064_76d9_3058d0946410 --> 7f4634ea_efbc_d613_10b1_f8b135d63ff3
  style 7f4634ea_efbc_d613_10b1_f8b135d63ff3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { getRegistriesConfig } from "@/src/registry/api"
import { registryItemSchema, searchResultsSchema } from "@/src/schema"
import { getPackageRunner } from "@/src/utils/get-package-manager"
import { z } from "zod"

const SHADCN_CLI_COMMAND = "shadcn@latest"

export async function npxShadcn(command: string) {
  const packageRunner = await getPackageRunner(process.cwd())
  return `${packageRunner} ${SHADCN_CLI_COMMAND} ${command}`
}

export async function getMcpConfig(cwd = process.cwd()) {
  const config = await getRegistriesConfig(cwd, {
    useCache: false,
  })

  return {
    registries: config.registries,
  }
}

export function formatSearchResultsWithPagination(
  results: z.infer<typeof searchResultsSchema>,
  options?: {
    query?: string
    registries?: string[]
  }
) {
  const { query, registries } = options || {}

  const formattedItems = results.items.map((item) => {
    const parts: string[] = [`- ${item.name}`]

    if (item.type) {
      parts.push(`(${item.type})`)
    }

    if (item.description) {
      parts.push(`- ${item.description}`)
    }

    if (item.registry) {
      parts.push(`[${item.registry}]`)
    }

    parts.push(
      `\n  Add command: \`${npxShadcn(`add ${item.addCommandArgument}`)}\``
    )

    return parts.join(" ")
  })

  let header = `Found ${results.pagination.total} items`
  if (query) {
    header += ` matching "${query}"`
  }
  if (registries && registries.length > 0) {
    header += ` in registries ${registries.join(", ")}`
  }
// ... (73 more lines)

Subdomains

Dependencies

  • api
  • get-package-manager
  • schema
  • zod

Frequently Asked Questions

What does utils.ts do?
utils.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain, TemplateSync subdomain.
What functions are defined in utils.ts?
utils.ts defines 5 function(s): formatItemExamples, formatRegistryItems, formatSearchResultsWithPagination, getMcpConfig, npxShadcn.
What does utils.ts depend on?
utils.ts imports 4 module(s): api, get-package-manager, schema, zod.
What files import utils.ts?
utils.ts is imported by 1 file(s): index.ts.
Where is utils.ts in the architecture?
utils.ts is located at packages/shadcn/src/mcp/utils.ts (domain: FrameworkTooling, subdomain: TemplateSync, directory: packages/shadcn/src/mcp).

Analyze Your Own Codebase

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

Try Supermodel Free