UNPKG

eslintcc

Version:

ESLintCC is a ECMAScript/JavaScript tool that computes complexity of code by using ESLint

52 lines (46 loc) 1.3 kB
const { getProcessArgs } = require('./lib/args') const { Complexity } = require('./complexity') const { ReportLogger } = require('./lib/logging') const processArgs = getProcessArgs({ types: { rules: 'Array', format: 'Option', average: 'Flag', showRules: 'Flag', greaterThan: 'Option', lessThan: 'Option', noInlineConfig: 'Flag', maxRank: 'Option', maxAverageRank: 'Option' }, aliases: { rules: 'r', format: 'f', average: 'a', showRules: ['show-rules', 'sr'], greaterThan: ['greater-than', 'gt'], lessThan: ['less-than', 'lt'], noInlineConfig: ['no-inline-config', 'nlc'], maxRank: ['max-rank', 'mr'], maxAverageRank: ['max-average-rank', 'mar'] } }) if (processArgs.argv.length > 0) { const options = Object.assign({}, processArgs.flags, processArgs.options) const complexity = new Complexity(options) /* eslint-disable no-new */ new ReportLogger(complexity, options) complexity.lintFiles(processArgs.argv) .then(report => { const exitWithError = report.errors.maxRank > 0 || report.errors.maxAverageRank if (exitWithError) { process.exit(1) } }) .catch(error => { console.log(error) process.exit(1) }) } else { console.log(require('./lib/help')) }