| 231 | }); |
| 232 | }, |
| 233 | generateGraph = repo => { |
| 234 | return new Promise(function(resolve, reject) { |
| 235 | var tsconfig = 'tsconfig.json'; |
| 236 | if (repo.tsconfig_file) { |
| 237 | tsconfig = repo.tsconfig_file; |
| 238 | } |
| 239 | |
| 240 | process.chdir(repo.name); |
| 241 | |
| 242 | exec( |
| 243 | 'ngd -p ' + repo.tsconfig_path + tsconfig + ' -t svg', |
| 244 | { |
| 245 | maxBuffer: 1000 * 1024 |
| 246 | }, |
| 247 | (error, stdout, stderr) => { |
| 248 | if (error) { |
| 249 | console.error(`ngd error: ${error}`); |
| 250 | process.chdir('../'); |
| 251 | if (repo.failedAccepted) { |
| 252 | resolve(stdout, stderr); |
| 253 | } else { |
| 254 | reject(stdout, stderr); |
| 255 | } |
| 256 | } else { |
| 257 | process.chdir('../'); |
| 258 | if (stdout.indexOf('done') !== -1) { |
| 259 | fs.copySync( |
| 260 | repo.name + '/documentation/dependencies.svg', |
| 261 | repo.name + '.svg' |
| 262 | ); |
| 263 | fs.removeSync(repo.name); |
| 264 | resolve(stdout, stderr); |
| 265 | } else { |
| 266 | if (repo.failedAccepted) { |
| 267 | resolve(stdout, stderr); |
| 268 | } else { |
| 269 | reject(stdout, stderr); |
| 270 | } |
| 271 | } |
| 272 | } |
| 273 | } |
| 274 | ); |
| 275 | }); |
| 276 | }, |
| 277 | printStat = function(stdout) { |
| 278 | let statsRaw = stdout.match(regStat), |
| 279 | stats, |