syncpack
Version:
Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces
42 lines (41 loc) • 2.23 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.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;
;