Extra rules for Eslint
npm install eslint-plugin-more
Eslint is a very great tool and it already has tons of rules. Eslint allows us to reduce amount of time required for code review. But, of course, eslint cannot cover all the issues. So, we do in the following way, if during code review we see, that we comment on thing that is possible to check automatically, then we create new eslint rule.
Some of this rules will go to upstream after proving them in our codebase.
Install ESLint either locally or globally.
``sh`
$ npm install eslint
If you installed ESLint globally, you have to install this plugin globally too. Otherwise, install it locally.
`sh`
$ npm install eslint-plugin-more
Add plugins section and specify ESLint-plugin-more as a plugin.
`json`
{
"plugins": [
"more"
]
}
Finally, enable all of the rules that you would like to use. For example:
`json`
"rules": {
"more/no-void-map": 2,
"more/no-c-like-loops": 2,
"more/prefer-includes": 2,
"more/no-then": 2,
"more/no-window": 2,
"more/no-numeric-endings-for-variables": 2,
"more/no-filter-instead-of-find": 2,
"more/force-native-methods": 2,
"more/no-duplicated-chains": 2,
"more/classbody-starts-with-newline": [2, 'never'],
"more/no-hardcoded-password": 2,
"more/no-hardcoded-configuration-data": 2
}
global
* force-native-methods: - Forces the use of native methods instead of lodash/underscore
* no-filter-instead-of-find: - Prohibits using Array.prototype.filter to find one element and asks to use 'find' instead.
* no-numeric-endings-for-variables: - Prohibits the use of variables that end in numerics.
* no-duplicated-chains: - Prohibits the duplication of long chains like this.props.user.name`