Home / File/ update-files.ts — ui Source File

update-files.ts — ui Source File

Architecture documentation for update-files.ts, a typescript file in the ui codebase. 28 imports, 1 dependents.

File typescript FrameworkTooling SchemaValidation 28 imports 1 dependents 10 functions

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)

Subdomains

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

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