Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(208)

Side by Side Diff: third_party/WebKit/Source/devtools/scripts/visualize_deps/generate_js.js

Issue 2629113003: DevTools: visualize dependencies using jquery.graphviz.svg (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698