@commercelayer/cli
Version:
59 lines (58 loc) • 2.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.printCurrent = void 0;
const core_1 = require("@oclif/core");
const config_1 = require("../../config");
const node_util_1 = require("node:util");
const common_1 = require("../../common");
const cli_core_1 = require("@commercelayer/cli-core");
class ApplicationsCurrent extends core_1.Command {
static description = 'show the current application';
static aliases = ['app:current'];
static examples = [
'$ commercelayer applications:current',
'$ commercelayer app:current --info'
];
static flags = {
info: core_1.Flags.boolean({
hidden: true,
exclusive: ['organization', 'live']
}),
json: core_1.Flags.boolean({
char: 'j',
description: 'show info in JSON format',
dependsOn: ['info']
})
};
async run() {
const { flags } = await this.parse(ApplicationsCurrent);
const stored = (0, config_1.currentApplication)();
if (stored) {
const info = (0, config_1.readConfigFile)(this.config, stored);
this.log();
this.log(`Current application: ${(0, exports.printCurrent)(info)}`);
this.log();
if (flags.info) {
this.log(cli_core_1.clColor.style.title('-= Application Info =-'));
this.log(flags.json ? JSON.stringify(info, null, 4) : (0, node_util_1.inspect)(info, false, null, true));
this.log();
}
}
else {
this.log();
this.warn(cli_core_1.clColor.italic('No current application defined'));
this.log();
}
}
}
exports.default = ApplicationsCurrent;
const printCurrent = (app) => {
if (!app?.key || (app.key === ''))
return cli_core_1.clColor.italic.dim('No current application');
const mode = `${((app.mode === 'live') ? cli_core_1.clColor.api.live.greenBright : cli_core_1.clColor.api.test)(app.mode)}`;
if (cli_core_1.clApplication.isProvisioningApp(app))
return `${cli_core_1.clColor.api.application(app.name)} [ ${app.kind} | ${mode} | ${app.alias} ]${app.scope?.length ? ` (Scope: ${(0, common_1.printScope)(app.scope)})` : ''}`;
else
return `${cli_core_1.clColor.api.application(app.name)} (${cli_core_1.clColor.api.slug(app.slug)}) [ ${app.organization} | ${app.kind} | ${mode} | ${app.alias} ]${app.scope?.length ? ` (Scope: ${(0, common_1.printScope)(app.scope)})` : ''}`;
};
exports.printCurrent = printCurrent;