@zowe/imperative
Version:
framework for building configurable CLIs
80 lines • 3.48 kB
JavaScript
/*
* This program and the accompanying materials are made available under the terms of the
* Eclipse Public License v2.0 which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-v20.html
*
* SPDX-License-Identifier: EPL-2.0
*
* Copyright Contributors to the Zowe Project.
*
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigManagementFacility = void 0;
const UpdateImpConfig_1 = require("../UpdateImpConfig");
const logger_1 = require("../../../logger");
const list_definition_1 = require("./cmd/list/list.definition");
const init_definition_1 = require("./cmd/init/init.definition");
const schema_definition_1 = require("./cmd/schema/schema.definition");
const profiles_definition_1 = require("./cmd/profiles/profiles.definition");
const secure_definition_1 = require("./cmd/secure/secure.definition");
const set_definition_1 = require("./cmd/set/set.definition");
const edit_definition_1 = require("./cmd/edit/edit.definition");
const import_definition_1 = require("./cmd/import/import.definition");
const convert_profiles_definition_1 = require("./cmd/convert-profiles/convert-profiles.definition");
const Report_env_definition_1 = require("./cmd/report-env/Report-env.definition");
const update_schemas_definition_1 = require("./cmd/update-schemas/update-schemas.definition");
class ConfigManagementFacility {
constructor() {
/**
* Used for internal imperative logging.
*
* @private
* @type {Logger}
*/
this.impLogger = logger_1.Logger.getImperativeLogger();
}
/**
* Gets a single instance of the CMF. On the first call of
* ConfigManagementFacility.instance, a new CMF is initialized and returned.
* Every subsequent call will use the one that was first created.
*
* @returns {ConfigManagementFacility} - The newly initialized CMF object.
*/
static get instance() {
if (this.mInstance == null) {
this.mInstance = new ConfigManagementFacility();
}
return this.mInstance;
}
/**
* Initialize the CMF. Must be called to enable the various commands provided
* by the facility.
*/
init() {
this.impLogger.debug("ConfigManagementFacility.init() - Start");
// Add the config group and related commands.
UpdateImpConfig_1.UpdateImpConfig.addCmdGrp({
name: "config",
type: "group",
summary: "Manage JSON project and global configuration",
description: "Manage JSON project and global configuration.",
children: [
list_definition_1.listDefinition,
secure_definition_1.secureDefinition,
set_definition_1.setDefinition,
init_definition_1.initDefinition,
schema_definition_1.schemaDefinition,
profiles_definition_1.profilesDefinition,
edit_definition_1.editDefinition,
import_definition_1.importDefinition,
convert_profiles_definition_1.convertProfilesDefinition,
Report_env_definition_1.ReportEnvDefinition,
update_schemas_definition_1.updateSchemasDefinition
]
});
this.impLogger.debug("ConfigManagementFacility.init() - Success");
}
}
exports.ConfigManagementFacility = ConfigManagementFacility;
//# sourceMappingURL=ConfigManagementFacility.js.map
;