@reliverse/rse
Version:
@reliverse/rse is your all-in-one companion for bootstrapping and improving any kind of projects (especially web apps built with frameworks like Next.js) — whether you're kicking off something new or upgrading an existing app. It is also a little AI-power
30 lines (29 loc) • 910 B
JavaScript
import { re } from "@reliverse/relico";
import { cancel, isCancel, select } from "@reliverse/rempts";
import { getUserPkgManager } from "../utils/get-package-manager.js";
export async function getPackageManagerChoice(packageManager) {
if (packageManager !== void 0) return packageManager;
const detectedPackageManager = getUserPkgManager();
const response = await select({
message: "Choose package manager",
options: [
{ value: "npm", label: "npm", hint: "Node Package Manager" },
{
value: "pnpm",
label: "pnpm",
hint: "Fast, disk space efficient package manager"
},
{
value: "bun",
label: "bun",
hint: "All-in-one JavaScript runtime & toolkit"
}
],
initialValue: detectedPackageManager
});
if (isCancel(response)) {
cancel(re.red("Operation cancelled"));
process.exit(0);
}
return response;
}