UNPKG

@mlaursen/release-script

Version:

The release script I normally use for packages I publish to npm

25 lines (24 loc) 912 B
import { readFile } from "node:fs/promises"; import { resolve } from "node:path"; export async function getPackageManager() { const rawPackageJson = await readFile(resolve(process.cwd(), "package.json"), "utf8"); const packageJson = JSON.parse(rawPackageJson); if (typeof packageJson.volta === "object" && packageJson.volta) { const { volta } = packageJson; if ("pnpm" in volta) { return "pnpm"; } if ("yarn" in volta) { return "yarn"; } return "npm"; } if (typeof packageJson.packageManager === "string") { const mgr = packageJson.packageManagerreplace(/@.+/, ""); if (mgr === "pnpm" || mgr === "yarn" || mgr === "npm") { return mgr; } throw new Error(`Unsupported package mananger "${mgr}" in package.json`); } throw new Error("Unable to find a package manager"); }