shadcn-vue/packages/cli/src/utils/get-package-manager.ts
2023-08-28 10:50:32 +05:45

17 lines
418 B
TypeScript

import { detect } from '@antfu/ni'
export async function getPackageManager(
targetDir: string,
): Promise<'yarn' | 'pnpm' | 'bun' | 'npm'> {
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'
return packageManager ?? 'npm'
}