... or not ...
eslint or jshint
plato [options] -d <output_dir> <input files> -h, --help Display this help text. -q, --quiet Reduce output to errors only -v, --version Print the version. -x, --exclude : String File exclusion regex -d, --dir : String *required* The output directory -r, --recurse Recursively search directories -l, --jshint : String Specify a jshintrc file for JSHint linting -e, --eslint : String Specify a eslintrc file for ESLint linting -t, --title : String Title of the report -D, --date : String Time to use as the report date (seconds, > 9999999999 assumed to be ms) -n, --noempty Skips empty lines from line count
plato -r -d report -l .jshintrc -t "My Awesome App" -x .json routes/*.js
https://dc414.org/wp-content/uploads/2011/01/RAW14252USEN.pdf
DOMinator https://github.com/wisec/DOMinator