packageManager
uses node:child_process
pnpm when it's installed, else npm.
import { manager } from "#codebase/tcmts/loader/packages"; import { spawnSync } from "node:child_process"; export function packageManager(): "pnpm" | "npm" { return (manager ??= spawnSync("pnpm", ["--version"], { stdio: "ignore" }).status === 0 ? "pnpm" : "npm"); }