updateDependencies() — ui Function Reference
Architecture documentation for the updateDependencies() function in update-dependencies.ts from the ui codebase.
Entity Profile
Dependency Diagram
graph TD adc8a174_5629_0978_1252_434223094dbc["updateDependencies()"] 30cdaf3b_9156_5324_145d_5e18169a3338["update-dependencies.ts"] adc8a174_5629_0978_1252_434223094dbc -->|defined in| 30cdaf3b_9156_5324_145d_5e18169a3338 9072b1d7_4370_cb1c_fd71_72c113e07170["getUpdateDependenciesPackageManager()"] adc8a174_5629_0978_1252_434223094dbc -->|calls| 9072b1d7_4370_cb1c_fd71_72c113e07170 5f268d56_22ae_d80d_1c66_f0f4a3943411["shouldPromptForNpmFlag()"] adc8a174_5629_0978_1252_434223094dbc -->|calls| 5f268d56_22ae_d80d_1c66_f0f4a3943411 58f7ab25_356a_4300_d977_fc3482b06561["installWithPackageManager()"] adc8a174_5629_0978_1252_434223094dbc -->|calls| 58f7ab25_356a_4300_d977_fc3482b06561 style adc8a174_5629_0978_1252_434223094dbc fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/shadcn/src/utils/updaters/update-dependencies.ts lines 10–74
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
}
}
}
dependenciesSpinner?.start()
await installWithPackageManager(
packageManager,
dependencies,
devDependencies,
config.resolvedPaths.cwd,
flag
)
dependenciesSpinner?.succeed()
}
Domain
Subdomains
Source
Frequently Asked Questions
What does updateDependencies() do?
updateDependencies() is a function in the ui codebase, defined in packages/shadcn/src/utils/updaters/update-dependencies.ts.
Where is updateDependencies() defined?
updateDependencies() is defined in packages/shadcn/src/utils/updaters/update-dependencies.ts at line 10.
What does updateDependencies() call?
updateDependencies() calls 3 function(s): getUpdateDependenciesPackageManager, installWithPackageManager, shouldPromptForNpmFlag.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free