cli-engine
Version:
Generic CLI Framework
43 lines (34 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _cliEngineCommand = require('cli-engine-command');
var _cliEngineCommand2 = _interopRequireDefault(_cliEngineCommand);
var _util = require('../../util');
var _plugins = require('../../plugins');
var _plugins2 = _interopRequireDefault(_plugins);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class _class extends _cliEngineCommand2.default {
async run() {
let plugins = await new _plugins2.default(this.out).list();
plugins = plugins.filter(p => p.type !== 'builtin');
plugins.sort((0, _util.compare)('name'));
if (!this.flags.core) plugins = plugins.filter(p => p.type !== 'core');
if (!plugins.length) this.out.warn('no plugins installed');
for (let plugin of plugins) {
let output = `${plugin.name} ${this.out.color.dim(plugin.version)}`;
if (plugin.type !== 'user') output += this.out.color.dim(` (${plugin.type})`);else if (plugin.tag !== 'latest') output += this.out.color.dim(` (${String(plugin.tag)})`);
this.out.log(output);
}
}
}
exports.default = _class;
_class.topic = 'plugins';
_class.flags = { core: _cliEngineCommand.flags.boolean({ description: 'show core plugins' }) };
_class.description = 'list installed plugins';
_class.help = `Example:
$ heroku plugins
heroku-ci 1.8.0
heroku-cli-status 3.0.10 (link)
heroku-fork 4.1.22
`;