UNPKG

@jazim/plop-install

Version:

Plop generator for installing npm packages

27 lines (26 loc) 829 B
// src/install-package.ts import { promisify } from "util"; import { exec } from "child_process"; var execAsync = promisify(exec); var installPackageAction = async (_answers, config) => { const { packages = [], options = {} } = config; const { dev } = options; await installPackage(packages, options); return `${dev ? "Dev" : ""} Installed packages: ${packages.join("\n")}`; }; var installPackage = async (packages, options = {}) => { const { dev, pm } = options; const command = `${pm || "pnpm"} install ${packages.join(" ")}${dev ? " --save-dev" : ""}`; try { const { stdout, stderr } = await execAsync(command); if (stderr) console.error(stderr); return stdout; } catch (error) { console.error(`Error installing packages: ${error}`); throw error; } }; export { installPackageAction };