update-dependencies.ts — ui Source File
Architecture documentation for update-dependencies.ts, a typescript file in the ui codebase. 8 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 30cdaf3b_9156_5324_145d_5e18169a3338["update-dependencies.ts"] a3b2545e_3d8c_699d_ef11_6ab18db14666["schema"] 30cdaf3b_9156_5324_145d_5e18169a3338 --> a3b2545e_3d8c_699d_ef11_6ab18db14666 b2895591_2a74_d518_deda_2f26be766dcb["get-config"] 30cdaf3b_9156_5324_145d_5e18169a3338 --> b2895591_2a74_d518_deda_2f26be766dcb 52d51853_b453_3159_f5fc_2e8fcdf57c5f["get-package-info"] 30cdaf3b_9156_5324_145d_5e18169a3338 --> 52d51853_b453_3159_f5fc_2e8fcdf57c5f 97a0777f_440b_e006_936f_0537ce4b8f73["get-package-manager"] 30cdaf3b_9156_5324_145d_5e18169a3338 --> 97a0777f_440b_e006_936f_0537ce4b8f73 1df8bbed_5110_29f0_12f0_996fc7a1eda1["logger"] 30cdaf3b_9156_5324_145d_5e18169a3338 --> 1df8bbed_5110_29f0_12f0_996fc7a1eda1 a3e9bc4e_1faf_6261_a1db_396981c7761d["spinner"] 30cdaf3b_9156_5324_145d_5e18169a3338 --> a3e9bc4e_1faf_6261_a1db_396981c7761d 8fa2a696_bed4_6bec_383f_7df160ded516["execa"] 30cdaf3b_9156_5324_145d_5e18169a3338 --> 8fa2a696_bed4_6bec_383f_7df160ded516 e68f2c02_595f_e9c2_5917_7a8d47bcfc87["prompts"] 30cdaf3b_9156_5324_145d_5e18169a3338 --> e68f2c02_595f_e9c2_5917_7a8d47bcfc87 5e86a725_f9ff_b292_a4b0_04da0dabe204["update-dependencies.test.ts"] 5e86a725_f9ff_b292_a4b0_04da0dabe204 --> 30cdaf3b_9156_5324_145d_5e18169a3338 style 30cdaf3b_9156_5324_145d_5e18169a3338 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { RegistryItem } from "@/src/schema"
import { Config } from "@/src/utils/get-config"
import { getPackageInfo } from "@/src/utils/get-package-info"
import { getPackageManager } from "@/src/utils/get-package-manager"
import { logger } from "@/src/utils/logger"
import { spinner } from "@/src/utils/spinner"
import { execa } from "execa"
import prompts from "prompts"
export async function updateDependencies(
dependencies: RegistryItem["dependencies"],
devDependencies: RegistryItem["devDependencies"],
config: Config,
options: {
silent?: boolean
}
) {
dependencies = Array.from(new Set(dependencies))
devDependencies = Array.from(new Set(devDependencies))
if (!dependencies?.length && !devDependencies?.length) {
return
}
options = {
silent: false,
...options,
}
const dependenciesSpinner = spinner(`Installing dependencies.`, {
silent: options.silent,
})?.start()
const packageManager = await getUpdateDependenciesPackageManager(config)
// Offer to use --force or --legacy-peer-deps if using React 19 with npm.
let flag = ""
if (shouldPromptForNpmFlag(config) && packageManager === "npm") {
if (options.silent) {
flag = "force"
} else {
dependenciesSpinner.stopAndPersist()
logger.warn(
"\nIt looks like you are using React 19. \nSome packages may fail to install due to peer dependency issues in npm (see https://ui.shadcn.com/react-19).\n"
)
const confirmation = await prompts([
{
type: "select",
name: "flag",
message: "How would you like to proceed?",
choices: [
{ title: "Use --force", value: "force" },
{ title: "Use --legacy-peer-deps", value: "legacy-peer-deps" },
],
},
])
if (confirmation) {
flag = confirmation.flag
}
}
// ... (135 more lines)
Domain
Subdomains
Functions
Dependencies
- execa
- get-config
- get-package-info
- get-package-manager
- logger
- prompts
- schema
- spinner
Source
Frequently Asked Questions
What does update-dependencies.ts do?
update-dependencies.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 update-dependencies.ts?
update-dependencies.ts defines 7 function(s): getUpdateDependenciesPackageManager, installWithDeno, installWithExpo, installWithNpm, installWithPackageManager, shouldPromptForNpmFlag, updateDependencies.
What does update-dependencies.ts depend on?
update-dependencies.ts imports 8 module(s): execa, get-config, get-package-info, get-package-manager, logger, prompts, schema, spinner.
What files import update-dependencies.ts?
update-dependencies.ts is imported by 1 file(s): update-dependencies.test.ts.
Where is update-dependencies.ts in the architecture?
update-dependencies.ts is located at packages/shadcn/src/utils/updaters/update-dependencies.ts (domain: FrameworkTooling, subdomain: CLICore, 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