UNPKG

@commercelayer/cli

Version:
59 lines (58 loc) 2.58 kB
"use strict"; 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;