UNPKG

libyear

Version:

A simple measure of software dependency freshness

29 lines (28 loc) 859 B
import * as path from "node:path"; import { satisfies } from "semver"; import { execute } from "./execute.js"; export const getParsedPackageManager = (packageManager) => { switch (packageManager) { case "berry": case "npm": case "pnpm": case "yarn": return packageManager; default: return "npm"; } }; export const getInferredPackageManager = async () => { const packageManager = path.basename(process.env.npm_execpath || "npm"); if (packageManager.startsWith("yarn")) { return satisfies(await execute("yarn --version"), "^0 || ^1") ? "yarn" : "berry"; } else if (packageManager.startsWith("pnpm")) { return Promise.resolve("pnpm"); } else { return Promise.resolve(getParsedPackageManager(packageManager)); } };