typhonjs-escomplex

Next generation complexity reporting for Javascript & Typescript based on the Babel parser.


Keywords
typhonjs, escomplex, complexity, simplicity, cyclomatic, halstead, maintainability, dependencies, static, analysis, metrics, babylon, es6, es7, es8, es9, es10
License
MPL-2.0
Install
npm install typhonjs-escomplex@0.1.0

Documentation

typhonjs-escomplex

NPM Documentation Code Style License Gitter

Build Status Coverage Dependency Status

0.1.0 update: Please refer to this wiki page on report changes and other pertinent details when upgrading to 0.1.0.

Update: Please see issue#9 for a proposed roadmap for the next official major release of typhonjs-escomplex which is planned for fall '18 or thereabout.

typhonjs-escomplex provides next generation Javascript and Typescript complexity reports by utilizing babel parser w/ all plugins enabled to parse JS / TS source code feeding the rest of the AST / processing modules which are available separately. Please review the typhonjs-node-escomplex organization for all of the separate components which may be used independently if direct AST processing is required. typhonjs-escomplex simply provides a shim using babel parser to produce the AST.

Work is swiftly being finished.

More information forthcoming. This NPM module can be installed as a dependency in package.json as follows:

"dependencies": {
  "typhonjs-escomplex": "^0.1.0"
}

An ES6 example follows:

import escomplex from 'typhonjs-escomplex';

const source = <some JS source code>;

const report = escomplex.analyzeModule(source);

A CJS example follows:

var escomplex = require('typhonjs-escomplex');

var source = <some JS source code>;

var report = escomplex.analyzeModule(source);