ng-make
Version:
Easy tools for create project in AngularJS
57 lines (46 loc) • 2.13 kB
JavaScript
exports.createDirective = function(fs,directive){
if(!fs.existsSync('./js/directive')){
fs.mkdirSync('./js/directive');
}
if(!fs.existsSync('./js/directive/'+directive.name)){
fs.mkdirSync('./js/directive/'+directive.name);
}else{
console.log("[ FAIL ] The factory with the name "+directive.name+" exists!\nThe creation is aborted");
process.exit();
}
if(!fs.existsSync("./js/directive/"+directive.name+"/"+directive.name+".js")){
//NON ESISTE!
fs.open("./js/directive/"+directive.name+"/"+directive.name+".js","w+",function(err,fd){
fs.write(fd,genDirectiveCode(directive));
})
fs.open("./js/directive/"+directive.name+"/"+directive.nameCtrl+".js","w+",function(err,fd){
fs.write(fd,"app\n.controller('"+directive.nameCtrl+"',function($scope)\n\t{\n\t})");
})
fs.open("./js/directive/"+directive.name+"/"+directive.name+".html","w+",function(err,fd){
fs.write(fd,"<!-- THIS HTML FILE IS THE CONTENT OF DIRECTIVE "+directive.name+" -->\n");
})
}
}
exports.addDirectiveToIndex = function(fs,directive){
var index = fs.readFileSync("./index.html",'utf8');
var newIndex = index.replace("</body>","<script type=\"text/javascript\" src=\"js/directive/"+directive.name+"/"+directive.nameCtrl+".js\"> </script>\n\t<script type=\"text/javascript\" src=\"js/directive/"+directive.name+"/"+directive.name+".js\"> </script>\n\t</body>");
fs.open("./index.html","w+",function(err,fd){
fs.write(fd,newIndex);
})
}
function genDirectiveCode(directive){
var directiveJS = "'use strict';\n";
directiveJS += "app\n";
directiveJS += "\t.directive('"+directive.name+"', function() {\n";
directiveJS += "\t\treturn {\n";
directiveJS += "\t\t\trestrict: 'E',\n";
directiveJS += "\t\t\ttransclude: true,\n";
directiveJS += "\t\t\tscope:{\n";
directiveJS += "\t\t\t\t//EXAMPLE: variableName:'=attrTagName'\n\n";
directiveJS += "\t\t\t},\n";
directiveJS += "\t\t\tcontroller:'"+directive.nameCtrl+"',\n";
directiveJS += "\t\t\ttemplateUrl:'js/directive/"+directive.name+"/"+directive.name+".html'\n";
directiveJS += "\t\t}\n";
directiveJS += "\t});\n";
return directiveJS;
}