@axway/axway-cli-pm
Version:
Package manager for Axway products
127 lines (102 loc) • 11.4 kB
JavaScript
;
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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