| OLD | NEW |
| 1 "use strict"; | 1 "use strict"; |
| 2 | 2 |
| 3 const fs = require('fs'); | 3 const fs = require('fs'); |
| 4 const path = require('path'); | 4 const path = require('path'); |
| 5 | 5 |
| 6 const utils = require('../utils'); | 6 const utils = require('../utils'); |
| 7 | 7 |
| 8 const FRONTEND_PATH = path.resolve(__dirname, '..', '..', 'front_end'); | 8 const FRONTEND_PATH = path.resolve(__dirname, '..', '..', 'front_end'); |
| 9 const OUT = path.resolve(__dirname, 'out', 'modules.js'); | 9 const OUT_DIR_PATH = path.resolve(__dirname, 'out'); |
| 10 const OUT_FILE_PATH = path.resolve(OUT_DIR_PATH, 'modules.js'); |
| 10 | 11 |
| 11 function main() { | 12 function main() { |
| 13 if (!utils.isDir(OUT_DIR_PATH)) |
| 14 fs.mkdirSync(OUT_DIR_PATH); |
| 12 const modules = new Set(); | 15 const modules = new Set(); |
| 13 const moduleToDependencyList = []; | 16 const moduleToDependencyList = []; |
| 14 fs.readdirSync(FRONTEND_PATH).forEach(function(file) { | 17 fs.readdirSync(FRONTEND_PATH).forEach(function(file) { |
| 15 const moduleJSONPath = path.join(FRONTEND_PATH, file, 'module.json'); | 18 const moduleJSONPath = path.join(FRONTEND_PATH, file, 'module.json'); |
| 16 if (fs.statSync(path.join(FRONTEND_PATH, file)).isDirectory() && | 19 if (fs.statSync(path.join(FRONTEND_PATH, file)).isDirectory() && |
| 17 utils.isFile(moduleJSONPath)) { | 20 utils.isFile(moduleJSONPath)) { |
| 18 const module = file; | 21 const module = file; |
| 19 modules.add(module); | 22 modules.add(module); |
| 20 const moduleJSON = require(moduleJSONPath); | 23 const moduleJSON = require(moduleJSONPath); |
| 21 if (moduleJSON.dependencies) { | 24 if (moduleJSON.dependencies) { |
| 22 for (let d of moduleJSON.dependencies) { | 25 for (let d of moduleJSON.dependencies) { |
| 23 moduleToDependencyList.push([module, d]); | 26 moduleToDependencyList.push([module, d]); |
| 24 } | 27 } |
| 25 } | 28 } |
| 26 } | 29 } |
| 27 }); | 30 }); |
| 28 const nodes = Array.from(modules); | 31 const nodes = Array.from(modules); |
| 29 fs.writeFileSync(OUT, `var modules = ${JSON.stringify(moduleToDependencyList)}
; var nodes = ${JSON.stringify(nodes)};`); | 32 fs.writeFileSync(OUT_FILE_PATH, `var modules = ${JSON.stringify(moduleToDepend
encyList)}; var nodes = ${JSON.stringify(nodes)};`); |
| 30 } | 33 } |
| 31 | 34 |
| 32 if (require.main === module) | 35 if (require.main === module) |
| 33 main(); | 36 main(); |
| OLD | NEW |