code-complexity
Advanced tools
Weekly downloads
Readme
Measure the churn/complexity score. Higher scores reveal hotspots where refactorings should happen.
Quoting Michael Feathers (source here):
Often when we refactor, we look at local areas of code. If we take a wider view, using information from our version control systems, we can get a better sense of the effects of our refactoring efforts.
Note: code-complexity
currently measures complexity using either:
$ npx code-complexity <path-to-git-directory or URL> [options]
Usage: code-complexity <target> [options]
Measure the churn/complexity score. Higher values mean hotspots where refactorings should happen.
Options:
-V, --version output the version number
--filter <strings> list of globs (comma separated) to filter
-cs, --complexity-strategy [strategy] choose the complexity strategy to analyze your codebase with (allowed values: sloc, cyclomatic, halstead).
-f, --format [format] format results using table, json or csv
-l, --limit [limit] limit the number of files to output
-i, --since [since] limit analysis to commits more recent in age than date
-u, --until [until] limit analysis to commits older in age than date
-s, --sort [sort] sort results (allowed valued: score, churn, complexity or file)
-d, --directories display values for directories instead of files
-h, --help display help for command
Examples:
$ code-complexity .
$ code-complexity https://github.com/simonrenoult/code-complexity
$ code-complexity foo --limit 3
$ code-complexity ../foo --sort score
$ code-complexity /foo/bar --filter 'src/**,!src/front/**'
$ code-complexity . --limit 10 --sort score
$ code-complexity . --limit 10 --directories
$ code-complexity . --limit 10 --sort score -cs halstead
$ code-complexity . --since=2021-06-01 --limit 100
$ code-complexity . --since=2021-04-01 --until=2021-07-01
$ npx code-complexity https://github.com/simonrenoult/code-complexity --sort=score --limit=3
┌──────────────────────────────┬────────────┬───────┬───────┐
│ file │ complexity │ churn │ score │
├──────────────────────────────┼────────────┼───────┼───────┤
│ src/cli.ts │ 103 │ 8 │ 824 │
├──────────────────────────────┼────────────┼───────┼───────┤
│ test/code-complexity.test.ts │ 107 │ 7 │ 749 │
├──────────────────────────────┼────────────┼───────┼───────┤
│ .idea/workspace.xml │ 123 │ 6 │ 738 │
└──────────────────────────────┴────────────┴───────┴───────┘
A special thanks to a few contributors that helped me make code-complexity
better.
ENOBUFS
(and apologies for stealing your code).FAQs
Measure the churn/complexity score. Higher values mean hotspots where refactorings should happen.
The npm package code-complexity receives a total of 588 weekly downloads. As such, code-complexity popularity was classified as not popular.
We found that code-complexity demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.