@randajan/simple-lib
Version:
Supersimple start for developing custom js library
35 lines (34 loc) • 1 kB
JavaScript
// src/peers.js
import { spawn } from "child_process";
import fs from "fs";
var _rgxp = /has unmet peer dependency "([^"@]*)["@]/;
var yarnAddP = async (current, add) => {
const peers = current.concat(add);
const unmetDep = [];
const child = spawn("yarn add -P", peers, { shell: true });
child.stdout.on("data", (data) => {
data = String(data);
console.log(data);
});
child.stderr.on("data", (data) => {
data = String(data);
const ud = (data.match(_rgxp) || [])[1];
if (ud) {
unmetDep.push(ud);
}
console.error(data);
});
child.on("close", (code) => {
if (!unmetDep.length) {
return;
}
console.log("Resolving unmet peer dependencies...");
yarnAddP(peers, unmetDep);
});
};
var pkgJson = fs.readFileSync("./package.json", "utf-8");
var pkg = JSON.parse(pkgJson);
var peersCurrent = Object.keys(pkg.peerDependencies || {});
var peersAdd = process.argv.slice(2);
yarnAddP(peersCurrent, peersAdd);
//# sourceMappingURL=peers.js.map