JSPM

  • Created
  • Published
  • Downloads 5332637
  • Score
    100M100P100Q209008F
  • License MIT

Various awesome ESLint rules

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

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