Home / File/ add-components.ts — ui Source File

add-components.ts — ui Source File

Architecture documentation for add-components.ts, a typescript file in the ui codebase. 19 imports, 0 dependents.

File typescript FrameworkTooling TemplateSync 19 imports 5 functions

Entity Profile

Dependency Diagram

graph LR
  05e0e857_0905_dce0_82c9_cfde160573bd["add-components.ts"]
  d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5["path"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5
  81c8b1a1_346a_8b27_dd1e_b8bbb29008b8["api"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> 81c8b1a1_346a_8b27_dd1e_b8bbb29008b8
  1f2f79fc_356c_e956_002d_737290df27fd["config"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> 1f2f79fc_356c_e956_002d_737290df27fd
  d51fcbb7_2296_ff31_c04b_1cb928fc5bc9["resolver"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> d51fcbb7_2296_ff31_c04b_1cb928fc5bc9
  a3b2545e_3d8c_699d_ef11_6ab18db14666["schema"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> a3b2545e_3d8c_699d_ef11_6ab18db14666
  b2895591_2a74_d518_deda_2f26be766dcb["get-config"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> b2895591_2a74_d518_deda_2f26be766dcb
  24fd9695_7ceb_b1f6_c84e_e349d5356c12["get-project-info"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> 24fd9695_7ceb_b1f6_c84e_e349d5356c12
  6be7d8a9_c93c_8743_3ef7_968efff25479["handle-error"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> 6be7d8a9_c93c_8743_3ef7_968efff25479
  8e857540_b0a5_1cb6_3e18_ee5a399ec0ec["is-safe-target"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> 8e857540_b0a5_1cb6_3e18_ee5a399ec0ec
  1df8bbed_5110_29f0_12f0_996fc7a1eda1["logger"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> 1df8bbed_5110_29f0_12f0_996fc7a1eda1
  a3e9bc4e_1faf_6261_a1db_396981c7761d["spinner"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> a3e9bc4e_1faf_6261_a1db_396981c7761d
  d525b58a_686c_feb7_5ed2_d756ab46a4ff["update-css"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> d525b58a_686c_feb7_5ed2_d756ab46a4ff
  d7b38f5d_7c37_592b_4e15_1e0bb3a0fd1f["update-css-vars"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> d7b38f5d_7c37_592b_4e15_1e0bb3a0fd1f
  150af5b9_bedd_16e6_dc1b_1d1618735391["update-dependencies"]
  05e0e857_0905_dce0_82c9_cfde160573bd --> 150af5b9_bedd_16e6_dc1b_1d1618735391
  style 05e0e857_0905_dce0_82c9_cfde160573bd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import path from "path"
import { getRegistryItems } from "@/src/registry/api"
import { configWithDefaults } from "@/src/registry/config"
import { resolveRegistryTree } from "@/src/registry/resolver"
import {
  configSchema,
  registryItemFileSchema,
  registryItemSchema,
  workspaceConfigSchema,
} from "@/src/schema"
import {
  findCommonRoot,
  findPackageRoot,
  getWorkspaceConfig,
  type Config,
} from "@/src/utils/get-config"
import { getProjectTailwindVersionFromConfig } from "@/src/utils/get-project-info"
import { handleError } from "@/src/utils/handle-error"
import { isSafeTarget } from "@/src/utils/is-safe-target"
import { logger } from "@/src/utils/logger"
import { spinner } from "@/src/utils/spinner"
import { updateCss } from "@/src/utils/updaters/update-css"
import { updateCssVars } from "@/src/utils/updaters/update-css-vars"
import { updateDependencies } from "@/src/utils/updaters/update-dependencies"
import { updateEnvVars } from "@/src/utils/updaters/update-env-vars"
import { updateFiles } from "@/src/utils/updaters/update-files"
import {
  massageTreeForFonts,
  updateFonts,
} from "@/src/utils/updaters/update-fonts"
import { updateTailwindConfig } from "@/src/utils/updaters/update-tailwind-config"
import { z } from "zod"

export async function addComponents(
  components: string[],
  config: Config,
  options: {
    overwrite?: boolean
    silent?: boolean
    isNewProject?: boolean
    baseStyle?: boolean
    registryHeaders?: Record<string, Record<string, string>>
    path?: string
  }
) {
  options = {
    overwrite: false,
    silent: false,
    isNewProject: false,
    baseStyle: true,
    ...options,
  }

  const workspaceConfig = await getWorkspaceConfig(config)
  if (
    workspaceConfig &&
    workspaceConfig.ui &&
    workspaceConfig.ui.resolvedPaths.cwd !== config.resolvedPaths.cwd
  ) {
    return await addWorkspaceComponents(components, config, workspaceConfig, {
// ... (351 more lines)

Subdomains

Dependencies

  • api
  • config
  • get-config
  • get-project-info
  • handle-error
  • is-safe-target
  • logger
  • path
  • resolver
  • schema
  • spinner
  • update-css
  • update-css-vars
  • update-dependencies
  • update-env-vars
  • update-files
  • update-fonts
  • update-tailwind-config
  • zod

Frequently Asked Questions

What does add-components.ts do?
add-components.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 add-components.ts?
add-components.ts defines 5 function(s): addComponents, addProjectComponents, addWorkspaceComponents, shouldOverwriteCssVars, validateFilesTarget.
What does add-components.ts depend on?
add-components.ts imports 19 module(s): api, config, get-config, get-project-info, handle-error, is-safe-target, logger, path, and 11 more.
Where is add-components.ts in the architecture?
add-components.ts is located at packages/shadcn/src/utils/add-components.ts (domain: FrameworkTooling, subdomain: TemplateSync, directory: packages/shadcn/src/utils).

Analyze Your Own Codebase

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

Try Supermodel Free