generator-at-angular
Version:
Yeoman angular application generator thet uses Webpack, SASS, UI router, Karma and Jasmine for testing, and auto generated docs.
50 lines (45 loc) • 1.43 kB
JavaScript
const _ = require('lodash');
const chalk = require('chalk');
const prompts = require('../prompts.json');
function getDefaultProps() {
let defaults = {};
// get defaults from prompts.json
_.forIn(prompts, function(message) {
defaults[message.name] = message.name;
defaults[message.name] = message.default;
});
return defaults;
}
function getDreidevProps() {
let dreidevProps = getDefaultProps();
dreidevProps.bootstrapSass = false;
dreidevProps.appName = 'dreidevATApp';
return dreidevProps;
}
module.exports = function(AngularATGenerator) {
/*
* Ask all questions from prompts.json
* Add conditional tests on those depending on first responses
* Complete responses with null answers for questions not asked
*/
AngularATGenerator.prototype.askQuestions = function askQuestions() {
if (this.options.d || this.options.default) {
// calling default options
this.props = _.merge(this.props, getDefaultProps());
return;
} else if (this.options.dreidev) {
this.props = _.merge(this.props, getDreidevProps());
this.props.extraDeps = [{dependency: "at-flex-grid"}];
return;
} else {
let done = this.async();
// calling prompts async
this.prompt(prompts, function(props) {
this.props = _.merge(this.props, props);
// calling done to continue run loop
done();
}.bind(this));
}
};
};
;