Skip to content

permafrost-dev/code-complexity

Repository files navigation

code-complexity

Measure projects complexity based on files sloc and commit count.

Build Status Coverage Status Style Status NPM Version

Usage

$ npx code-complexity <path-to-git-directory>

Help

 Usage: code-complexity <dir> [options] Measure the churn/complexity ratio. Higher values mean hotspots where refactorings should happen. Options: -V, --version output the version number --filter <strings> list of globs (comma separated) to filter -f, --format [format] format results using table or json -l, --limit [limit] limit the number of files to output -i, --since [since] limit the age of the commit analyzed -s, --sort [sort] sort results (allowed valued: ratio, churn, complexity or file) -h, --help display help for command Examples: $ code-complexity <dir> $ code-complexity <dir> --limit 3 $ code-complexity <dir> --sort ratio $ code-complexity <dir> --filter 'src/**','!src/front' $ code-complexity <dir> --limit 10 --sort ratio

Output

$ npx code-complexity . --sort=ratio --limit=3 ┌──────────────────────────────┬────────────┬───────┬───────┐ │ file │ complexity │ churn │ ratio │ ├──────────────────────────────┼────────────┼───────┼───────┤ │ src/cli.ts │ 103 │ 8 │ 824 │ ├──────────────────────────────┼────────────┼───────┼───────┤ │ test/code-complexity.test.ts │ 107 │ 7 │ 749 │ ├──────────────────────────────┼────────────┼───────┼───────┤ │ .idea/workspace.xml │ 123 │ 6 │ 738 │ └──────────────────────────────┴────────────┴───────┴───────┘

Troubleshooting

  • Error: stdout maxBuffer exceeded: use the flag --since to limit the number of commits to analyze.

About

Measure the churn/complexity ratio. Higher values mean hotspots where refactorings should happen.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 96.9%
  • JavaScript 3.1%