Programmer errors & best practices: standard
Style issues: prettier
Note: configs can export plugins as well!
npm i -D eslint
- Pluggable linting utility
npm i -D eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node
{
"extends": ["standard"]
}
Note standard also exports:
{
"env": {
"es6": true,
"node": true
}
}
npm i -D prettier eslint-plugin-prettier eslint-config-prettier
eslint-config-prettier
- ESLint rules that are unnecessary or that will conflictprettier
(e.g.:comma-dangle
,space-before-function-paren
)eslint-plugin-prettier
- ESLint plugin that will run prettier when you run eslint
{
"extends": ["plugin:prettier/recommended"]
}
npm i -D eslint-plugin-ava
{
"extends": ["plugin:ava/recommended"]
}
npm i -D babel-eslint
{
"parser": "babel-eslint"
}
npm i -D husky lint-staged
npm run lint
{
"lint": "eslint src test && documentation lint src test",
}
Lint on commit:
{
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"linters": {
"*.js": [
"eslint --fix",
"documentation lint",
"git add"
]
}
}
}
Install dbaeumer.vscode-eslint
In settings.json:
{
"eslint.autoFixOnSave": true
}