JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8112
  • Score
    100M100P100Q125304F
  • License MIT

Measure projects complexity based on files sloc and commit count.

Package Exports

  • code-complexity

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (code-complexity) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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 projects complexity based on files sloc and commit count.
  
  Options:
    -l, --limit [limit]    Limit the number of files to output
    -d, --details          Show the number of commit and computed sloc
    -c, --commit           Show the number of commits
    -s, --sloc             Show the computed sloc
    -i, --since [since]    Limit the age of the commit analyzed
    -n, --no-first-parent  Do not use the git-log flag '--first-parent' when counting commits
    --sort [sort]          Sort results by commit, complexity, file or sloc
    --min [min]            Exclude results below <min>
    --max [max]            Exclude results above <max>
    --excludes <strings>   List of strings (comma separated) used in filenames to exclude
                           (executed after '--includes') (default: [])
    --includes <strings>   List of strings (comma separated) used in filenames to include
                           (executed before '--excludes') (default: [])
    -h, --help             display help for command
  
  Examples:
  
    $ code-complexity <dir>
    $ code-complexity <dir> --limit 3
    $ code-complexity <dir> --details
    $ code-complexity <dir> --min 10 --max 50
    $ code-complexity <dir> --sort complexity
    $ code-complexity <dir> --excludes lib,test
    $ code-complexity <dir> --includes users
    $ code-complexity <dir> --details --limit 10 --sort complexity --excludes test

Output

$ npx code-complexity . --details --sort complexity --limit 10 

test/code-complexity.test.ts 535 (commits: 5, sloc: 107)
src/cli.ts 402 (commits: 6, sloc: 67)
src/services/prepare-stdout.ts 348 (commits: 4, sloc: 87)
src/services/compute-complexity.ts 108 (commits: 4, sloc: 27)
src/services/count-commits-per-file.ts 83 (commits: 1, sloc: 83)
src/services/compute-complexity-per-file.ts 36 (commits: 1, sloc: 36)
.eslintrc.js 19 (commits: 1, sloc: 19)

Troubleshooting

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