Solidity Code Metrics
npm install solidity-code-metrics
The number-crunching enginge behind
Example
CLI
To use the CLI from the compiled sources you can do:
node ./src/cli.js <path to solidity file(s)>
It is however more useful to install solidity-metrics globally and call it from any directory:
npm install -g solidity-code-metrics
solidity-code-metrics myfile1.sol myfile2.sol
By default, the cli outputs to the console, you can however store the output in a file rather easily (both markdown and html are supported):
solidity-code-metrics myfile.sol > metrics.md
solidity-code-metrics myfile.sol --html > metrics.html
Library
const {SolidityMetricsContainer} = require('solidity-metrics');
let options = {
basePath:"",
inputFileGlobExclusions:undefined,
inputFileGlob: undefined,
inputFileGlobLimit: undefined,
debug:false,
repoInfo: {
branch: undefined,
commit: undefined,
remote: undefined
}
}
let metrics = new SolidityMetricsContainer("metricsContainerName", options);
// analyze files
metrics.analyze(path_to_solidity_file);
// ...
metrics.analyze(path_to_solidity_file_N);
// output
console.log(metrics.totals());
metrics.generateReportMarkdown().then(text => console.log(text));
// or let text = await metrics.generateReportMarkdown();