import { execSync } from "child_process"; export type PackageManager = "npm" | "pnpm" | "yarn"; export function getPkgManager(): PackageManager { try { // eslint-disable-next-line turbo/no-undeclared-env-vars 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"; } }