update-files.ts — ui Source File
Architecture documentation for update-files.ts, a typescript file in the ui codebase. 28 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 3efb2c23_7931_d244_b4e1_85acab69298c["update-files.ts"] eac8f98f_e40a_7fe8_f505_372c83d20c7a["fs"] 3efb2c23_7931_d244_b4e1_85acab69298c --> eac8f98f_e40a_7fe8_f505_372c83d20c7a b80715bf_43eb_b495_f2cf_a439c5eb0e34["os"] 3efb2c23_7931_d244_b4e1_85acab69298c --> b80715bf_43eb_b495_f2cf_a439c5eb0e34 d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5["path"] 3efb2c23_7931_d244_b4e1_85acab69298c --> d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5 81c8b1a1_346a_8b27_dd1e_b8bbb29008b8["api"] 3efb2c23_7931_d244_b4e1_85acab69298c --> 81c8b1a1_346a_8b27_dd1e_b8bbb29008b8 a3b2545e_3d8c_699d_ef11_6ab18db14666["schema"] 3efb2c23_7931_d244_b4e1_85acab69298c --> a3b2545e_3d8c_699d_ef11_6ab18db14666 7d83ae46_591e_5f54_bf0b_b291426fa685["compare"] 3efb2c23_7931_d244_b4e1_85acab69298c --> 7d83ae46_591e_5f54_bf0b_b291426fa685 27496285_2f75_6442_1801_055f2601e84b["env-helpers"] 3efb2c23_7931_d244_b4e1_85acab69298c --> 27496285_2f75_6442_1801_055f2601e84b b2895591_2a74_d518_deda_2f26be766dcb["get-config"] 3efb2c23_7931_d244_b4e1_85acab69298c --> b2895591_2a74_d518_deda_2f26be766dcb 24fd9695_7ceb_b1f6_c84e_e349d5356c12["get-project-info"] 3efb2c23_7931_d244_b4e1_85acab69298c --> 24fd9695_7ceb_b1f6_c84e_e349d5356c12 15e8bad0_00cc_3d96_8e33_2f062120ea7f["highlighter"] 3efb2c23_7931_d244_b4e1_85acab69298c --> 15e8bad0_00cc_3d96_8e33_2f062120ea7f 1df8bbed_5110_29f0_12f0_996fc7a1eda1["logger"] 3efb2c23_7931_d244_b4e1_85acab69298c --> 1df8bbed_5110_29f0_12f0_996fc7a1eda1 45db7f11_9c93_4005_b06b_e244ebb11d78["resolve-import"] 3efb2c23_7931_d244_b4e1_85acab69298c --> 45db7f11_9c93_4005_b06b_e244ebb11d78 a3e9bc4e_1faf_6261_a1db_396981c7761d["spinner"] 3efb2c23_7931_d244_b4e1_85acab69298c --> a3e9bc4e_1faf_6261_a1db_396981c7761d e69863ed_3e2f_ef94_648a_ef0155c386ef["transformers"] 3efb2c23_7931_d244_b4e1_85acab69298c --> e69863ed_3e2f_ef94_648a_ef0155c386ef style 3efb2c23_7931_d244_b4e1_85acab69298c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { existsSync, promises as fs, statSync } from "fs"
import { tmpdir } from "os"
import path, { basename } from "path"
import { getRegistryBaseColor } from "@/src/registry/api"
import { RegistryItem, registryItemFileSchema } from "@/src/schema"
import { isContentSame } from "@/src/utils/compare"
import {
findExistingEnvFile,
getNewEnvKeys,
isEnvFile,
mergeEnvContent,
parseEnvContent,
} from "@/src/utils/env-helpers"
import { Config } from "@/src/utils/get-config"
import { ProjectInfo, getProjectInfo } from "@/src/utils/get-project-info"
import { highlighter } from "@/src/utils/highlighter"
import { logger } from "@/src/utils/logger"
import { resolveImport } from "@/src/utils/resolve-import"
import { spinner } from "@/src/utils/spinner"
import { transform } from "@/src/utils/transformers"
import { transformAsChild } from "@/src/utils/transformers/transform-aschild"
import { transformCleanup } from "@/src/utils/transformers/transform-cleanup"
import { transformCssVars } from "@/src/utils/transformers/transform-css-vars"
import { transformIcons } from "@/src/utils/transformers/transform-icons"
import { transformImport } from "@/src/utils/transformers/transform-import"
import { transformMenu } from "@/src/utils/transformers/transform-menu"
import { transformNext } from "@/src/utils/transformers/transform-next"
import { transformRsc } from "@/src/utils/transformers/transform-rsc"
import { transformRtl } from "@/src/utils/transformers/transform-rtl"
import { transformTwPrefixes } from "@/src/utils/transformers/transform-tw-prefix"
import prompts from "prompts"
import { Project, ScriptKind } from "ts-morph"
import { loadConfig } from "tsconfig-paths"
import { z } from "zod"
export async function updateFiles(
files: RegistryItem["files"],
config: Config,
options: {
overwrite?: boolean
force?: boolean
silent?: boolean
rootSpinner?: ReturnType<typeof spinner>
isRemote?: boolean
isWorkspace?: boolean
path?: string
}
) {
if (!files?.length) {
return {
filesCreated: [],
filesUpdated: [],
filesSkipped: [],
}
}
options = {
overwrite: false,
force: false,
silent: false,
isRemote: false,
// ... (703 more lines)
Domain
Subdomains
Functions
Dependencies
- api
- compare
- env-helpers
- fs
- get-config
- get-project-info
- highlighter
- logger
- os
- path
- prompts
- resolve-import
- schema
- spinner
- transform-aschild
- transform-cleanup
- transform-css-vars
- transform-icons
- transform-import
- transform-menu
- transform-next
- transform-rsc
- transform-rtl
- transform-tw-prefix
- transformers
- ts-morph
- tsconfig-paths
- zod
Source
Frequently Asked Questions
What does update-files.ts do?
update-files.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 update-files.ts?
update-files.ts defines 10 function(s): _isNext16Middleware, findCommonRoot, resolveFilePath, resolveFileTargetDirectory, resolveImports, resolveModuleByProbablePath, resolveNestedFilePath, resolvePageTarget, toAliasedImport, updateFiles.
What does update-files.ts depend on?
update-files.ts imports 28 module(s): api, compare, env-helpers, fs, get-config, get-project-info, highlighter, logger, and 20 more.
What files import update-files.ts?
update-files.ts is imported by 1 file(s): update-files.test.ts.
Where is update-files.ts in the architecture?
update-files.ts is located at packages/shadcn/src/utils/updaters/update-files.ts (domain: FrameworkTooling, subdomain: SchemaValidation, directory: packages/shadcn/src/utils/updaters).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free