UNPKG

@axway/axway-cli-pm

Version:

Package manager for Axway products

121 lines (99 loc) 10.1 kB
"use strict"; 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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