code-complexity
    TypeScript icon, indicating that this package has built-in type declarations

    4.1.0 • Public • Published

    code-complexity

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

    Build Status Coverage Status Style Status NPM Version

    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 lines of code count. While imperfect, this measure gives a good enough idea of what's going on.

    Usage

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

    Help

        Usage: code-complexity <dir> [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
          -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: score,
                                 churn, complexity or file)
          -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
    

    Output

    $ 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   │
    └──────────────────────────────┴────────────┴───────┴───────┘

    Troubleshooting

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

    Install

    npm i code-complexity

    DownloadsWeekly Downloads

    84

    Version

    4.1.0

    License

    MIT

    Unpacked Size

    271 kB

    Total Files

    55

    Last publish

    Collaborators

    • simonrenoult