horse-generator
Version:
horse generator for node framework
53 lines (47 loc) • 1.5 kB
JavaScript
/**
* Module dependencies
*/
var fs = require('fs');
var path = require('path');
var cliStyles = require('./cliStyles');
/**
* Create a directory if not defined
* @param {string} dirPath directory path parent
* @param {string} dirName directory name to find
* @param {function} cb callback
*/
function createDirIfIsNotDefined(dirPath, dirName, cb) {
if (!fs.existsSync(dirPath + '/' + dirName)){
fs.mkdirSync(dirPath + '/' + dirName);
console.info(cliStyles.cyan + '\tcreate' + cliStyles.reset + ': ' + dirPath + '/' + dirName);
}
cb && cb();
}
/**
* Write a file
* @param {string} path file path to write
* @param {string} contents file contents to write
* @param {int} mode write mode
* @param {function} cb callback
*/
function writeFile(path, contents, mode, cb) {
fs.writeFile(path, contents, {mode: mode || 0666, encoding: 'utf8'}, function (err) {
if (err) { throw err; }
console.info(cliStyles.cyan + '\tcreate' + cliStyles.reset + ': ' + path);
cb && cb();
});
}
/**
* Load a template
* @param {string} name template name
* @returns {string} template contents
*/
function loadTemplateSync(basePath,name) {
// return fs.readFileSync(path.join(__dirname, '..', 'templates/mcrp', name), 'utf8');
return fs.readFileSync(path.join(basePath, name), 'utf8');
}
module.exports = {
createDirIfIsNotDefined: createDirIfIsNotDefined,
writeFile: writeFile,
loadTemplateSync: loadTemplateSync
};