@axway/axway-cli-pm
Version:
Package manager for Axway products
121 lines (99 loc) • 10.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _npmPackageArg = _interopRequireDefault(require("npm-package-arg"));
var _semver = _interopRequireDefault(require("semver"));
var _snooplogg = _interopRequireDefault(require("snooplogg"));
var _pm = require("../pm.js");
var _amplifyCliUtils = require("@axway/amplify-cli-utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Examples:
* amplify pm use <pkg>
* amplify pm use <pkg>@1.0.1
* amplify pm use <pkg>@latest
* amplify pm use <pkg>@1.x
*/
var _default = {
args: [{
name: 'package',
hint: 'package[@version]',
desc: 'The package version or latest to activate',
redact: false,
required: true
}],
desc: 'Activates a specific package version',
options: {
'--json': {
callback: ({
ctx,
value
}) => ctx.jsonMode = value,
desc: 'Outputs activated package as JSON'
}
},
async action({
argv,
cli,
console
}) {
const {
highlight
} = _snooplogg.default.styles;
let {
fetchSpec,
name,
type
} = (0, _npmPackageArg.default)(argv.package);
const installed = await (0, _pm.find)(name);
if (!installed) {
const err = new Error(`Package "${name}" is not installed`);
err.code = 'ENOTFOUND';
err.detail = `Please run ${highlight(`"axway pm install ${name}"`)} to install it`;
throw err;
}
if (fetchSpec === 'latest') {
fetchSpec = '*';
}
let version;
if (fetchSpec === '*' || type === 'range') {
for (const ver of Object.keys(installed.versions)) {
if (!version || _semver.default.gt(ver, version)) {
version = ver;
}
}
} else if (type === 'version') {
version = fetchSpec;
}
if (!version) {
throw new Error(`No version installed that satisfies ${fetchSpec}`);
}
const info = installed.versions[version];
if (!info) {
const err = new Error(`Package "${name}@${version}" is not installed`);
err.code = 'ENOTFOUND';
err.detail = `Please run ${highlight(`"axway pm install ${name}@${version}"`)} to install it`;
throw err;
}
let msg;
if (installed.version === version) {
msg = `${highlight(`${name}@${version}`)} is already the active version`;
} else {
msg = `Set ${highlight(`${name}@${version}`)} as action version`;
installed.version = version;
const config = await (0, _amplifyCliUtils.loadConfig)();
await config.set(`extensions.${name}`, info.path);
await config.save();
}
if (argv.json) {
console.log(JSON.stringify(installed, null, 2));
} else {
console.log(msg);
}
await cli.emitAction('axway:pm:use', installed);
}
};
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMvdXNlLmpzIiwibmFtZXMiOlsiYXJncyIsIm5hbWUiLCJoaW50IiwiZGVzYyIsInJlZGFjdCIsInJlcXVpcmVkIiwib3B0aW9ucyIsImNhbGxiYWNrIiwiY3R4IiwidmFsdWUiLCJqc29uTW9kZSIsImFjdGlvbiIsImFyZ3YiLCJjbGkiLCJjb25zb2xlIiwiaGlnaGxpZ2h0Iiwic25vb3Bsb2dnIiwic3R5bGVzIiwiZmV0Y2hTcGVjIiwidHlwZSIsInBhY2thZ2UiLCJpbnN0YWxsZWQiLCJlcnIiLCJFcnJvciIsImNvZGUiLCJkZXRhaWwiLCJ2ZXJzaW9uIiwidmVyIiwiT2JqZWN0Iiwia2V5cyIsInZlcnNpb25zIiwic2VtdmVyIiwiZ3QiLCJpbmZvIiwibXNnIiwiY29uZmlnIiwic2V0IiwicGF0aCIsInNhdmUiLCJqc29uIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImVtaXRBY3Rpb24iXSwic291cmNlcyI6WyJjb21tYW5kcy91c2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5wYSBmcm9tICducG0tcGFja2FnZS1hcmcnO1xuaW1wb3J0IHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHNub29wbG9nZyBmcm9tICdzbm9vcGxvZ2cnO1xuaW1wb3J0IHsgZmluZCB9IGZyb20gJy4uL3BtLmpzJztcbmltcG9ydCB7IGxvYWRDb25maWcgfSBmcm9tICdAYXh3YXkvYW1wbGlmeS1jbGktdXRpbHMnO1xuXG4vKipcbiAqIEV4YW1wbGVzOlxuICogXHRhbXBsaWZ5IHBtIHVzZSA8cGtnPlxuICogXHRhbXBsaWZ5IHBtIHVzZSA8cGtnPkAxLjAuMVxuICogXHRhbXBsaWZ5IHBtIHVzZSA8cGtnPkBsYXRlc3RcbiAqIFx0YW1wbGlmeSBwbSB1c2UgPHBrZz5AMS54XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRhcmdzOiBbXG5cdFx0e1xuXHRcdFx0bmFtZTogJ3BhY2thZ2UnLFxuXHRcdFx0aGludDogJ3BhY2thZ2VbQHZlcnNpb25dJyxcblx0XHRcdGRlc2M6ICdUaGUgcGFja2FnZSB2ZXJzaW9uIG9yIGxhdGVzdCB0byBhY3RpdmF0ZScsXG5cdFx0XHRyZWRhY3Q6IGZhbHNlLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWVcblx0XHR9XG5cdF0sXG5cdGRlc2M6ICdBY3RpdmF0ZXMgYSBzcGVjaWZpYyBwYWNrYWdlIHZlcnNpb24nLFxuXHRvcHRpb25zOiB7XG5cdFx0Jy0tanNvbic6IHtcblx0XHRcdGNhbGxiYWNrOiAoeyBjdHgsIHZhbHVlIH0pID0+IGN0eC5qc29uTW9kZSA9IHZhbHVlLFxuXHRcdFx0ZGVzYzogJ091dHB1dHMgYWN0aXZhdGVkIHBhY2thZ2UgYXMgSlNPTidcblx0XHR9XG5cdH0sXG5cdGFzeW5jIGFjdGlvbih7IGFyZ3YsIGNsaSwgY29uc29sZSB9KSB7XG5cdFx0Y29uc3QgeyBoaWdobGlnaHQgfSA9IHNub29wbG9nZy5zdHlsZXM7XG5cdFx0bGV0IHsgZmV0Y2hTcGVjLCBuYW1lLCB0eXBlIH0gPSBucGEoYXJndi5wYWNrYWdlKTtcblx0XHRjb25zdCBpbnN0YWxsZWQgPSBhd2FpdCBmaW5kKG5hbWUpO1xuXG5cdFx0aWYgKCFpbnN0YWxsZWQpIHtcblx0XHRcdGNvbnN0IGVyciA9IG5ldyBFcnJvcihgUGFja2FnZSBcIiR7bmFtZX1cIiBpcyBub3QgaW5zdGFsbGVkYCk7XG5cdFx0XHRlcnIuY29kZSA9ICdFTk9URk9VTkQnO1xuXHRcdFx0ZXJyLmRldGFpbCA9IGBQbGVhc2UgcnVuICR7aGlnaGxpZ2h0KGBcImF4d2F5IHBtIGluc3RhbGwgJHtuYW1lfVwiYCl9IHRvIGluc3RhbGwgaXRgO1xuXHRcdFx0dGhyb3cgZXJyO1xuXHRcdH1cblxuXHRcdGlmIChmZXRjaFNwZWMgPT09ICdsYXRlc3QnKSB7XG5cdFx0XHRmZXRjaFNwZWMgPSAnKic7XG5cdFx0fVxuXG5cdFx0bGV0IHZlcnNpb247XG5cdFx0aWYgKGZldGNoU3BlYyA9PT0gJyonIHx8IHR5cGUgPT09ICdyYW5nZScpIHtcblx0XHRcdGZvciAoY29uc3QgdmVyIG9mIE9iamVjdC5rZXlzKGluc3RhbGxlZC52ZXJzaW9ucykpIHtcblx0XHRcdFx0aWYgKCF2ZXJzaW9uIHx8IHNlbXZlci5ndCh2ZXIsIHZlcnNpb24pKSB7XG5cdFx0XHRcdFx0dmVyc2lvbiA9IHZlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAodHlwZSA9PT0gJ3ZlcnNpb24nKSB7XG5cdFx0XHR2ZXJzaW9uID0gZmV0Y2hTcGVjO1xuXHRcdH1cblxuXHRcdGlmICghdmVyc2lvbikge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBObyB2ZXJzaW9uIGluc3RhbGxlZCB0aGF0IHNhdGlzZmllcyAke2ZldGNoU3BlY31gKTtcblx0XHR9XG5cblx0XHRjb25zdCBpbmZvID0gaW5zdGFsbGVkLnZlcnNpb25zW3ZlcnNpb25dO1xuXG5cdFx0aWYgKCFpbmZvKSB7XG5cdFx0XHRjb25zdCBlcnIgPSBuZXcgRXJyb3IoYFBhY2thZ2UgXCIke25hbWV9QCR7dmVyc2lvbn1cIiBpcyBub3QgaW5zdGFsbGVkYCk7XG5cdFx0XHRlcnIuY29kZSA9ICdFTk9URk9VTkQnO1xuXHRcdFx0ZXJyLmRldGFpbCA9IGBQbGVhc2UgcnVuICR7aGlnaGxpZ2h0KGBcImF4d2F5IHBtIGluc3RhbGwgJHtuYW1lfUAke3ZlcnNpb259XCJgKX0gdG8gaW5zdGFsbCBpdGA7XG5cdFx0XHR0aHJvdyBlcnI7XG5cdFx0fVxuXG5cdFx0bGV0IG1zZztcblx0XHRpZiAoaW5zdGFsbGVkLnZlcnNpb24gPT09IHZlcnNpb24pIHtcblx0XHRcdG1zZyA9IGAke2hpZ2hsaWdodChgJHtuYW1lfUAke3ZlcnNpb259YCl9IGlzIGFscmVhZHkgdGhlIGFjdGl2ZSB2ZXJzaW9uYDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bXNnID0gYFNldCAke2hpZ2hsaWdodChgJHtuYW1lfUAke3ZlcnNpb259YCl9IGFzIGFjdGlvbiB2ZXJzaW9uYDtcblx0XHRcdGluc3RhbGxlZC52ZXJzaW9uID0gdmVyc2lvbjtcblx0XHRcdGNvbnN0IGNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcoKTtcblx0XHRcdGF3YWl0IGNvbmZpZy5zZXQoYGV4dGVuc2lvbnMuJHtuYW1lfWAsIGluZm8ucGF0aCk7XG5cdFx0XHRhd2FpdCBjb25maWcuc2F2ZSgpO1xuXHRcdH1cblxuXHRcdGlmIChhcmd2Lmpzb24pIHtcblx0XHRcdGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGluc3RhbGxlZCwgbnVsbCwgMikpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zb2xlLmxvZyhtc2cpO1xuXHRcdH1cblxuXHRcdGF3YWl0IGNsaS5lbWl0QWN0aW9uKCdheHdheTpwbTp1c2UnLCBpbnN0YWxsZWQpO1xuXHR9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtlQUVlO0VBQ2RBLElBQUksRUFBRSxDQUNMO0lBQ0NDLElBQUksRUFBRSxTQURQO0lBRUNDLElBQUksRUFBRSxtQkFGUDtJQUdDQyxJQUFJLEVBQUUsMkNBSFA7SUFJQ0MsTUFBTSxFQUFFLEtBSlQ7SUFLQ0MsUUFBUSxFQUFFO0VBTFgsQ0FESyxDQURRO0VBVWRGLElBQUksRUFBRSxzQ0FWUTtFQVdkRyxPQUFPLEVBQUU7SUFDUixVQUFVO01BQ1RDLFFBQVEsRUFBRSxDQUFDO1FBQUVDLEdBQUY7UUFBT0M7TUFBUCxDQUFELEtBQW9CRCxHQUFHLENBQUNFLFFBQUosR0FBZUQsS0FEcEM7TUFFVE4sSUFBSSxFQUFFO0lBRkc7RUFERixDQVhLOztFQWlCZCxNQUFNUSxNQUFOLENBQWE7SUFBRUMsSUFBRjtJQUFRQyxHQUFSO0lBQWFDO0VBQWIsQ0FBYixFQUFxQztJQUNwQyxNQUFNO01BQUVDO0lBQUYsSUFBZ0JDLG1CQUFVQyxNQUFoQztJQUNBLElBQUk7TUFBRUMsU0FBRjtNQUFhakIsSUFBYjtNQUFtQmtCO0lBQW5CLElBQTRCLDRCQUFJUCxJQUFJLENBQUNR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