@jazim/plop-install
Version:
Plop generator for installing npm packages
27 lines (26 loc) • 829 B
JavaScript
// 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
};