UNPKG

@reliverse/rse-sdk

Version:

@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).

20 lines (19 loc) 785 B
import path from "@reliverse/pathkit"; import fs from "@reliverse/relifso"; import { exec } from "node:child_process"; export async function uninstallDependencies(cwd, dependencies) { if (dependencies.length === 0) { return; } const packageManager = await fs.pathExists(path.join(cwd, "yarn.lock")) ? "yarn" : await fs.pathExists(path.join(cwd, "pnpm-lock.yaml")) ? "pnpm" : "npm"; const uninstallCmd = packageManager === "npm" ? `npm uninstall ${dependencies.join(" ")}` : packageManager === "yarn" ? `yarn remove ${dependencies.join(" ")}` : `pnpm remove ${dependencies.join(" ")}`; await new Promise((resolve, reject) => { exec(uninstallCmd, { cwd }, (error) => { if (error) { reject(error); } else { resolve(); } }); }); }