@forge/cli
12.9.012.10.0-next.4
out/command-line/register-show-commands.js~
out/command-line/register-show-commands.jsModified+48−29
Index: package/out/command-line/register-show-commands.js
===================================================================
--- package/out/command-line/register-show-commands.js
+++ package/out/command-line/register-show-commands.js
@@ -1,7 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.registerCommands = void 0;
+exports.registerCommands = exports.ShowCommandError = void 0;
const cli_shared_1 = require("@forge/cli-shared");
function readServicesFromConfig(manifest) {
if (!manifest || !manifest.services) {
return [];
@@ -9,8 +9,9 @@
return manifest.services.map((service) => service.key);
}
class ShowCommandError extends Error {
}
+exports.ShowCommandError = ShowCommandError;
function showCommandError(ui, message) {
ui.error(new ShowCommandError(message));
ui.emptyLine();
}
@@ -26,11 +27,14 @@
.requireAppId()
.environmentOption()
.option('-s, --service [service]', cli_shared_1.Text.show.services.cmd.serviceKeyOption)
.option('-w, --watch', cli_shared_1.Text.show.services.cmd.watchOption)
+ .option('--json', cli_shared_1.Text.show.services.cmd.jsonOption, false)
.shardOption()
- .action(async ({ service, environment, shard, watch }) => {
- ui.info(cli_shared_1.Text.show.services.overview);
+ .action(async ({ service, environment, shard, watch, json }) => {
+ if (!json) {
+ ui.info(cli_shared_1.Text.show.services.overview);
+ }
environment = (0, cli_shared_1.optionToEnvironment)(environment);
const serviceNames = service ? [service] : readServicesFromConfig(await configFile.readConfig());
const getServices = async () => {
const { services } = await containerCommand.getContainerServiceDetails(environment, serviceNames, shard);
@@ -73,13 +77,20 @@
});
}
else {
const services = await getServices();
- ui.table(headings, services, {
- preMessage: service
- ? cli_shared_1.Text.show.services.specificService(service, environment)
- : cli_shared_1.Text.show.services.allServices(environment)
- });
+ if (!json) {
+ ui.table(headings, services, {
+ preMessage: service
+ ? cli_shared_1.Text.show.services.specificService(service, environment)
+ : cli_shared_1.Text.show.services.allServices(environment)
+ });
+ }
+ else {
+ if (services) {
+ ui.info(JSON.stringify(services, null, 2));
+ }
+ }
}
ui.emptyLine();
});
};
@@ -91,11 +102,14 @@
.option('-s, --service <service>', cli_shared_1.Text.show.containers.cmd.serviceKeyOption)
.option('-c, --container [container]', cli_shared_1.Text.show.containers.cmd.containerKeyOption)
.requireAppId()
.environmentOption()
+ .option('--json', cli_shared_1.Text.show.containers.cmd.jsonOption, false)
.shardOption()
- .action(async ({ environment, service, container, shard }) => {
- ui.info(cli_shared_1.Text.show.containers.overview);
+ .action(async ({ environment, service, container, shard, json }) => {
+ if (!json) {
+ ui.info(cli_shared_1.Text.show.containers.overview);
+ }
environment = (0, cli_shared_1.optionToEnvironment)(environment);
if (!service) {
ui.emptyLine();
const serviceNames = readServicesFromConfig(await configFile.readConfig());
@@ -123,30 +137,35 @@
return;
}
containers = specifiedService.containers.filter((ct) => ct.key === container);
}
- for (const ct of containers) {
- if (!ct.instances || !ct.instances.length) {
- ui.info(cli_shared_1.Text.show.containers.noInstancesFoundForContainer(ct.key, service, environment));
+ if (json) {
+ ui.info(JSON.stringify(containers, null, 2));
+ }
+ else {
+ for (const ct of containers) {
+ if (!ct.instances || !ct.instances.length) {
+ ui.info(cli_shared_1.Text.show.containers.noInstancesFoundForContainer(ct.key, service, environment));
+ ui.emptyLine();
+ continue;
+ }
ui.emptyLine();
- continue;
+ ui.table([
+ ['id', 'ID'],
+ ['health', 'Health'],
+ ['status', 'Status'],
+ ['imageURI', 'ImageURI'],
+ ['createdAt', 'Created at']
+ ], ct.instances.map((c) => ({
+ id: c.id,
+ health: c.healthStatus,
+ status: c.containerStatus,
+ imageURI: c.imageURI,
+ createdAt: c.createdAt
+ })), { preMessage: cli_shared_1.Text.show.containers.specificContainer(ct.key) });
}
- ui.emptyLine();
- ui.table([
- ['id', 'ID'],
- ['health', 'Health'],
- ['status', 'Status'],
- ['imageURI', 'ImageURI'],
- ['createdAt', 'Created at']
- ], ct.instances.map((c) => ({
- id: c.id,
- health: c.healthStatus,
- status: c.containerStatus,
- imageURI: c.imageURI,
- createdAt: c.createdAt
- })), { preMessage: cli_shared_1.Text.show.containers.specificContainer(ct.key) });
- ui.emptyLine();
}
+ ui.emptyLine();
});
};
const SHOW_COMMAND_NAME = 'show';
const registerCommands = (deps) => {