UNPKG

@axway/axway-cli-pm

Version:

Package manager for Axway products

127 lines (102 loc) 11.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _amplifyCliUtils = require("@axway/amplify-cli-utils"); var _snooplogg = _interopRequireDefault(require("snooplogg")); var _pm = require("../pm.js"); var _utils = require("../utils.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = { args: [{ name: 'package', desc: 'Name of the package to purge old versions for', redact: false }], desc: 'Removes all non-active, managed packages', options: { '--json': { callback: ({ ctx, value }) => ctx.jsonMode = value, desc: 'Outputs the purged packages as JSON' }, '-y, --yes': { aliases: ['--no-prompt'], desc: 'Automatic yes to prompts and run non-interactively' } }, skipExtensionUpdateCheck: true, async action({ argv, cli, console, terminal }) { const { bold, highlight } = _snooplogg.default.styles; const purgeTable = (0, _amplifyCliUtils.createTable)(); const purgable = await (0, _pm.listPurgable)(argv.package); const removedPackages = {}; const tasks = []; // step 1: determine packages to remove for (const [name, versions] of Object.entries(purgable)) { for (const pkg of versions) { tasks.push({ title: `Purging ${highlight(`${name}@${pkg.version}`)}`, task: async (ctx, task) => { await (0, _pm.uninstallPackage)(pkg.path); task.title = `Purged ${highlight(`${name}@${pkg.version}`)}`; } }); purgeTable.push([` ${bold(name)}`, pkg.version]); if (!removedPackages[name]) { removedPackages[name] = []; } removedPackages[name].push(pkg); } } if (!purgeTable.length) { if (argv.json) { console.log(JSON.stringify(removedPackages, null, 2)); } else { console.log('There are no packages to purge.'); } return; } // step 2: confirm purge console.log(`The following packages can be purged:\n\n${purgeTable.toString()}\n`); if (terminal.stdout.isTTY && !argv.yes && !argv.json) { await new Promise(resolve => { terminal.once('keypress', str => { terminal.stderr.cursorTo(0); terminal.stderr.clearLine(); if (str === 'y' || str === 'Y') { return resolve(); } process.exit(0); }); terminal.stderr.write('Do you want to update? (y/N) '); }); } // step 3: run the tasks try { await (0, _utils.runListr)({ console, json: argv.json, tasks }); } catch (err) {// errors are stored in the results } const cfg = await (0, _amplifyCliUtils.loadConfig)(); await cfg.delete('update.notified'); await cfg.save(); if (argv.json) { console.log(JSON.stringify(removedPackages, null, 2)); } await cli.emitAction('axway:pm:purge', removedPackages); } }; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMvcHVyZ2UuanMiLCJuYW1lcyI6WyJhcmdzIiwibmFtZSIsImRlc2MiLCJyZWRhY3QiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJjdHgiLCJ2YWx1ZSIsImpzb25Nb2RlIiwiYWxpYXNlcyIsInNraXBFeHRlbnNpb25VcGRhdGVDaGVjayIsImFjdGlvbiIsImFyZ3YiLCJjbGkiLCJjb25zb2xlIiwidGVybWluYWwiLCJib2xkIiwiaGlnaGxpZ2h0Iiwic25vb3Bsb2dnIiwic3R5bGVzIiwicHVyZ2VUYWJsZSIsInB1cmdhYmxlIiwicGFja2FnZSIsInJlbW92ZWRQYWNrYWdlcyIsInRhc2tzIiwidmVyc2lvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwicGtnIiwicHVzaCIsInRpdGxlIiwidmVyc2lvbiIsInRhc2siLCJwYXRoIiwibGVuZ3RoIiwianNvbiIsImxvZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0b1N0cmluZyIsInN0ZG91dCIsImlzVFRZIiwieWVzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJvbmNlIiwic3RyIiwic3RkZXJyIiwiY3Vyc29yVG8iLCJjbGVhckxpbmUiLCJwcm9jZXNzIiwiZXhpdCIsIndyaXRlIiwiZXJyIiwiY2ZnIiwiZGVsZXRlIiwic2F2ZSIsImVtaXRBY3Rpb24iXSwic291cmNlcyI6WyJjb21tYW5kcy9wdXJnZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVUYWJsZSwgbG9hZENvbmZpZyB9IGZyb20gJ0BheHdheS9hbXBsaWZ5LWNsaS11dGlscyc7XG5pbXBvcnQgc25vb3Bsb2dnIGZyb20gJ3Nub29wbG9nZyc7XG5pbXBvcnQgeyBsaXN0UHVyZ2FibGUsIHVuaW5zdGFsbFBhY2thZ2UgfSBmcm9tICcuLi9wbS5qcyc7XG5pbXBvcnQgeyBydW5MaXN0ciB9IGZyb20gJy4uL3V0aWxzLmpzJztcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRhcmdzOiBbXG5cdFx0e1xuXHRcdFx0bmFtZTogJ3BhY2thZ2UnLFxuXHRcdFx0ZGVzYzogJ05hbWUgb2YgdGhlIHBhY2thZ2UgdG8gcHVyZ2Ugb2xkIHZlcnNpb25zIGZvcicsXG5cdFx0XHRyZWRhY3Q6IGZhbHNlXG5cdFx0fVxuXHRdLFxuXHRkZXNjOiAnUmVtb3ZlcyBhbGwgbm9uLWFjdGl2ZSwgbWFuYWdlZCBwYWNrYWdlcycsXG5cdG9wdGlvbnM6IHtcblx0XHQnLS1qc29uJzoge1xuXHRcdFx0Y2FsbGJhY2s6ICh7IGN0eCwgdmFsdWUgfSkgPT4gY3R4Lmpzb25Nb2RlID0gdmFsdWUsXG5cdFx0XHRkZXNjOiAnT3V0cHV0cyB0aGUgcHVyZ2VkIHBhY2thZ2VzIGFzIEpTT04nXG5cdFx0fSxcblx0XHQnLXksIC0teWVzJzoge1xuXHRcdFx0YWxpYXNlczogWyAnLS1uby1wcm9tcHQnIF0sXG5cdFx0XHRkZXNjOiAnQXV0b21hdGljIHllcyB0byBwcm9tcHRzIGFuZCBydW4gbm9uLWludGVyYWN0aXZlbHknXG5cdFx0fVxuXHR9LFxuXHRza2lwRXh0ZW5zaW9uVXBkYXRlQ2hlY2s6IHRydWUsXG5cdGFzeW5jIGFjdGlvbih7IGFyZ3YsIGNsaSwgY29uc29sZSwgdGVybWluYWwgfSkge1xuXHRcdGNvbnN0IHsgYm9sZCwgaGlnaGxpZ2h0IH0gPSBzbm9vcGxvZ2cuc3R5bGVzO1xuXHRcdGNvbnN0IHB1cmdlVGFibGUgPSBjcmVhdGVUYWJsZSgpO1xuXHRcdGNvbnN0IHB1cmdhYmxlID0gYXdhaXQgbGlzdFB1cmdhYmxlKGFyZ3YucGFja2FnZSk7XG5cdFx0Y29uc3QgcmVtb3ZlZFBhY2thZ2VzID0ge307XG5cdFx0Y29uc3QgdGFza3MgPSBbXTtcblxuXHRcdC8vIHN0ZXAgMTogZGV0ZXJtaW5lIHBhY2thZ2VzIHRvIHJlbW92ZVxuXHRcdGZvciAoY29uc3QgWyBuYW1lLCB2ZXJzaW9ucyBdIG9mIE9iamVjdC5lbnRyaWVzKHB1cmdhYmxlKSkge1xuXHRcdFx0Zm9yIChjb25zdCBwa2cgb2YgdmVyc2lvbnMpIHtcblx0XHRcdFx0dGFza3MucHVzaCh7XG5cdFx0XHRcdFx0dGl0bGU6IGBQdXJnaW5nICR7aGlnaGxpZ2h0KGAke25hbWV9QCR7cGtnLnZlcnNpb259YCl9YCxcblx0XHRcdFx0XHR0YXNrOiBhc3luYyAoY3R4LCB0YXNrKSA9PiB7XG5cdFx0XHRcdFx0XHRhd2FpdCB1bmluc3RhbGxQYWNrYWdlKHBrZy5wYXRoKTtcblx0XHRcdFx0XHRcdHRhc2sudGl0bGUgPSBgUHVyZ2VkICR7aGlnaGxpZ2h0KGAke25hbWV9QCR7cGtnLnZlcnNpb259YCl9YDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXG5cdFx0XHRcdHB1cmdlVGFibGUucHVzaChbIGAgICR7Ym9sZChuYW1lKX1gLCBwa2cudmVyc2lvbiBdKTtcblxuXHRcdFx0XHRpZiAoIXJlbW92ZWRQYWNrYWdlc1tuYW1lXSkge1xuXHRcdFx0XHRcdHJlbW92ZWRQYWNrYWdlc1tuYW1lXSA9IFtdO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJlbW92ZWRQYWNrYWdlc1tuYW1lXS5wdXNoKHBrZyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKCFwdXJnZVRhYmxlLmxlbmd0aCkge1xuXHRcdFx0aWYgKGFyZ3YuanNvbikge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShyZW1vdmVkUGFja2FnZXMsIG51bGwsIDIpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCdUaGVyZSBhcmUgbm8gcGFja2FnZXMgdG8gcHVyZ2UuJyk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gc3RlcCAyOiBjb25maXJtIHB1cmdlXG5cdFx0Y29uc29sZS5sb2coYFRoZSBmb2xsb3dpbmcgcGFja2FnZXMgY2FuIGJlIHB1cmdlZDpcXG5cXG4ke3B1cmdlVGFibGUudG9TdHJpbmcoKX1cXG5gKTtcblxuXHRcdGlmICh0ZXJtaW5hbC5zdGRvdXQuaXNUVFkgJiYgIWFyZ3YueWVzICYmICFhcmd2Lmpzb24pIHtcblx0XHRcdGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuXHRcdFx0XHR0ZXJtaW5hbC5vbmNlKCdrZXlwcmVzcycsIHN0ciA9PiB7XG5cdFx0XHRcdFx0dGVybWluYWwuc3RkZXJyLmN1cnNvclRvKDApO1xuXHRcdFx0XHRcdHRlcm1pbmFsLnN0ZGVyci5jbGVhckxpbmUoKTtcblx0XHRcdFx0XHRpZiAoc3RyID09PSAneScgfHwgc3RyID09PSAnWScpIHtcblx0XHRcdFx0XHRcdHJldHVybiByZXNvbHZlKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHByb2Nlc3MuZXhpdCgwKTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHRlcm1pbmFsLnN0ZGVyci53cml0ZSgnRG8geW91IHdhbnQgdG8gdXBkYXRlPyAoeS9OKSAnKTtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdC8vIHN0ZXAgMzogcnVuIHRoZSB0YXNrc1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCBydW5MaXN0cih7IGNvbnNvbGUsIGpzb246IGFyZ3YuanNvbiwgdGFza3MgfSk7XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHQvLyBlcnJvcnMgYXJlIHN0b3JlZCBpbiB0aGUgcmVzdWx0c1xuXHRcdH1cblxuXHRcdGNvbnN0IGNmZyA9IGF3YWl0IGxvYWRDb25maWcoKTtcblx0XHRhd2FpdCBjZmcuZGVsZXRlKCd1cGRhdGUubm90aWZpZWQnKTtcblx0XHRhd2FpdCBjZmcuc2F2ZSgpO1xuXG5cdFx0aWYgKGFyZ3YuanNvbikge1xuXHRcdFx0Y29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkocmVtb3ZlZFBhY2thZ2VzLCBudWxsLCAyKSk7XG5cdFx0fVxuXG5cdFx0YXdhaXQgY2xpLmVtaXRBY3Rpb24oJ2F4d2F5OnBtOnB1cmdlJywgcmVtb3ZlZFBhY2thZ2VzKTtcblx0fVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7O2VBRWU7RUFDZEEsSUFBSSxFQUFFLENBQ0w7SUFDQ0MsSUFBSSxFQUFFLFNBRFA7SUFFQ0Ms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