Miss any of our Open RFC calls?Watch the recordings here! »

eslint-plugin-unicorn

23.0.0 • Public • Published

eslint-plugin-unicorn Build Status Coverage Status

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": 2021,
            "sourceType": "module"
        },
        "plugins": [
            "unicorn"
        ],
        "rules": {
            "unicorn/better-regex": "error",
            "unicorn/catch-error-name": "error",
            "unicorn/consistent-function-scoping": "error",
            "unicorn/custom-error-definition": "off",
            "unicorn/error-message": "error",
            "unicorn/escape-case": "error",
            "unicorn/expiring-todo-comments": "error",
            "unicorn/explicit-length-check": "error",
            "unicorn/filename-case": "error",
            "unicorn/import-index": "error",
            "unicorn/import-style": "error",
            "unicorn/new-for-builtins": "error",
            "unicorn/no-abusive-eslint-disable": "error",
            "unicorn/no-array-instanceof": "error",
            "unicorn/no-console-spaces": "error",
            "unicorn/no-fn-reference-in-iterator": "error",
            "unicorn/no-for-loop": "error",
            "unicorn/no-hex-escape": "error",
            "unicorn/no-keyword-prefix": "off",
            "no-nested-ternary": "off",
            "unicorn/no-nested-ternary": "error",
            "unicorn/no-new-buffer": "error",
            "unicorn/no-null": "error",
            "unicorn/no-object-as-default-parameter": "error",
            "unicorn/no-process-exit": "error",
            "unicorn/no-reduce": "error",
            "unicorn/no-unreadable-array-destructuring": "error",
            "unicorn/no-unsafe-regex": "off",
            "unicorn/no-unused-properties": "off",
            "unicorn/no-useless-undefined": "error",
            "unicorn/no-zero-fractions": "error",
            "unicorn/number-literal-case": "error",
            "unicorn/numeric-separators-style": "off",
            "unicorn/prefer-add-event-listener": "error",
            "unicorn/prefer-array-find": "error",
            "unicorn/prefer-dataset": "error",
            "unicorn/prefer-event-key": "error",
            "unicorn/prefer-flat-map": "error",
            "unicorn/prefer-includes": "error",
            "unicorn/prefer-math-trunc": "error",
            "unicorn/prefer-modern-dom-apis": "error",
            "unicorn/prefer-negative-index": "error",
            "unicorn/prefer-node-append": "error",
            "unicorn/prefer-node-remove": "error",
            "unicorn/prefer-number-properties": "error",
            "unicorn/prefer-optional-catch-binding": "error",
            "unicorn/prefer-query-selector": "error",
            "unicorn/prefer-reflect-apply": "error",
            "unicorn/prefer-replace-all": "off",
            "unicorn/prefer-set-has": "error",
            "unicorn/prefer-spread": "error",
            "unicorn/prefer-starts-ends-with": "error",
            "unicorn/prefer-string-slice": "error",
            "unicorn/prefer-ternary": "off",
            "unicorn/prefer-text-content": "error",
            "unicorn/prefer-trim-start-end": "error",
            "unicorn/prefer-type-error": "error",
            "unicorn/prevent-abbreviations": "error",
            "unicorn/string-content": "off",
            "unicorn/throw-new-error": "error"
        }
    }
}

Rules

Deprecated Rules

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

Former

Install

npm i eslint-plugin-unicorn

DownloadsWeekly Downloads

494,496

Version

23.0.0

License

MIT

Unpacked Size

253 kB

Total Files

95

Last publish

Collaborators

  • avatar