config.ts — ui Source File
Architecture documentation for config.ts, a typescript file in the ui codebase. 4 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 46e7defd_7819_0c90_4b8d_a993f9f01516["config.ts"] 2ae56314_aa15_5495_52a2_137787e7b210["constants"] 46e7defd_7819_0c90_4b8d_a993f9f01516 --> 2ae56314_aa15_5495_52a2_137787e7b210 a3b2545e_3d8c_699d_ef11_6ab18db14666["schema"] 46e7defd_7819_0c90_4b8d_a993f9f01516 --> a3b2545e_3d8c_699d_ef11_6ab18db14666 b2895591_2a74_d518_deda_2f26be766dcb["get-config"] 46e7defd_7819_0c90_4b8d_a993f9f01516 --> b2895591_2a74_d518_deda_2f26be766dcb 99a5fd75_7ef9_c199_7940_7abd94a7b70b["deepmerge"] 46e7defd_7819_0c90_4b8d_a993f9f01516 --> 99a5fd75_7ef9_c199_7940_7abd94a7b70b dd17f97d_6243_4687_6cff_b74eca601792["config.test.ts"] dd17f97d_6243_4687_6cff_b74eca601792 --> 46e7defd_7819_0c90_4b8d_a993f9f01516 style 46e7defd_7819_0c90_4b8d_a993f9f01516 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { BUILTIN_REGISTRIES, FALLBACK_STYLE } from "@/src/registry/constants"
import { configSchema } from "@/src/schema"
import { Config, DeepPartial, createConfig } from "@/src/utils/get-config"
import deepmerge from "deepmerge"
function resolveStyleFromConfig(config: DeepPartial<Config>) {
if (!config.style) {
return FALLBACK_STYLE
}
// Check if we should use new-york-v4 for Tailwind v4.
// We assume that if tailwind.config is empty, we're using Tailwind v4.
if (config.style === "new-york" && config.tailwind?.config === "") {
return FALLBACK_STYLE
}
return config.style
}
export function configWithDefaults(config?: DeepPartial<Config>) {
const baseConfig = createConfig({
style: FALLBACK_STYLE,
registries: BUILTIN_REGISTRIES,
})
if (!config) {
return baseConfig
}
return configSchema.parse(
deepmerge(baseConfig, {
...config,
style: resolveStyleFromConfig(config),
registries: { ...BUILTIN_REGISTRIES, ...config.registries },
})
)
}
Domain
Subdomains
Dependencies
- constants
- deepmerge
- get-config
- schema
Imported By
Source
Frequently Asked Questions
What does config.ts do?
config.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 config.ts?
config.ts defines 2 function(s): configWithDefaults, resolveStyleFromConfig.
What does config.ts depend on?
config.ts imports 4 module(s): constants, deepmerge, get-config, schema.
What files import config.ts?
config.ts is imported by 1 file(s): config.test.ts.
Where is config.ts in the architecture?
config.ts is located at packages/shadcn/src/registry/config.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