UNPKG

@tableau/taco-toolkit

Version:
60 lines 4.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addLoggingOptions = exports.createCommand = exports.OPTION_ACCEPT_EULA = void 0; var commander_1 = require("commander"); var logging_1 = require("./utils/logging"); var toolkit_paths_1 = require("./utils/toolkit-paths"); exports.OPTION_ACCEPT_EULA = '--accept-eula'; function createCommand(name, description, config) { var program = new commander_1.Command(name) .description(description) .configureHelp({ sortOptions: true, }) .exitOverride(); var loggingOptions = config.loggingOptions, withCommonOptions = config.withCommonOptions, handler = config.handler, setup = config.setup; // add the argument and options in the setup stage if (setup) { setup(program); } addCommonOptions(program, withCommonOptions); addLoggingOptions(program, loggingOptions); // register handlers program.action(function () { if (loggingOptions) { var loggerConfig = createLoggerConfig(program, loggingOptions); (0, logging_1.initLogger)(loggerConfig); } handler(program); }); return program; } exports.createCommand = createCommand; function createLoggerConfig(program, loggingOptions) { var options = program.optsWithGlobals(); var verbose = options.verbose; if (loggingOptions.verbose) { return { verbose: verbose, }; } return {}; } function addLoggingOptions(program, loggingOptions) { if (loggingOptions === undefined) { return program; } var verbose = loggingOptions.verbose; if (verbose) { program.option('-v, --verbose', 'run this command in verbose mode', false); } return program; } exports.addLoggingOptions = addLoggingOptions; function addCommonOptions(program, withCommonOptions) { if (withCommonOptions === false) { return program; } return program.option('--accept-eula', "accept the taco-toolkit end-user license agreement (EULA). The EULA is available in the following location: ".concat(toolkit_paths_1.LICENSE_FILE_PATH)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvdGFjby1jb21tYW5kcy9jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFtQztBQUVuQywyQ0FBK0Q7QUFDL0QsdURBQXlEO0FBRTVDLFFBQUEsa0JBQWtCLEdBQUcsZUFBZSxDQUFBO0FBbUJqRCxTQUFnQixhQUFhLENBQUMsSUFBWSxFQUFFLFdBQW1CLEVBQUUsTUFBcUI7SUFDcEYsSUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBTyxDQUFDLElBQUksQ0FBQztTQUM5QixXQUFXLENBQUMsV0FBVyxDQUFDO1NBQ3hCLGFBQWEsQ0FBQztRQUNiLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxZQUFZLEVBQUUsQ0FBQTtJQUVULElBQUEsY0FBYyxHQUF3QyxNQUFNLGVBQTlDLEVBQUUsaUJBQWlCLEdBQXFCLE1BQU0sa0JBQTNCLEVBQUUsT0FBTyxHQUFZLE1BQU0sUUFBbEIsRUFBRSxLQUFLLEdBQUssTUFBTSxNQUFYLENBQVc7SUFFcEUsa0RBQWtEO0lBQ2xELElBQUksS0FBSyxFQUFFO1FBQ1QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQ2Y7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUM1QyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFFMUMsb0JBQW9CO0lBQ3BCLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDYixJQUFJLGNBQWMsRUFBRTtZQUNsQixJQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUE7WUFDaEUsSUFBQSxvQkFBVSxFQUFDLFlBQVksQ0FBQyxDQUFBO1NBQ3pCO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xCLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQTdCRCxzQ0E2QkM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE9BQWdCLEVBQUUsY0FBOEI7SUFDMUUsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFBO0lBQ2pDLElBQUEsT0FBTyxHQUFLLE9BQU8sUUFBWixDQUFZO0lBRTNCLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRTtRQUMxQixPQUFPO1lBQ0wsT0FBTyxTQUFBO1NBQ1IsQ0FBQTtLQUNGO0lBRUQsT0FBTyxFQUFFLENBQUE7QUFDWCxDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsT0FBZ0IsRUFBRSxjQUEwQztJQUM1RixJQUFJLGNBQWMsS0FBSyxTQUFTLEVBQUU7UUFDaEMsT0FBTyxPQUFPLENBQUE7S0FDZjtJQUVPLElBQUEsT0FBTyxHQUFLLGNBQWMsUUFBbkIsQ0FBbUI7SUFDbEMsSUFBSSxPQUFPLEVBQUU7UUFDWCxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQTtLQUMzRTtJQUNELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUM7QUFWRCw4Q0FVQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsT0FBZ0IsRUFBRSxpQkFBMEI7SUFDcEUsSUFBSSxpQkFBaUIsS0FBSyxLQUFLLEVBQUU7UUFDL0IsT0FBTyxPQUFPLENBQUE7S0FDZjtJQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FDbkIsZUFBZSxFQUNmLHNIQUErRyxpQ0FBaUIsQ0FBRSxDQUNuSSxDQUFBO0FBQ0gsQ0FBQyJ9