UNPKG

create-nex-app

Version:

create websites using my preferred stack

27 lines (23 loc) 623 B
import { execSync } from "child_process"; type PackageManager = "npm" | "pnpm" | "yarn"; export function getPkgManager(): PackageManager { try { const userAgent = process.env.npm_config_user_agent; if (userAgent) { if (userAgent.startsWith("yarn")) { return "yarn"; } else if (userAgent.startsWith("pnpm")) { return "pnpm"; } } try { execSync("yarn --version", { stdio: "ignore" }); return "yarn"; } catch { execSync("pnpm --version", { stdio: "ignore" }); return "pnpm"; } } catch { return "npm"; } }