@jazim/plop-install
Version:
Plop generator for installing npm packages
54 lines (51 loc) • 1.93 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var index_exports = {};
__export(index_exports, {
installPackageAction: () => installPackageAction
});
module.exports = __toCommonJS(index_exports);
// src/install-package.ts
var import_util = require("util");
var import_child_process = require("child_process");
var execAsync = (0, import_util.promisify)(import_child_process.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;
}
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
installPackageAction
});