Index: third_party/WebKit/Source/devtools/scripts/visualize_deps/generate_dot.js |
diff --git a/third_party/WebKit/Source/devtools/scripts/visualize_deps/generate_dot.js b/third_party/WebKit/Source/devtools/scripts/visualize_deps/generate_dot.js |
index b079f2180d9b79e3e771e9cbae478636f24b52aa..1448ef8be3698edb1ccaedd8290df8756742a513 100644 |
--- a/third_party/WebKit/Source/devtools/scripts/visualize_deps/generate_dot.js |
+++ b/third_party/WebKit/Source/devtools/scripts/visualize_deps/generate_dot.js |
@@ -15,13 +15,31 @@ const OUT = path.resolve(__dirname, 'out', 'dependencies.dot'); |
function main() { |
const modules = new Set(); |
chenwilliam
2017/01/11 19:03:33
const OUT_DIR = path.resolve(__dirname, 'out');
i
|
const moduleToDependencyList = ['digraph dependencies {']; |
+ moduleToDependencyList.push('fixedsize = true;') |
fs.readdirSync(FRONTEND_PATH).forEach(function(file) { |
const moduleJSONPath = path.join(FRONTEND_PATH, file, 'module.json'); |
if (fs.statSync(path.join(FRONTEND_PATH, file)).isDirectory() && |
utils.isFile(moduleJSONPath)) { |
const module = file; |
+ if (module === 'audits2_worker') |
+ return; |
modules.add(module); |
const moduleJSON = require(moduleJSONPath); |
+ let moduleSize = 0; |
+ |
+ let resources = (moduleJSON.scripts || []).concat((moduleJSON.resources || [])); |
+ for (let script of resources) { |
+ if (fs.existsSync(path.join(FRONTEND_PATH, module, script))) { |
+ console.log(path.join(FRONTEND_PATH, module, script)); |
+ moduleSize += fs.statSync(path.join(FRONTEND_PATH, module, script)).size; |
+ } |
+ } |
+ moduleSize /= 200000; |
+ moduleSize = Math.max(0.5, moduleSize); |
+ let fontSize = Math.max(moduleSize*14, 14); |
+ |
+ moduleToDependencyList.push(`${module} [width=${moduleSize}, height=${moduleSize} fontsize=${fontSize}];`); |
+ |
if (moduleJSON.dependencies) { |
for (let d of moduleJSON.dependencies) { |
moduleToDependencyList.push(` ${module} -> ${d}`); |