create-component-template
Version:
Generates react components from templates
97 lines (77 loc) • 2.56 kB
JavaScript
;
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _require = require('../utils/logger.js'),
logError = _require.logError;
var inquirer = require('inquirer');
var chalk = require('chalk');
var defaultArgs = require('../args/default');
/**
* @param {Object} options
* @returns Array
*/
var createQuestions = function createQuestions(options) {
var questions = [{
type: 'input',
name: 'componentName',
message: chalk.magenta('Please enter a component name'),
when: function when() {
return !options.componentName;
},
validate: function validate(compName) {
return compName ? true : 'must be longer than 0 characters';
}
}, {
type: 'input',
name: 'componentPath',
message: chalk.magenta('Please enter a folder path for the new component'),
when: function when() {
return !options.componentPath;
},
default: defaultArgs.componentPath
}];
return questions;
};
/**
* @param {Object} options
* @returns Object
*/
var promptUser = function () {
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(options) {
var questions, answers;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
questions = createQuestions(options);
answers = void 0;
_context.prev = 2;
_context.next = 5;
return inquirer.prompt(questions);
case 5:
answers = _context.sent;
_context.next = 11;
break;
case 8:
_context.prev = 8;
_context.t0 = _context['catch'](2);
logError(_context.t0);
case 11:
return _context.abrupt('return', (0, _extends3.default)({}, options, answers));
case 12:
case 'end':
return _context.stop();
}
}
}, _callee, undefined, [[2, 8]]);
}));
return function promptUser(_x) {
return _ref.apply(this, arguments);
};
}();
module.exports = promptUser;