Home / Function/ getPackageManager() — ui Function Reference

getPackageManager() — ui Function Reference

Architecture documentation for the getPackageManager() function in get-package-manager.ts from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  bd892ce2_83a8_953f_41d3_d137c7308eda["getPackageManager()"]
  c183d6fb_71b5_5e4c_de0b_08e22a8776c9["get-package-manager.ts"]
  bd892ce2_83a8_953f_41d3_d137c7308eda -->|defined in| c183d6fb_71b5_5e4c_de0b_08e22a8776c9
  4e9d3405_8101_e7ea_8922_3742b7f9ae91["getPackageRunner()"]
  4e9d3405_8101_e7ea_8922_3742b7f9ae91 -->|calls| bd892ce2_83a8_953f_41d3_d137c7308eda
  style bd892ce2_83a8_953f_41d3_d137c7308eda fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/shadcn/src/utils/get-package-manager.ts lines 3–35

export async function getPackageManager(
  targetDir: string,
  { withFallback }: { withFallback?: boolean } = {
    withFallback: false,
  }
): Promise<"yarn" | "pnpm" | "bun" | "npm" | "deno"> {
  const packageManager = await detect({ programmatic: true, cwd: targetDir })

  if (packageManager === "yarn@berry") return "yarn"
  if (packageManager === "pnpm@6") return "pnpm"
  if (packageManager === "bun") return "bun"
  if (packageManager === "deno") return "deno"
  if (!withFallback) {
    return packageManager ?? "npm"
  }

  // Fallback to user agent if not detected.
  const userAgent = process.env.npm_config_user_agent || ""

  if (userAgent.startsWith("yarn")) {
    return "yarn"
  }

  if (userAgent.startsWith("pnpm")) {
    return "pnpm"
  }

  if (userAgent.startsWith("bun")) {
    return "bun"
  }

  return "npm"
}

Subdomains

Called By

Frequently Asked Questions

What does getPackageManager() do?
getPackageManager() is a function in the ui codebase, defined in packages/shadcn/src/utils/get-package-manager.ts.
Where is getPackageManager() defined?
getPackageManager() is defined in packages/shadcn/src/utils/get-package-manager.ts at line 3.
What calls getPackageManager()?
getPackageManager() is called by 1 function(s): getPackageRunner.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free