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);
}
npm install run-eslint
const runEslint = require('run-eslint');
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](instead of throwing an Error
), it just print messages to the stdout instead of throwing an Error
.
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.
*/
ISC License © 2018 Shinnosuke Watanabe