UNPKG

syncpack

Version:

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

42 lines (41 loc) 2.23 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.listMismatchesFromDisk = exports.listMismatches = 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.listMismatches = function (dependencyTypes, filter, wrappers) { var iterator = get_installations_1.getMismatchedDependencies(dependencyTypes, wrappers); var mismatches = Array.from(iterator).filter(function (_a) { var name = _a.name; return name.search(filter) !== -1; }); mismatches.sort(get_installations_1.sortByName).forEach(function (_a) { var name = _a.name, installations = _a.installations; log_1.log(chalk_1["default"](templateObject_1 || (templateObject_1 = __makeTemplateObject(["{red \u2715 ", "}"], ["{red \u2715 ", "}"])), name)); installations.forEach(function (_a) { var source = _a.source, type = _a.type, version = _a.version; log_1.log(chalk_1["default"](templateObject_2 || (templateObject_2 = __makeTemplateObject(["{dim -} ", " {dim in ", " of ", "}"], ["{dim -} ", " {dim in ", " of ", "}"])), version, type, source.contents.name)); }); }); return mismatches; }; exports.listMismatchesFromDisk = 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 }); var mismatches = exports.listMismatches(dependencyTypes, filter, wrappers); if (mismatches.length > 0) { process.exit(1); } }; var templateObject_1, templateObject_2;