node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

eslint-plugin-unicorn

eslint-plugin-unicorn Build Status Coverage Status

Various awesome ESLint rules

You might want to check out XO, which includes this plugin.

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": 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",
            "unicorn/no-fn-reference-in-iterator": "error",
            "unicorn/import-index": "error",
            "unicorn/new-for-builtins": "error",
            "unicorn/regex-shorthand": "error"
        }
    }
}

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": {
        "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.

Created by

License

MIT © Sindre Sorhus