@amplience/dc-cli
Version:
Dynamic Content CLI Tool
43 lines (42 loc) • 1.74 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.readConfig = void 0;
const yargs_1 = __importDefault(require("yargs/yargs"));
const yargs_command_builder_options_1 = __importDefault(require("./common/yargs/yargs-command-builder-options"));
const configure_1 = require("./commands/configure");
const error_handler_1 = __importDefault(require("./error-handler"));
const readConfig = (configFile) => {
return (0, configure_1.readConfigFile)(configFile, process.argv[2] === 'configure');
};
exports.readConfig = readConfig;
const configureYargs = (yargInstance) => {
return new Promise(async (resolve) => {
let failInvoked = false;
const isYError = (err) => err instanceof Error && err.name === 'YError';
const failFn = (msg, err) => {
if (failInvoked) {
return;
}
failInvoked = true;
if ((msg && !err) || isYError(err)) {
yargInstance.showHelp('error');
}
(0, error_handler_1.default)(err || msg);
};
const argv = await yargInstance
.scriptName('dc-cli')
.commandDir('./commands', yargs_command_builder_options_1.default)
.strict()
.demandCommand(1, 'Please specify at least one command')
.exitProcess(false)
.showHelpOnFail(false)
.fail(failFn).argv;
resolve(argv);
});
};
exports.default = async (yargInstance = (0, yargs_1.default)(process.argv.slice(2))) => {
return await configureYargs(yargInstance);
};