UNPKG

7.6 kBJavaScriptView Raw
1/**
2module format
3{
4 "name":"angelo",
5 "description":"This is a try module",
6 "installcmd":"bower install angelo",
7 "usageName":"angelo",
8 "path":"bower_components/angelo/dist/script.js"
9}
10**/
11
12exports.loadModule = function(fs){
13 var ret = fs.existsSync("module.json");
14 if(ret){
15 return JSON.parse(fs.readFileSync('module.json', 'utf8'));
16 }else{
17 return ret;
18 }
19}
20
21exports.saveModule = function(fs,module,app){
22// console.log("./"+app+"/");
23 fs.open("./"+app+"/module.json",'w+',function(err,fd){
24 fs.write(fd,JSON.stringify(module));
25 })
26
27}
28
29exports.saveNewModule = function(fs,module){
30 fs.open("./module.json",'w+',function(err,fd){
31 fs.write(fd,JSON.stringify(module));
32 })
33}
34
35exports.insertNewModule = function(moduleData,module){
36
37 var newModule = {};
38 newModule = moduleData;
39 module[module.length]=moduleData;
40
41}
42//moduleManager.installModule(moduleManager,http,fs,config,indexGen);
43exports.installModule = function(moduleManager,http,fs,config,indexGen,moduleRepo,namePackage,shelljs,cssGen,states,stateManager){
44 var options = {
45 host: 'www.angelocarraggi.altervista.org',
46 port: 80,
47 path: '/ng-make/module.php'
48 };
49
50
51 http.get(options, function(res) {
52
53 //console.log("Got response: " + res.statusCode);
54 //console.log("response:\n"+res.response);
55 res.setEncoding('utf8');
56 res.on('data', function (chunk) {
57 var module = moduleManager.loadModule(fs);
58
59 moduleRepo=JSON.parse(chunk);
60 var repoData = {};
61 var i=0;
62 moduleRepo.forEach(function(val,id){
63 if(namePackage == val.name){
64 repoData = val;
65 i++;
66
67 }
68 });
69 var err=0;
70 module.forEach(function(val,id){
71 if(namePackage==val.name){
72 err=1;
73 }
74 });
75 if(err==1){
76 console.log("[ FAIL ] This module has been installed!");
77 process.exit();
78 }
79 if(i==0){
80 console.log('This package name doesn\'t exists view all package with: \'ng-make module list\'');
81 return 0;
82 }
83 var usageName = repoData.usage;
84 var installcmd = repoData.installcmd;
85 var arrCmd = installcmd.split(','); //FOR MORE COMMAND IN THE PACKAGE
86 arrCmd.forEach(function(val,id){
87 shelljs.exec(val);
88 })
89 //shelljs.exec(repoData.installcmd);
90 if(repoData.usageName=""){
91
92 }else{
93
94 console.log("usageName="+repoData.usage);
95 var arrUsageName = usageName.split(',');//FOR MORE USAGENAME IN THE PACKAGE
96 arrUsageName.forEach(function(val,id){
97 var file = fs.readFileSync('settings/app.js','utf8');
98 file = file.replace("//%Anchor",","+val+"\n//%Anchor");
99 fs.open('settings/app.js','w+',function(err,fd){
100 fs.write(fd,file);
101 })
102 })
103
104 }
105
106 var pathjs = repoData.pathjs;
107 var arrPathJS = pathjs.split(',');
108 arrPathJS.forEach(function(val,id){
109 indexGen.addingScriptDependency(config,val,fs);
110 })
111
112 var pathcss = repoData.pathcss;
113 var arrPathCSS = pathcss.split(',');
114 arrPathCSS.forEach(function(val,id){
115 indexGen.addingCSSDependency(val,fs);
116 })
117 var module = moduleManager.loadModule(fs);
118 module[module.length]=repoData;
119 moduleManager.saveNewModule(fs,module);
120 if(states==false){
121
122 }else{
123 if(repoData.usageCtrl!=""){
124 stateManager.updateControllerFile(repoData.usageCtrl,fs,states);
125 }
126 }
127 });
128 }).on('error', function(e) {
129 console.log("Got error: " + e.message);
130 });
131}
132
133exports.addModule = function(moduleData,config,fs,indexGen){
134
135 var file = fs.readFileSync('settings/app.js','utf8');
136 file = file.replace("//%Anchor",",'"+moduleData.usageName+"'\n//%Anchor");
137 fs.open('settings/app.js','w+',function(err,fd){
138 fs.write(fd,file);
139 })
140 //"use strict";
141 // accessing the module in another.
142 // this can be done by calling angular.module without the []-brackets
143 //angular.module('mymod')
144 fs.open('js/'+moduleData.name+".js",'w+',function(err,fd){
145 fs.write(fd, "'use strict';\nangular.module(\'"+moduleData.usageName+"\',[]);\n");
146 })
147
148 indexGen.addingScriptDependency(config,moduleData.path,fs);
149
150}
151
152exports.listModuleRepo = function(http,moduleRepo,cmdMan){
153 var options = {
154 host: 'www.angelocarraggi.altervista.org',
155 port: 80,
156 path: '/ng-make/module.php'
157 };
158
159
160 http.get(options, function(res) {
161
162 //console.log("Got response: " + res.statusCode);
163 //console.log("response:\n"+res.response);
164 res.setEncoding('utf8');
165 res.on('data', function (chunk) {
166
167 moduleRepo=JSON.parse(chunk);
168
169 cmdMan.printModulesRepository(moduleRepo);
170 });
171 }).on('error', function(e) {
172 console.log("Got error: " + e.message);
173 });
174}
175
176exports.listInstalled = function(moduleManager,fs){
177
178 console.log( "██╗███╗ ██╗███████╗████████╗ █████╗ ██╗ ██╗ ███████╗██████╗ ███╗ ███╗ ██████╗ ██████╗ ██╗ ██╗██╗ ███████╗");
179 console.log( "██║████╗ ██║██╔════╝╚══██╔══╝██╔══██╗██║ ██║ ██╔════╝██╔══██╗ ████╗ ████║██╔═══██╗██╔══██╗██║ ██║██║ ██╔════╝");
180 console.log( "██║██╔██╗ ██║███████╗ ██║ ███████║██║ ██║ █████╗ ██║ ██║ ██╔████╔██║██║ ██║██║ ██║██║ ██║██║ █████╗ ");
181 console.log( "██║██║╚██╗██║╚════██║ ██║ ██╔══██║██║ ██║ ██╔══╝ ██║ ██║ ██║╚██╔╝██║██║ ██║██║ ██║██║ ██║██║ ██╔══╝ ");
182 console.log( "██║██║ ╚████║███████║ ██║ ██║ ██║███████╗███████╗███████╗██████╔╝ ██║ ╚═╝ ██║╚██████╔╝██████╔╝╚██████╔╝███████╗███████╗");
183 console.log( "╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝");
184 console.log( " ");
185 var module = moduleManager.loadModule(fs);
186 module.forEach(function(val,id){
187 if(id!=0){
188 console.log(val.name);
189 }
190 })
191
192}
193
194/*exports.usingManual = function(http,moduleRepo){
195 var options = {
196 host: 'www.angelocarraggi.altervista.org',
197 port: 80,
198 path: '/ng-make/using.php'
199 };
200
201
202 http.get(options, function(res) {
203
204 //console.log("Got response: " + res.statusCode);
205 //console.log("response:\n"+res.response);
206 res.setEncoding('utf8');
207 res.on('data', function (chunk) {
208
209 moduleRepo=JSON.parse(chunk);
210 moduleRepo.forEach(function(val,id){
211
212 })
213 }
214 }
215
216}*/
\No newline at end of file