17 lines
418 B
TypeScript
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'
|
|
}
|