UNPKG

stratumn-cli

Version:
106 lines (78 loc) 2.98 kB
'use strict'; var _util = require('util'); var _util2 = _interopRequireDefault(_util); var _commander = require('commander'); var _commander2 = _interopRequireDefault(_commander); var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk); var _readPackageSync = require('../utils/readPackageSync'); var _readPackageSync2 = _interopRequireDefault(_readPackageSync); var _get = require('../utils/get'); var _get2 = _interopRequireDefault(_get); var _config = require('../config'); var _config2 = _interopRequireDefault(_config); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } _commander2.default.version((0, _readPackageSync2.default)('version')).usage('<app-name>').option('-s, --script', 'show script').option('-j, --job', 'show active or last job').parse(process.argv); if (_commander2.default.args.length !== 1) { _commander2.default.help(); } function handleError(err) { process.stderr.write(err.message + '\n', function () { return process.exit(1); }); } function rpad(str, cols) { return str + new Array(Math.max(0, cols - str.length) + 1).join(' '); } (0, _get2.default)('/applications/' + _commander2.default.args[0], true).then(function (app) { var content = ''; if (_commander2.default.script) { content = app.script; } else if (_commander2.default.job) { content += rpad('TYPE', 16) + app.job.type + '\n'; content += rpad('STATE', 16) + app.job.state + '\n'; if (app.job.type === 'DEPLOY') { content += rpad('PLAN', 16) + app.job.plan + '\n'; content += rpad('AGENTS', 16) + app.job.agentCount + '\n'; } } else { content += rpad('NAME', 16) + _chalk2.default.bold(app.name) + '\n'; var role = rpad(app.role, 14); switch (app.role) { case 'OWNER': role = _chalk2.default.green(role); break; case 'ADMIN': role = _chalk2.default.cyan(role); break; default: } content += rpad('ROLE', 16) + role + '\n'; content += rpad('PLAN', 16) + app.plan + '\n'; content += rpad('URL', 16) + _util2.default.format(_config2.default.applicationUrl, app.name) + '\n'; content += rpad('AGENTS', 16) + rpad('ID', 16) + rpad('NAME', 24) + 'STATE\n'; app.agents.forEach(function (agent) { content += rpad('', 16) + rpad(agent.id.substr(0, 12), 16); content += rpad(agent.name, 24); switch (agent.state) { case 'RUNNING': content += _chalk2.default.green(agent.state) + '\n'; break; case 'STOPPED': content += _chalk2.default.red(agent.state) + '\n'; break; default: content += agent.state + '\n'; } }); } process.stdout.write(content, process.exit); }).catch(function (err) { if (err.code === 'ENOENT') { process.stdout.write('You must login first\n', function () { return process.exit(1); }); return; } handleError(err); });