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"
}
Domain
Subdomains
Called By
Source
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