upen521
v1.0.0
Published
Generate predefined module’s files with the help of command line. Same as yoman generator. (generating Modules, generating Controller, generating Routes, Generating Views etc).
Downloads
14
Readme
README
File Generator
Objective: Generate predefined module’s files with the help of command line. Same as yoman generator. (generating Modules, generating Controller, generating Routes, Generating Views etc).
Workflow:
- Prepare self executable file.
- Get command line parameters to proceed with that.
- Copy predefined Template
- Replace custom tags with user’s provided params and some predefined tags.
- Get the files in a array
- Open each file
- Read each file
- Find and replace the custom tags
- Save each file
Node modules used
- Fsnode
- Fs-extra
- Path
- Glob-all
- Async
- Readline (To get user inputs)
Commands to be executed
$ node gen <module_name> <options_if_any>
Options
========================================================================
Project Documentation
Filegen.js
shouldCopy()
FileGen.prototype.shouldCopy = function(cb) {
if(fs.existsSync(this.moduleName)){
console.log(this.moduleName+' is already exists.');
readline.question('Do you want to overwrite it ?? (Y / N):', function(answer){
readline.close();
answer = answer.toLowerCase();
var yes = ['y','yes'];
if(yes.indexOf(answer)!== -1){
return cb(true);
} else {
return cb(false);
}
});
} else{
readline.close();
return cb(true);
}
};This function search for the existence of given Module name. then :
- If module is not exists then it returns true as callback
- If module exists then it informs to the user and ask for overwrite
- if user replies with yes then it returns true as callback
- if user replies with no (any thing else, except - 'y', 'yes', 'Y', 'YES') then it returns false as callback
fs.existsSync()
fs.existsSync() does not use a callback.
Readline
readline.question(question, function(answer){
console.log(`Thank you for your valuable feedback: ${answer}`);
rl.close();
})It prints a question to console to reply from user.
============================================================
