UNPKG

pnpm

Version:

Fast, disk space efficient package manager

36 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const logger_1 = require("@pnpm/logger"); const outdated_1 = require("@pnpm/outdated"); const chalk_1 = require("chalk"); const path = require("path"); const stripColor = require("strip-color"); const table = require("text-table"); exports.default = async (pkgs, args, cmd, opts) => { const outdatedPkgs = []; const getOutdated = args.length ? outdated_1.forPackages.bind(null, args) : outdated_1.default; for (const pkg of pkgs) { let outdatedPackagesOfProject; try { outdatedPackagesOfProject = await getOutdated(pkg.path, opts); } catch (err) { logger_1.default.info(err); err['prefix'] = pkg.path; // tslint:disable-line:no-string-literal throw err; } const prefix = path.relative(opts.prefix, pkg.path); outdatedPackagesOfProject.forEach((outdatedPkg) => outdatedPkgs.push(Object.assign({}, outdatedPkg, { prefix }))); // tslint:disable-line:no-any } const columnNames = ['', 'Package', 'Current', 'Wanted', 'Latest'].map((txt) => chalk_1.default.underline(txt)); console.log(table([columnNames].concat(outdatedPkgs.map((outdatedPkg) => [ outdatedPkg.prefix, chalk_1.default.yellow(outdatedPkg.packageName), outdatedPkg.current || 'missing', chalk_1.default.green(outdatedPkg.wanted), chalk_1.default.magenta(outdatedPkg.latest || ''), ])), { stringLength: (s) => stripColor(s).length, })); }; //# sourceMappingURL=outdated.js.map