UNPKG

ng-make

Version:

Easy tools for create project in AngularJS

57 lines (46 loc) 2.13 kB
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; }