Various awesome ESLint rules
You might want to check out XO, which includes this plugin.
$ npm install --save-dev eslint eslint-plugin-unicorn
Configure it in package.json.
{
"name": "my-awesome-project",
"eslintConfig": {
"env": {
"es6": true
},
"parserOptions": {
"ecmaVersion": 2017,
"sourceType": "module"
},
"plugins": [
"unicorn"
],
"rules": {
"unicorn/catch-error-name": ["error", {"name": "err"}],
"unicorn/explicit-length-check": "error",
"unicorn/filename-case": ["error", {"case": "kebabCase"}],
"unicorn/no-abusive-eslint-disable": "error",
"unicorn/no-process-exit": "error",
"unicorn/throw-new-error": "error",
"unicorn/number-literal-case": "error",
"unicorn/escape-case": "error",
"unicorn/no-array-instanceof": "error",
"unicorn/no-new-buffer": "error",
"unicorn/no-hex-escape": "error",
"unicorn/custom-error-definition": "error",
"unicorn/prefer-starts-ends-with": "error",
"unicorn/prefer-type-error": "error"
}
}
}- catch-error-name - Enforce a specific parameter name in catch clauses.
- explicit-length-check - Enforce explicitly comparing the
lengthproperty of a value. - filename-case - Enforce a case style for filenames.
- no-abusive-eslint-disable - Enforce specifying rules to disable in
eslint-disablecomments. - no-process-exit - Disallow
process.exit(). - throw-new-error - Require
newwhen throwing an error. (fixable) - number-literal-case - Enforce lowercase identifier and uppercase value for number literals. (fixable)
- escape-case - Require escape sequences to use uppercase values. (fixable)
- no-array-instanceof - Require
Array.isArray()instead ofinstanceof Array. (fixable) - no-new-buffer - Enforce the use of
Buffer.from()andBuffer.alloc()instead of the deprecatednew Buffer(). (fixable) - no-hex-escape - Enforce the use of unicode escapes instead of hexadecimal escapes. (fixable)
- custom-error-definition - Enforce correct
Errorsubclassing. (fixable) - prefer-starts-ends-with - Prefer
String#startsWith&String#endsWithover more complex alternatives. - prefer-type-error - Enforce throwing
TypeErrorin type checking conditions. (fixable)
This plugin exports a recommended config that enforces good practices.
Enable it in your package.json with the extends option:
{
"name": "my-awesome-project",
"eslintConfig": {
"plugins": [
"unicorn"
],
"extends": "plugin:unicorn/recommended"
}
}See the ESLint docs for more information about extending config files.
Note: This config will also enable the correct parser options and environment.
MIT © Sindre Sorhus
