eslint-engine
v0.3.0
Published
Check JavaScript syntax using eslint
Downloads
33
Maintainers
Readme
eslint-engine
Check JavaScript syntax using eslint conveniently in your project
eslint-engine is a streamlined way to use eslint in your project. Just type eslint-check
and you're done.
Usage
Install it:
npm install -g eslint-engine
Then in your project, install eslint
as a devDependency and create an .eslintrc
. Or use one of these presets to help you out:
# pick one
eslint-install standard
eslint-install airbnb
eslint-install xo
eslint-install --help # view all
Now run a check:
$ eslint-check
index.js:53:11: Expected indentation of 8 space characters but found 10. (indent)
index.js:57:39: Trailing spaces not allowed. (no-trailing-spaces)
index.js:59:48: There should be no space before ','. (comma-spacing)
Features
Convenient: eslint-engine checks all the JS files in your project while ignoring some common ignorables. It can also be ran as a global command, unlike eslint.
# with eslint-engine eslint-check # with eslint ./node_modules/.bin/eslint '**/*.js' --ignore-pattern='node_modules'
Easy to install: presets for popular eslint configs can be installed easily.
# with eslint-engine eslint-install standard # with eslint echo "{ extends: ['standard', 'standard-jsx'] }" > .eslintrc npm install --save eslint eslint-config-standard ... #snip ./node_modules/.bin/eslint ... #snip
Test runner integrations: eslint-engine can integrate with tape, ava, and mocha to provide you with fast linting as part of your test suite.
Config
eslint.ignore
— You can add ignores via package.json.
/* package.json */
{
"eslint": {
"ignore": "lib/xyz"
}
}
eslint.include
— You can add additional files as well.
/* package.json */
{
"eslint": {
"include": "bin/*"
}
}
Alternative usage
via Tape/Ava
Add this test file to your tape or ava suite:
test('eslint', require('eslint-engine/tape')())
via Mocha
Add this test file to your mocha suite:
describe('eslint', require('eslint-engine/mocha')())
via API
Access the programmatic API this way:
var eslint = require('eslint-engine')
eslint(options, (err, res) => {
res.errorCount
res.results.forEach(item => {
item.filePath
item.messages.forEach(msg => {
msg.line
msg.column
msg.message
msg.ruleId
})
})
})
Thanks
eslint-engine © 2016+, Rico Sta. Cruz. Released under the MIT License. Authored and maintained by Rico Sta. Cruz with help from contributors (list).
ricostacruz.com · GitHub @rstacruz · Twitter @rstacruz