@reliverse/rse-sdk
Version:
@reliverse/rse-sdk without cli. @reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).
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;
}