UNPKG

syncpack

Version:

Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces

43 lines (42 loc) 2.28 kB
"use strict"; 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;