Total Complexity | 9 |
Complexity/F | 2.25 |
Lines of Code | 44 |
Function Count | 4 |
Duplicated Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | var _ = require('lodash'); |
||
2 | var fs = require('fs'); |
||
3 | var exec = require("child_process").exec; |
||
4 | |||
5 | var exclude = ['browserify']; |
||
6 | |||
7 | exec("browserify " + __dirname + "/../main.js --list", function(err, stdout, stderr) { |
||
|
|||
8 | var files = stdout.split("\n"); |
||
9 | |||
10 | var moduleSizes = {}; |
||
11 | |||
12 | files.filter(function(f) { return !!f; }).forEach(function(file) { |
||
13 | var modules = file.match(/node_modules\/(.+?)\//g); |
||
14 | |||
15 | if (modules) { |
||
16 | var module = null; |
||
17 | modules.forEach(function(_module, i) { |
||
18 | if (module) { |
||
19 | return; |
||
20 | } |
||
21 | |||
22 | _module = _module.substr(13, _module.length - 14); |
||
23 | |||
24 | if (exclude.indexOf(_module) === -1 || i === modules.length - 1) { |
||
25 | module = _module; |
||
26 | } |
||
27 | }); |
||
28 | } else { |
||
29 | module = "self"; |
||
30 | } |
||
31 | |||
32 | if (!moduleSizes[module]) { |
||
33 | moduleSizes[module] = { |
||
34 | module: module, |
||
35 | size: 0 |
||
36 | } |
||
37 | } |
||
38 | |||
39 | moduleSizes[module]['size'] += fs.statSync(file)['size']; |
||
40 | }); |
||
41 | |||
42 | |||
43 | console.log(_.sortBy(moduleSizes, 'size')); |
||
44 | }); |
||
45 |
This check looks for parameters in functions that are not used in the function body and are not followed by other parameters which are used inside the function.