UNPKG

cleverstack-cli

Version:
51 lines (42 loc) 1.51 kB
var path = require('path') , tcase = require('t-case') , i = require('i')(); /** * Returns the template path for a specific seed * * @param {Object} project Object returned from util.locations.get() * @param {String} name Name of the seed * @return {String} Path to the template * @api public */ exports.getTemplatePath = function(project, name) { return path.resolve([ __dirname, '..', '..', 'templates', project.name ].concat(name).join(path.sep)); }; /** * Returns module's path * * @param {Object} project Object returned from util.locations.get() * @param {String} name Name of the module * @return {String} Path to the module * @api public */ exports.getModulePath = function(project, name) { var n = name.split(path.sep) , moduleName = n.splice(-1)[ 0 ] , proj = project.useCWD === true ? process.cwd() : path.join(project.moduleDir, project.modulePath); return path.resolve([ proj ].concat(n.length > 0 ? n.join(path.sep) : [ ], moduleName).join(path.sep)); }; /** * Returns the correct filename from templates * * @param {String} templateName Template's file name * @param {String} name Module's name * @return {String} New file name * @api public */ exports.fileName = function(templateName, name) { name = templateName .replace('Template', tcase.classCase(i.singularize(name))) .replace('template', tcase.classCase(i.singularize(name))); return name; };