Negatory. Postpone Mission.
    Have ideas to improve npm?Join in the discussion! »

    eslint-plugin-unicorn

    29.0.0 • Public • Published

    eslint-plugin-unicorn 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-destructuring": "error",
    			"unicorn/consistent-function-scoping": "error",
    			"unicorn/custom-error-definition": "off",
    			"unicorn/empty-brace-spaces": "error",
    			"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": "off",
    			"unicorn/import-style": "error",
    			"unicorn/new-for-builtins": "error",
    			"unicorn/no-abusive-eslint-disable": "error",
    			"unicorn/no-array-callback-reference": "error",
    			"unicorn/no-array-for-each": "error",
    			"unicorn/no-array-push-push": "error",
    			"unicorn/no-array-reduce": "error",
    			"unicorn/no-console-spaces": "error",
    			"unicorn/no-for-loop": "error",
    			"unicorn/no-hex-escape": "error",
    			"unicorn/no-instanceof-array": "error",
    			"unicorn/no-keyword-prefix": "off",
    			"unicorn/no-lonely-if": "error",
    			"no-nested-ternary": "off",
    			"unicorn/no-nested-ternary": "error",
    			"unicorn/no-new-array": "error",
    			"unicorn/no-new-buffer": "error",
    			"unicorn/no-null": "error",
    			"unicorn/no-object-as-default-parameter": "error",
    			"unicorn/no-process-exit": "error",
    			"unicorn/no-static-only-class": "error",
    			"unicorn/no-this-assignment": "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-array-flat": "error",
    			"unicorn/prefer-array-flat-map": "error",
    			"unicorn/prefer-array-index-of": "error",
    			"unicorn/prefer-array-some": "error",
    			"unicorn/prefer-date-now": "error",
    			"unicorn/prefer-default-parameters": "error",
    			"unicorn/prefer-dom-node-append": "error",
    			"unicorn/prefer-dom-node-dataset": "error",
    			"unicorn/prefer-dom-node-remove": "error",
    			"unicorn/prefer-dom-node-text-content": "error",
    			"unicorn/prefer-includes": "error",
    			"unicorn/prefer-keyboard-event-key": "error",
    			"unicorn/prefer-math-trunc": "error",
    			"unicorn/prefer-modern-dom-apis": "error",
    			"unicorn/prefer-negative-index": "error",
    			"unicorn/prefer-number-properties": "error",
    			"unicorn/prefer-optional-catch-binding": "error",
    			"unicorn/prefer-query-selector": "error",
    			"unicorn/prefer-reflect-apply": "error",
    			"unicorn/prefer-regexp-test": "error",
    			"unicorn/prefer-set-has": "error",
    			"unicorn/prefer-spread": "error",
    			"unicorn/prefer-string-replace-all": "off",
    			"unicorn/prefer-string-slice": "error",
    			"unicorn/prefer-string-starts-ends-with": "error",
    			"unicorn/prefer-string-trim-start-end": "error",
    			"unicorn/prefer-ternary": "off",
    			"unicorn/prefer-type-error": "error",
    			"unicorn/prevent-abbreviations": "error",
    			"unicorn/string-content": "off",
    			"unicorn/throw-new-error": "error"
    		}
    	}
    }

    Rules

    Deprecated Rules

    See docs/deprecated-rules.md

    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

    624,670

    Version

    29.0.0

    License

    MIT

    Unpacked Size

    356 kB

    Total Files

    128

    Last publish

    Collaborators

    • avatar