UNPKG

generator-sean

Version:
54 lines (41 loc) 1.54 kB
'use strict'; var util = require('util'), fs = require('fs'), yeoman = require('yeoman-generator'); var DirectiveGenerator = yeoman.generators.NamedBase.extend({ askForModuleName: function() { var modulesFolder = process.cwd() + '/public/modules/'; var done = this.async(); var prompts = [{ type: 'list', name: 'moduleName', default: 'core', message: 'Which module does this directive belongs to?', choices: [] }]; // Add module choices if (fs.existsSync(modulesFolder)) { fs.readdirSync(modulesFolder).forEach(function(folder) { var stat = fs.statSync(modulesFolder + '/' + folder); if (stat.isDirectory()) { prompts[0].choices.push({ value: folder, name: folder }); } }); } this.prompt(prompts, function(props) { this.moduleName = props.moduleName; this.slugifiedModuleName = this._.slugify(this.moduleName); this.slugifiedName = this._.slugify(this._.humanize(this.name)); this.camelizedName = this._.camelize(this.slugifiedName); this.humanizedName = this._.humanize(this.slugifiedName); done(); }.bind(this)); }, renderDirectiveFile: function() { this.template('_.client.directive.js', 'public/modules/' + this.slugifiedModuleName + '/directives/' + this.slugifiedName + '.client.directive.js') } }); module.exports = DirectiveGenerator;