UNPKG

navy

Version:

Quick and powerful development environments using Docker and Docker Compose

61 lines (49 loc) 2.06 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")); var _config = require("../config"); function formatNavyName(navy, defaultNavy) { if (navy.name === defaultNavy) { return `${navy.name} ${_chalk.default.cyan('(default)')}`; } return navy.name; } async function _default(opts) { const navies = await (0, _.getLaunchedNavies)(); if (opts.json) { return console.log(JSON.stringify(await Promise.all(navies.map(async navy => { const ps = await navy.ps(); const state = await navy.getState(); const configProvider = await navy.getConfigProvider(); const isActive = ps.reduce((active, service) => active || service.status === 'running', false); return { name: navy.name, isActive, services: ps, state, configProvider: state.configProvider, configLocation: await configProvider.getLocationDisplayName(), url: await navy.url('[service]') }; })), null, 2)); } const config = await (0, _config.getConfig)(); const { defaultNavy } = config; const rows = await Promise.all(navies.map(async navy => { const ps = await navy.ps(); const state = await navy.getState(); const configProvider = await navy.getConfigProvider(); const isActive = ps.reduce((active, service) => active || service.status === 'running', false); return [formatNavyName(navy, defaultNavy), isActive ? _chalk.default.green('yes') : _chalk.default.red('no'), ps.length.toString(), state.configProvider, await configProvider.getLocationDisplayName(), await navy.url(_chalk.default.dim('service'))]; })); console.log((0, _table.default)([['NAME', 'ACTIVE', 'SERVICES', 'CONFIG PROVIDER', 'CONFIG LOCATION', 'URL'], ...rows])); } module.exports = exports.default;