Home / Function/ updateDependencies() — ui Function Reference

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()
}

Subdomains

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