UNPKG

navy

Version:

Quick and powerful development environments using Docker and Docker Compose

45 lines (32 loc) 1.26 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; var _chalk = _interopRequireDefault(require("chalk")); var _ = require("../"); var _table = _interopRequireDefault(require("../util/table")); function getStatus(service, state) { const health = service.raw && service.raw.State.Health; if (!health) { return '-'; } const statusString = health.Status === 'healthy' ? _chalk.default.green('✔ Healthy') : _chalk.default.red('• Unhealthy'); return statusString; } function getHistory(service, state) { const health = service.raw && service.raw.State.Health; if (!health) { return '-'; } const history = health.Log; return history.map(record => record.ExitCode === 0 ? _chalk.default.green('█') : _chalk.default.red('x')).join(' '); } async function _default(opts) { const navy = (0, _.getNavy)(opts.navy); const ps = await navy.ps(); const state = await navy.getState(); console.log((0, _table.default)([['NAME', 'STATUS', 'HISTORY'], ...ps.map(service => [service.name, getStatus(service, state), getHistory(service, state)])])); } module.exports = exports.default;