add-components.ts — ui Source File
Architecture documentation for add-components.ts, a typescript file in the ui codebase. 19 imports, 0 dependents.
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)
Domain
Subdomains
Functions
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
Source
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