Package Exports
- eslint-plugin-unicorn
- eslint-plugin-unicorn/package.json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eslint-plugin-unicorn) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
eslint-plugin-unicorn


Various awesome ESLint rules
You might want to check out XO, which includes this plugin.
Propose or contribute a new rule ➡
Install
$ npm install --save-dev eslint eslint-plugin-unicorn
Usage
Configure it in package.json
.
{
"name": "my-awesome-project",
"eslintConfig": {
"env": {
"es6": true
},
"parserOptions": {
"ecmaVersion": 2019,
"sourceType": "module"
},
"plugins": [
"unicorn"
],
"rules": {
"unicorn/catch-error-name": [
"error",
{
"name": "error"
}
],
"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": "off",
"unicorn/prefer-starts-ends-with": "error",
"unicorn/prefer-type-error": "error",
"unicorn/no-fn-reference-in-iterator": "off",
"unicorn/import-index": "error",
"unicorn/new-for-builtins": "error",
"unicorn/regex-shorthand": "error",
"unicorn/prefer-spread": "error",
"unicorn/error-message": "error",
"unicorn/no-unsafe-regex": "off",
"unicorn/prefer-add-event-listener": "error",
"unicorn/no-console-spaces": "error",
"unicorn/no-unreadable-array-destructuring": "error",
"unicorn/no-unused-properties": "off",
"unicorn/prefer-node-append": "error",
"unicorn/prefer-query-selector": "error"
}
}
}
Rules
- catch-error-name - Enforce a specific parameter name in catch clauses.
- explicit-length-check - Enforce explicitly comparing the
length
property of a value. (partly fixable) - filename-case - Enforce a case style for filenames.
- no-abusive-eslint-disable - Enforce specifying rules to disable in
eslint-disable
comments. - no-process-exit - Disallow
process.exit()
. - throw-new-error - Require
new
when 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
Error
subclassing. (fixable) - prefer-starts-ends-with - Prefer
String#startsWith
&String#endsWith
over more complex alternatives. - prefer-type-error - Enforce throwing
TypeError
in type checking conditions. (fixable) - no-fn-reference-in-iterator - Prevents passing a function reference directly to iterator methods. (fixable)
- import-index - Enforce importing index files with
.
. (fixable) - new-for-builtins - Enforce the use of
new
for all builtins, exceptString
,Number
andBoolean
. (fixable) - regex-shorthand - Enforce the use of regex shorthands to improve readability. (fixable)
- prefer-spread - Prefer the spread operator over
Array.from()
. (fixable) - error-message - Enforce passing a
message
value when throwing a built-in error. - no-unsafe-regex - Disallow unsafe regular expressions.
- prefer-add-event-listener - Prefer
addEventListener
overon
-functions. (fixable) - prefer-exponentiation-operator - Prefer the exponentiation operator over
Math.pow()
(fixable) - no-console-spaces - Do not use leading/trailing space between
console.log
parameters. (fixable) - no-unreadable-array-destructuring - Disallow unreadable array destructuring.
- no-unused-properties - Disallow unused object properties.
- prefer-node-append - Prefer
append
overappendChild
. (fixable) - prefer-query-selector - Prefer
querySelector
overgetElementById
,querySelectorAll
overgetElementsByClassName
andgetElementsByTagName
. (partly fixable)
Recommended config
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": {
"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.
Maintainers
License
MIT