UNPKG

@cuba-platform/front-generator

Version:
70 lines 2.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.componentOptionsConfig = exports.polymerElementOptionsConfig = exports.commonGenerationOptionsConfig = exports.pickOptions = exports.extractAvailableOptions = void 0; function extractAvailableOptions(optionsConfig) { if (!optionsConfig) { return []; } const result = []; Object.keys(optionsConfig).forEach(optionFullName => { const { type, alias, description } = optionsConfig[optionFullName]; if (alias) { const pattern = `-${alias}, --${optionFullName}${type === String ? ` [${optionFullName}]` : ''}`; description ? result.push({ pattern, description }) : result.push({ pattern }); } }); return result; } exports.extractAvailableOptions = extractAvailableOptions; function pickOptions(cmd, availableOptions) { const passedOptions = {}; if (availableOptions) { Object.keys(availableOptions).forEach(optionFullName => { if (cmd.hasOwnProperty(optionFullName)) { passedOptions[optionFullName] = cmd[optionFullName]; } }); } return passedOptions; } exports.pickOptions = pickOptions; /** * @alpha */ exports.commonGenerationOptionsConfig = { dest: { alias: 'd', description: 'destination directory', type: String }, model: { alias: 'm', description: 'specify path to project model, if given no interactive prompt will be invoked', type: String }, verbose: { alias: 'b', description: 'log out additional info about generation process', type: Boolean } }; exports.polymerElementOptionsConfig = Object.assign(Object.assign({}, exports.commonGenerationOptionsConfig), { dirShift: { alias: 's', description: 'directory shift for html imports e.g ../../', type: String }, answers: { alias: 'a', description: 'fulfilled params for generator to avoid interactive input in serialized JSON string', type: String } }); // Same as polymerElementOptionsConfig but with a neutral name. To be used in non-Polymer generators. exports.componentOptionsConfig = Object.assign(Object.assign({}, exports.commonGenerationOptionsConfig), { dirShift: { alias: 's', description: 'directory shift for html imports e.g ../../', type: String }, answers: { alias: 'a', description: 'fulfilled params for generator to avoid interactive input in serialized JSON string', type: String } }); //# sourceMappingURL=cli-options.js.map