syncpack
Version:
Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces
43 lines (42 loc) • 2.28 kB
JavaScript
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
return cooked;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
exports.listFromDisk = exports.list = void 0;
var chalk_1 = __importDefault(require("chalk"));
var get_dependency_types_1 = require("./lib/get-dependency-types");
var get_installations_1 = require("./lib/get-installations");
var get_wrappers_1 = require("./lib/get-wrappers");
var log_1 = require("./lib/log");
exports.list = function (dependencyTypes, filter, wrappers) {
var iterator = get_installations_1.getDependencies(dependencyTypes, wrappers);
var packages = Array.from(iterator).filter(function (_a) {
var name = _a.name;
return name.search(filter) !== -1;
});
packages.sort(get_installations_1.sortByName).forEach(function (_a) {
var name = _a.name, installations = _a.installations;
var versions = installations.map(function (_a) {
var version = _a.version;
return version;
});
var uniques = Array.from(new Set(versions));
var hasMismatches = uniques.length > 1;
var uniquesList = uniques.sort().join(', ');
var message = hasMismatches
? chalk_1["default"](templateObject_1 || (templateObject_1 = __makeTemplateObject(["{red \u2715 ", "} {dim.red ", "}"], ["{red \u2715 ", "} {dim.red ", "}"])), name, uniquesList) : chalk_1["default"](templateObject_2 || (templateObject_2 = __makeTemplateObject(["{dim -} {white ", "} {dim ", "}"], ["{dim -} {white ", "} {dim ", "}"])), name, uniquesList);
log_1.log(message);
});
};
exports.listFromDisk = function (_a) {
var dev = _a.dev, filter = _a.filter, peer = _a.peer, prod = _a.prod, source = _a.source;
var dependencyTypes = get_dependency_types_1.getDependencyTypes({ dev: dev, peer: peer, prod: prod });
var wrappers = get_wrappers_1.getWrappers({ source: source });
exports.list(dependencyTypes, filter, wrappers);
};
var templateObject_1, templateObject_2;
;