run-eslint

1.0.0 • Public • Published

run-eslint

npm version Build Status

Execute ESLint with a simplified API

const runEslint = require('run-eslint');
 
runEslint(['src/'], {
  fix: true,
  formatter: 'codeframe'
});

Without this module,

const {CLIEngine} = require('eslint');
 
const cli = new CLIEngine({fix: true});
const report = cli.executeOnFiles(['src/']);
const messages = cli.getFormatter('codeframe')(report.results);
 
CLIEngine.outputFixes(report);
 
if (report.errorCount !== 0) {
  throw new Error(messages);
}
 
if (report.warningCount !== 0) {
  console.log(messages);
}

Installation

Use npm.

npm install run-eslint

API

const runEslint = require('run-eslint');

runEslint(paths[, options])

paths: string[] (file and/or directory paths, directly passed to CLIEngine#executeOnFiles())
options: Object (CLIEngine options)
Return: Object (return value of CLIEngine#executeOnFiles())

It lints files, fixes problems when fix option is true, throws an error with the formatted messages.

runEslint(['some', 'invalid', 'files']);
/* throws an Error: ESLint found problems in 2 files.
 
/Users/shinnn/invalid/a.js
1:1  error  Parsing error: Unexpected token }
 
/Users/shinnn/files/b.js
1:1  error  'v' is not defined  no-undef
2:2  error  Missing semicolon   semi
 
✖ 3 problems (3 errors, 0 warnings)
1 error and 0 warnings potentially fixable with the `--fix` option.
`*/

When every problem is a warn level, it just print messages to the stdout instead of throwing an Error.

options.formatter

Type: string (a built-in formatter name or a path to a custom formatter) Default: same as the CLIEngine#getFormatter()'s default

Set the formatter used when reporting problems.

runEslint((['source.js'], {
  rules: {
    'no-console': 'warn'
  }
});
/*
/Users/shinnn/source.js
  1:1  warning  Unexpected console statement  no-console
 
✖ 1 problem (0 errors, 1 warning)
*/
 
runEslint((['source.js'], {
  rules: {
    'no-console': 'warn'
  },
  formatter: 'codeframe'
});
/*
warning: Unexpected console statement (no-console) at source.js:1:1:
> 1 | console.log(1);
    | ^
  2 |
 
 
1 warning found.
*/

License

ISC License © 2018 Shinnosuke Watanabe

Package Sidebar

Install

npm i run-eslint

Weekly Downloads

1

Version

1.0.0

License

ISC

Unpacked Size

9.08 kB

Total Files

4

Last publish

Collaborators

  • shinnn