generator-martinlabs
Version:
Generates a fullstack CRUD using Java and Vue.js, check the features list
91 lines (80 loc) • 2.87 kB
JavaScript
var yosay = require('yosay');
module.exports = {
initial: function(main) {
var done = main.async();
main.log(yosay(
'Welcome to Martinlabs CRUD generator ;)'
));
var prompts = [{
type: 'input',
name: 'modulename',
message: 'Input the Module Name',
default: main.props.modulename || "crud"
},{
type: 'input',
name: 'user',
message: 'Input the Mysql User',
default: main.props.user
},{
type: 'password',
name: 'password',
message: 'Input the Mysql Password',
default: main.props.password
},{
type: 'input',
name: 'database',
message: 'Input the Database Name',
default: main.props.database
},{
type: 'input',
name: 'tables',
message: 'Input the Tables Names separated by comma (or "all tables") ',
default: main.props.tables ? main.props.tables : "all tables"
},{
type: 'input',
name: 'logintablename',
message: 'Input the Login Table Name',
default: main.props.logintablename
},{
type: 'input',
name: 'loginaccountcolumn',
message: 'Input the Login Account Column Name',
default: main.props.loginaccountcolumn
},{
type: 'input',
name: 'loginpasswordcolumn',
message: 'Input the Login Password Column Name',
default: main.props.loginpasswordcolumn
}];
main.prompt(prompts, function (props) {
main.props.modulename = props.modulename.replace(/[^a-z0-9]/gi,'').toLowerCase();
main.props.user = props.user;
main.props.password = props.password;
main.props.database = props.database;
main.props.tables = props.tables;
main.props.logintablename = props.logintablename;
main.props.loginaccountcolumn = props.loginaccountcolumn;
main.props.loginpasswordcolumn = props.loginpasswordcolumn;
done();
});
},
pomMissingInfo: function(main) {
if (!main.props.package || !main.props.projectName) {
var done = main.async();
var prompts = [{
type: 'input',
name: 'projectName',
message: 'Input the Project Name'
},{
type: 'input',
name: 'package',
message: 'Input the Package'
}];
main.prompt(prompts, function (props) {
main.props.package = props.package;
main.props.projectName = props.projectName;
done();
});
}
}
};