init.ts — ui Source File
Architecture documentation for init.ts, a typescript file in the ui codebase. 27 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR f50d8e38_92d7_c930_5ca6_b71673ceb658["init.ts"] eac8f98f_e40a_7fe8_f505_372c83d20c7a["fs"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> eac8f98f_e40a_7fe8_f505_372c83d20c7a d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5["path"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5 01b284fc_0c61_5f1b_9b93_a2351f231c52["preflight-init"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> 01b284fc_0c61_5f1b_9b93_a2351f231c52 81c8b1a1_346a_8b27_dd1e_b8bbb29008b8["api"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> 81c8b1a1_346a_8b27_dd1e_b8bbb29008b8 6cb39c88_2e7f_0418_0b3e_763f882f13ff["builder"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> 6cb39c88_2e7f_0418_0b3e_763f882f13ff 1f2f79fc_356c_e956_002d_737290df27fd["config"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> 1f2f79fc_356c_e956_002d_737290df27fd 2ae56314_aa15_5495_52a2_137787e7b210["constants"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> 2ae56314_aa15_5495_52a2_137787e7b210 ff842930_3a95_1c03_7d51_b342f47a7971["context"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> ff842930_3a95_1c03_7d51_b342f47a7971 a3b2545e_3d8c_699d_ef11_6ab18db14666["schema"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> a3b2545e_3d8c_699d_ef11_6ab18db14666 540942ba_3960_0a09_47e1_86b85ff6f2a2["add-components"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> 540942ba_3960_0a09_47e1_86b85ff6f2a2 f99a5659_f4c9_d2b6_4882_a58bad926b75["create-project"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> f99a5659_f4c9_d2b6_4882_a58bad926b75 b900020d_484b_aaae_1b3f_6d4201875bd9["env-loader"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> b900020d_484b_aaae_1b3f_6d4201875bd9 2dce5b77_ae3e_67df_2221_13714429e261["errors"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> 2dce5b77_ae3e_67df_2221_13714429e261 7e26c833_dcd9_9cf5_900e_57ea91ff75f8["file-helper"] f50d8e38_92d7_c930_5ca6_b71673ceb658 --> 7e26c833_dcd9_9cf5_900e_57ea91ff75f8 style f50d8e38_92d7_c930_5ca6_b71673ceb658 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { promises as fs } from "fs"
import path from "path"
import { preFlightInit } from "@/src/preflights/preflight-init"
import {
getRegistryBaseColors,
getRegistryItems,
getRegistryStyles,
} from "@/src/registry/api"
import { buildUrlAndHeadersForRegistryItem } from "@/src/registry/builder"
import { configWithDefaults } from "@/src/registry/config"
import { BASE_COLORS, BUILTIN_REGISTRIES } from "@/src/registry/constants"
import { clearRegistryContext } from "@/src/registry/context"
import { rawConfigSchema } from "@/src/schema"
import { addComponents } from "@/src/utils/add-components"
import { TEMPLATES, createProject } from "@/src/utils/create-project"
import { loadEnvFiles } from "@/src/utils/env-loader"
import * as ERRORS from "@/src/utils/errors"
import {
FILE_BACKUP_SUFFIX,
createFileBackup,
deleteFileBackup,
restoreFileBackup,
} from "@/src/utils/file-helper"
import {
DEFAULT_COMPONENTS,
DEFAULT_TAILWIND_CONFIG,
DEFAULT_TAILWIND_CSS,
DEFAULT_UTILS,
createConfig,
getConfig,
resolveConfigPaths,
type Config,
} from "@/src/utils/get-config"
import {
getProjectConfig,
getProjectInfo,
getProjectTailwindVersionFromConfig,
} from "@/src/utils/get-project-info"
import { handleError } from "@/src/utils/handle-error"
import { highlighter } from "@/src/utils/highlighter"
import { logger } from "@/src/utils/logger"
import { ensureRegistriesInConfig } from "@/src/utils/registries"
import { spinner } from "@/src/utils/spinner"
import { updateTailwindContent } from "@/src/utils/updaters/update-tailwind-content"
import { Command } from "commander"
import deepmerge from "deepmerge"
import fsExtra from "fs-extra"
import prompts from "prompts"
import { z } from "zod"
process.on("exit", (code) => {
const filePath = path.resolve(process.cwd(), "components.json")
// Delete backup if successful.
if (code === 0) {
return deleteFileBackup(filePath)
}
// Restore backup if error.
return restoreFileBackup(filePath)
// ... (530 more lines)
Domain
Subdomains
Dependencies
- add-components
- api
- builder
- commander
- config
- constants
- context
- create-project
- deepmerge
- env-loader
- errors
- file-helper
- fs
- fs-extra
- get-config
- get-project-info
- handle-error
- highlighter
- logger
- path
- preflight-init
- prompts
- registries
- schema
- spinner
- update-tailwind-content
- zod
Imported By
Source
Frequently Asked Questions
What does init.ts do?
init.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain, CLICore subdomain.
What functions are defined in init.ts?
init.ts defines 4 function(s): init, promptForConfig, promptForMinimalConfig, runInit.
What does init.ts depend on?
init.ts imports 27 module(s): add-components, api, builder, commander, config, constants, context, create-project, and 19 more.
What files import init.ts?
init.ts is imported by 1 file(s): create.ts.
Where is init.ts in the architecture?
init.ts is located at packages/shadcn/src/commands/init.ts (domain: FrameworkTooling, subdomain: CLICore, directory: packages/shadcn/src/commands).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free