1682 lines
51 KiB
JavaScript
1682 lines
51 KiB
JavaScript
/**
|
|
* @type {import('eslint').Linter.RulesRecord}
|
|
*/
|
|
module.exports = {
|
|
rules: {
|
|
/*
|
|
* Possible Problems
|
|
* These rules relate to possible logic errors in code
|
|
*/
|
|
|
|
/**
|
|
* @description Enforce return statements in callbacks of array methods
|
|
* @link https://eslint.org/docs/latest/rules/array-callback-return
|
|
*/
|
|
'array-callback-return': 'error',
|
|
|
|
/**
|
|
* @description Require `super()` calls in constructors
|
|
* @link https://eslint.org/docs/latest/rules/constructor-super
|
|
*/
|
|
'constructor-super': 'error',
|
|
|
|
/**
|
|
* @description Enforce \"for\" loop update clause moving the counter in the right direction.
|
|
* @link https://eslint.org/docs/latest/rules/for-direction
|
|
*/
|
|
'for-direction': 'error',
|
|
|
|
/**
|
|
* @description Enforce `return` statements in getters
|
|
* @link https://eslint.org/docs/latest/rules/getter-return
|
|
*/
|
|
'getter-return': 'error',
|
|
|
|
/**
|
|
* @description Disallow using an async function as a Promise executor
|
|
* @link https://eslint.org/docs/latest/rules/no-async-promise-executor
|
|
*/
|
|
'no-async-promise-executor': 'error',
|
|
|
|
/**
|
|
* @description Disallow `await` inside of loops
|
|
* @link https://eslint.org/docs/latest/rules/no-await-in-loop
|
|
*/
|
|
'no-await-in-loop': 'error',
|
|
|
|
/**
|
|
* @description Disallow reassigning class members
|
|
* @link https://eslint.org/docs/latest/rules/no-class-assign
|
|
*/
|
|
'no-class-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow comparing against -0
|
|
* @link https://eslint.org/docs/latest/rules/no-compare-neg-zero
|
|
*/
|
|
'no-compare-neg-zero': 'error',
|
|
|
|
/**
|
|
* @description Disallow assignment operators in conditional expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-cond-assign
|
|
*/
|
|
'no-cond-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow reassigning `const` variables
|
|
* @link https://eslint.org/docs/latest/rules/no-const-assign
|
|
*/
|
|
'no-const-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow expressions where the operation doesn't affect the value
|
|
* @link https://eslint.org/docs/latest/rules/no-constant-binary-expression
|
|
*/
|
|
'no-constant-binary-expression': 'error',
|
|
|
|
/**
|
|
* @description Disallow constant expressions in conditions
|
|
* @link https://eslint.org/docs/latest/rules/no-constant-condition
|
|
*/
|
|
'no-constant-condition': 'error',
|
|
|
|
/**
|
|
* @description Disallow returning value from constructor
|
|
* @link https://eslint.org/docs/latest/rules/no-constructor-return
|
|
*/
|
|
'no-constructor-return': 'error',
|
|
|
|
/**
|
|
* @description Disallow control characters in regular expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-control-regex
|
|
*/
|
|
'no-control-regex': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of `debugger`
|
|
* @link https://eslint.org/docs/latest/rules/no-debugger
|
|
*/
|
|
'no-debugger': 'error',
|
|
|
|
/**
|
|
* @description Disallow duplicate arguments in `function` definitions
|
|
* @link https://eslint.org/docs/latest/rules/no-dupe-args
|
|
*/
|
|
'no-dupe-args': 'error',
|
|
|
|
/**
|
|
* @description Disallow duplicate class members
|
|
* @link https://eslint.org/docs/latest/rules/no-dupe-class-members
|
|
*/
|
|
'no-dupe-class-members': 'error',
|
|
|
|
/**
|
|
* @description Disallow duplicate conditions in if-else-if chains
|
|
* @link https://eslint.org/docs/latest/rules/no-dupe-else-if
|
|
*/
|
|
'no-dupe-else-if': 'error',
|
|
|
|
/**
|
|
* @description Disallow duplicate keys in object literals
|
|
* @link https://eslint.org/docs/latest/rules/no-dupe-keys
|
|
*/
|
|
'no-dupe-keys': 'error',
|
|
|
|
/**
|
|
* @description Disallow duplicate case labels
|
|
* @link https://eslint.org/docs/latest/rules/no-duplicate-case
|
|
*/
|
|
'no-duplicate-case': 'error',
|
|
|
|
/**
|
|
* @description Disallow duplicate module imports
|
|
* @link https://eslint.org/docs/latest/rules/no-duplicate-imports
|
|
*/
|
|
'no-duplicate-imports': 'off',
|
|
|
|
/**
|
|
* @description Disallow empty character classes in regular expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-empty-character-class
|
|
*/
|
|
'no-empty-character-class': 'error',
|
|
|
|
/**
|
|
* @description Disallow empty destructuring patterns
|
|
* @link https://eslint.org/docs/latest/rules/no-empty-pattern
|
|
*/
|
|
'no-empty-pattern': 'error',
|
|
|
|
/**
|
|
* @description Disallow reassigning exceptions in `catch` clauses
|
|
* @link https://eslint.org/docs/latest/rules/no-ex-assign
|
|
*/
|
|
'no-ex-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow fallthrough of `case` statements
|
|
* @link https://eslint.org/docs/latest/rules/no-fallthrough
|
|
*/
|
|
'no-fallthrough': 'error',
|
|
|
|
/**
|
|
* @description Disallow reassigning `function` declarations
|
|
* @link https://eslint.org/docs/latest/rules/no-func-assign
|
|
*/
|
|
'no-func-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow assigning to imported bindings
|
|
* @link https://eslint.org/docs/latest/rules/no-import-assign
|
|
*/
|
|
'no-import-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow variable or `function` declarations in nested blocks
|
|
* @link https://eslint.org/docs/latest/rules/no-inner-declarations
|
|
*/
|
|
'no-inner-declarations': 'error',
|
|
|
|
/**
|
|
* @description Disallow invalid regular expression strings in `RegExp` constructors
|
|
* @link https://eslint.org/docs/latest/rules/no-invalid-regexp
|
|
*/
|
|
'no-invalid-regexp': 'error',
|
|
|
|
/**
|
|
* @description Disallow irregular whitespace
|
|
* @link https://eslint.org/docs/latest/rules/no-irregular-whitespace
|
|
*/
|
|
'no-irregular-whitespace': 'error',
|
|
|
|
/**
|
|
* @description Disallow literal numbers that lose precision
|
|
* @link https://eslint.org/docs/latest/rules/no-loss-of-precision
|
|
*/
|
|
'no-loss-of-precision': 'error',
|
|
|
|
/**
|
|
* @description Disallow characters which are made with multiple code points in character class syntax
|
|
* @link https://eslint.org/docs/latest/rules/no-misleading-character-class
|
|
*/
|
|
'no-misleading-character-class': 'error',
|
|
|
|
/**
|
|
* @description Disallow `new` operators with the `Symbol` object
|
|
* @link https://eslint.org/docs/latest/rules/no-new-symbol
|
|
*/
|
|
'no-new-symbol': 'error',
|
|
|
|
/**
|
|
* @description Disallow calling global object properties as functions
|
|
* @link https://eslint.org/docs/latest/rules/no-obj-calls
|
|
*/
|
|
'no-obj-calls': 'error',
|
|
|
|
/**
|
|
* @description Disallow returning values from Promise executor functions
|
|
* @link https://eslint.org/docs/latest/rules/no-promise-executor-return
|
|
*/
|
|
'no-promise-executor-return': 'error',
|
|
|
|
/**
|
|
* @description Disallow calling some `Object.prototype` methods directly on objects
|
|
* @link https://eslint.org/docs/latest/rules/no-prototype-builtins
|
|
*/
|
|
'no-prototype-builtins': 'error',
|
|
|
|
/**
|
|
* @description Disallow assignments where both sides are exactly the same
|
|
* @link https://eslint.org/docs/latest/rules/no-self-assign
|
|
*/
|
|
'no-self-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow comparisons where both sides are exactly the same
|
|
* @link https://eslint.org/docs/latest/rules/no-self-compare
|
|
*/
|
|
'no-self-compare': 'error',
|
|
|
|
/**
|
|
* @description Disallow returning values from setters
|
|
* @link https://eslint.org/docs/latest/rules/no-setter-return
|
|
*/
|
|
'no-setter-return': 'error',
|
|
|
|
/**
|
|
* @description Disallow sparse arrays
|
|
* @link https://eslint.org/docs/latest/rules/no-sparse-arrays
|
|
*/
|
|
'no-sparse-arrays': 'error',
|
|
|
|
/**
|
|
* @description Disallow template literal placeholder syntax in regular strings
|
|
* @link https://eslint.org/docs/latest/rules/no-template-curly-in-string
|
|
*/
|
|
'no-template-curly-in-string': 'error',
|
|
|
|
/**
|
|
* @description Disallow `this`/`super` before calling `super()` in constructors
|
|
* @link https://eslint.org/docs/latest/rules/no-this-before-super
|
|
*/
|
|
'no-this-before-super': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of undeclared variables unless mentioned in *global* comments
|
|
* @link https://eslint.org/docs/latest/rules/no-undef
|
|
*/
|
|
'no-undef': 'error',
|
|
|
|
/**
|
|
* @description Disallow confusing multiline expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-unexpected-multiline
|
|
*/
|
|
'no-unexpected-multiline': 'error',
|
|
|
|
/**
|
|
* @description Disallow unmodified loop conditions
|
|
* @link https://eslint.org/docs/latest/rules/no-unmodified-loop-condition
|
|
*/
|
|
'no-unmodified-loop-condition': 'error',
|
|
|
|
/**
|
|
* @description Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements
|
|
* @link https://eslint.org/docs/latest/rules/no-unreachable
|
|
*/
|
|
'no-unreachable': 'error',
|
|
|
|
/**
|
|
* @description Disallow loops with a body that allows only one iteration
|
|
* @link https://eslint.org/docs/latest/rules/no-unreachable-loop
|
|
*/
|
|
'no-unreachable-loop': 'error',
|
|
|
|
/**
|
|
* @description Disallow control flow statements in `finally` blocks
|
|
* @link https://eslint.org/docs/latest/rules/no-unsafe-finally
|
|
*/
|
|
'no-unsafe-finally': 'error',
|
|
|
|
/**
|
|
* @description Disallow negating the left operand of relational operators
|
|
* @link https://eslint.org/docs/latest/rules/no-unsafe-negation
|
|
*/
|
|
'no-unsafe-negation': 'error',
|
|
|
|
/**
|
|
* @description Disallow use of optional chaining in contexts where the `undefined` value is not allowed
|
|
* @link https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining
|
|
*/
|
|
'no-unsafe-optional-chaining': 'error',
|
|
|
|
/**
|
|
* @description Disallow unused private class members
|
|
* @link https://eslint.org/docs/latest/rules/no-unused-private-class-members
|
|
*/
|
|
'no-unused-private-class-members': 'error',
|
|
|
|
/**
|
|
* @description Disallow unused variables
|
|
* @link https://eslint.org/docs/latest/rules/no-unused-vars
|
|
*/
|
|
'no-unused-vars': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of variables before they are defined
|
|
* @link https://eslint.org/docs/latest/rules/no-use-before-define
|
|
*/
|
|
'no-use-before-define': ['error', { functions: false, classes: false, variables: true }],
|
|
|
|
/**
|
|
* @description Disallow useless backreferences in regular expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-backreference
|
|
*/
|
|
'no-useless-backreference': 'error',
|
|
|
|
/**
|
|
* @description Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
|
|
* @link https://eslint.org/docs/latest/rules/require-atomic-updates
|
|
*/
|
|
'require-atomic-updates': 'error',
|
|
|
|
/**
|
|
* @description Require calls to `isNaN()` when checking for `NaN`
|
|
* @link https://eslint.org/docs/latest/rules/use-isnan
|
|
*/
|
|
'use-isnan': 'error',
|
|
|
|
/**
|
|
* @description Enforce comparing `typeof` expressions against valid strings
|
|
* @link https://eslint.org/docs/latest/rules/valid-typeof
|
|
*/
|
|
'valid-typeof': 'error',
|
|
|
|
// End
|
|
|
|
/*
|
|
* Suggestions
|
|
* These rules suggest alternate ways of doing things:
|
|
*/
|
|
|
|
/**
|
|
* @description Enforce getter and setter pairs in objects and classes
|
|
* @link https://eslint.org/docs/latest/rules/accessor-pairs
|
|
*/
|
|
'accessor-pairs': ['error', { setWithoutGet: true, enforceForClassMembers: true }],
|
|
|
|
/**
|
|
* @description Require braces around arrow function bodies
|
|
* @link https://eslint.org/docs/latest/rules/arrow-body-style
|
|
*/
|
|
'arrow-body-style': 'error',
|
|
|
|
/**
|
|
* @description Enforce the use of variables within the scope they are defined
|
|
* @link https://eslint.org/docs/latest/rules/block-scoped-var
|
|
*/
|
|
'block-scoped-var': 'error',
|
|
|
|
/**
|
|
* @description Enforce camelcase naming convention
|
|
* @link https://eslint.org/docs/latest/rules/camelcase
|
|
*/
|
|
camelcase: 'off',
|
|
|
|
/**
|
|
* @description Enforce or disallow capitalization of the first letter of a comment
|
|
* @link https://eslint.org/docs/latest/rules/capitalized-comments
|
|
*/
|
|
'capitalized-comments': 'off',
|
|
|
|
/**
|
|
* @description Enforce that class methods utilize `this`
|
|
* @link https://eslint.org/docs/latest/rules/class-methods-use-this
|
|
*/
|
|
'class-methods-use-this': 'error',
|
|
|
|
/**
|
|
* @description Enforce a maximum cyclomatic complexity allowed in a program
|
|
* @link https://eslint.org/docs/latest/rules/complexity
|
|
*/
|
|
complexity: 'error',
|
|
|
|
/**
|
|
* @description Require `return` statements to either always or never specify values
|
|
* @link https://eslint.org/docs/latest/rules/consistent-return
|
|
*/
|
|
'consistent-return': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent naming when capturing the current execution context
|
|
* @link https://eslint.org/docs/latest/rules/consistent-this
|
|
*/
|
|
'consistent-this': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent brace style for all control statements
|
|
* @link https://eslint.org/docs/latest/rules/curly
|
|
*/
|
|
curly: 'error',
|
|
|
|
/**
|
|
* @description Require `default` cases in `switch` statements
|
|
* @link https://eslint.org/docs/latest/rules/default-case
|
|
*/
|
|
'default-case': 'error',
|
|
|
|
/**
|
|
* @description Enforce default clauses in switch statements to be last
|
|
* @link https://eslint.org/docs/latest/rules/default-case-last
|
|
*/
|
|
'default-case-last': 'error',
|
|
|
|
/**
|
|
* @description Enforce default parameters to be last
|
|
* @link https://eslint.org/docs/latest/rules/default-param-last
|
|
*/
|
|
'default-param-last': 'error',
|
|
|
|
/**
|
|
* @description Enforce dot notation whenever possible
|
|
* @link https://eslint.org/docs/latest/rules/dot-notation
|
|
*/
|
|
'dot-notation': 'error',
|
|
|
|
/**
|
|
* @description Require the use of `===` and `!==`
|
|
* @link https://eslint.org/docs/latest/rules/eqeqeq
|
|
*/
|
|
eqeqeq: 'error',
|
|
|
|
/**
|
|
* @description Require function names to match the name of the variable or property to which they are assigned
|
|
* @link https://eslint.org/docs/latest/rules/func-name-matching
|
|
*/
|
|
'func-name-matching': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow named `function` expressions
|
|
* @link https://eslint.org/docs/latest/rules/func-names
|
|
*/
|
|
'func-names': 'error',
|
|
|
|
/**
|
|
* @description Enforce the consistent use of either `function` declarations or expressions
|
|
* @link https://eslint.org/docs/latest/rules/func-style
|
|
*/
|
|
'func-style': 'off',
|
|
|
|
/**
|
|
* @description Require grouped accessor pairs in object literals and classes
|
|
* @link https://eslint.org/docs/latest/rules/grouped-accessor-pairs
|
|
*/
|
|
'grouped-accessor-pairs': 'error',
|
|
|
|
/**
|
|
* @description Require `for-in` loops to include an `if` statement
|
|
* @link https://eslint.org/docs/latest/rules/guard-for-in
|
|
*/
|
|
'guard-for-in': 'error',
|
|
|
|
/**
|
|
* @description Disallow specified identifiers
|
|
* @link https://eslint.org/docs/latest/rules/id-denylist
|
|
*/
|
|
'id-denylist': 'error',
|
|
|
|
/**
|
|
* @description Enforce minimum and maximum identifier lengths
|
|
* @link https://eslint.org/docs/latest/rules/id-length
|
|
*/
|
|
'id-length': 'off',
|
|
|
|
/**
|
|
* @description Require identifiers to match a specified regular expression
|
|
* @link https://eslint.org/docs/latest/rules/id-match
|
|
*/
|
|
'id-match': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow initialization in variable declarations
|
|
* @link https://eslint.org/docs/latest/rules/init-declarations
|
|
*/
|
|
'init-declarations': 'off',
|
|
|
|
/**
|
|
* @description Enforce a maximum number of classes per file
|
|
* @link https://eslint.org/docs/latest/rules/max-classes-per-file
|
|
*/
|
|
'max-classes-per-file': 'off',
|
|
|
|
/**
|
|
* @description Enforce a maximum depth that blocks can be nested
|
|
* @link https://eslint.org/docs/latest/rules/max-depth
|
|
*/
|
|
'max-depth': 'error',
|
|
|
|
/**
|
|
* @description Enforce a maximum number of lines per file
|
|
* @link https://eslint.org/docs/latest/rules/max-lines
|
|
*/
|
|
'max-lines': 'off',
|
|
|
|
/**
|
|
* @description Enforce a maximum number of lines of code in a function
|
|
* @link https://eslint.org/docs/latest/rules/max-lines-per-function
|
|
*/
|
|
'max-lines-per-function': 'off',
|
|
|
|
/**
|
|
* @description Enforce a maximum depth that callbacks can be nested
|
|
* @link https://eslint.org/docs/latest/rules/max-nested-callbacks
|
|
*/
|
|
'max-nested-callbacks': 'error',
|
|
|
|
/**
|
|
* @description Enforce a maximum number of parameters in function definitions
|
|
* @link https://eslint.org/docs/latest/rules/max-params
|
|
*/
|
|
'max-params': 'error',
|
|
|
|
/**
|
|
* @description Enforce a maximum number of statements allowed in function blocks
|
|
* @link https://eslint.org/docs/latest/rules/max-statements
|
|
*/
|
|
'max-statements': 'off',
|
|
|
|
/**
|
|
* @description Enforce a particular style for multiline comments
|
|
* @link https://eslint.org/docs/latest/rules/multiline-comment-style
|
|
*/
|
|
'multiline-comment-style': 'off',
|
|
|
|
/**
|
|
* @description Require constructor names to begin with a capital letter
|
|
* @link https://eslint.org/docs/latest/rules/new-cap
|
|
*/
|
|
'new-cap': ['error', { newIsCap: true, capIsNew: false, properties: true }],
|
|
|
|
/**
|
|
* @description Disallow the use of `alert`, `confirm`, and `prompt`
|
|
* @link https://eslint.org/docs/latest/rules/no-alert
|
|
*/
|
|
'no-alert': 'error',
|
|
|
|
/**
|
|
* @description Disallow `Array` constructors
|
|
* @link https://eslint.org/docs/latest/rules/no-array-constructor
|
|
*/
|
|
'no-array-constructor': 'error',
|
|
|
|
/**
|
|
* @description Disallow bitwise operators
|
|
* @link https://eslint.org/docs/latest/rules/no-bitwise
|
|
*/
|
|
'no-bitwise': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of `arguments.caller` or `arguments.callee`
|
|
* @link https://eslint.org/docs/latest/rules/no-caller
|
|
*/
|
|
'no-caller': 'error',
|
|
|
|
/**
|
|
* @description Disallow lexical declarations in case clauses
|
|
* @link https://eslint.org/docs/latest/rules/no-case-declarations
|
|
*/
|
|
'no-case-declarations': 'error',
|
|
|
|
/**
|
|
* @description Disallow arrow functions where they could be confused with comparisons
|
|
* @link https://eslint.org/docs/latest/rules/no-confusing-arrow
|
|
*/
|
|
'no-confusing-arrow': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of `console`
|
|
* @link https://eslint.org/docs/latest/rules/no-console
|
|
*/
|
|
'no-console': 'warn',
|
|
|
|
/**
|
|
* @description Disallow `continue` statements
|
|
* @link https://eslint.org/docs/latest/rules/no-continue
|
|
*/
|
|
'no-continue': 'error',
|
|
|
|
/**
|
|
* @description Disallow deleting variables
|
|
* @link https://eslint.org/docs/latest/rules/no-delete-var
|
|
*/
|
|
'no-delete-var': 'error',
|
|
|
|
/**
|
|
* @description Disallow division operators explicitly at the beginning of regular expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-div-regex
|
|
*/
|
|
'no-div-regex': 'error',
|
|
|
|
/**
|
|
* @description Disallow `else` blocks after `return` statements in `if` statements
|
|
* @link https://eslint.org/docs/latest/rules/no-else-return
|
|
*/
|
|
'no-else-return': 'error',
|
|
|
|
/**
|
|
* @description Disallow empty block statements
|
|
* @link https://eslint.org/docs/latest/rules/no-empty
|
|
*/
|
|
'no-empty': [
|
|
'error',
|
|
{
|
|
allowEmptyCatch: true
|
|
}
|
|
],
|
|
|
|
/**
|
|
* @description Disallow empty functions
|
|
* @link https://eslint.org/docs/latest/rules/no-empty-function
|
|
*/
|
|
'no-empty-function': 'error',
|
|
|
|
/**
|
|
* @description Disallow `null` comparisons without type-checking operators
|
|
* @link https://eslint.org/docs/latest/rules/no-eq-null
|
|
*/
|
|
'no-eq-null': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of `eval()`
|
|
* @link https://eslint.org/docs/latest/rules/no-eval
|
|
*/
|
|
'no-eval': 'error',
|
|
|
|
/**
|
|
* @description Disallow extending native types
|
|
* @link https://eslint.org/docs/latest/rules/no-extend-native
|
|
*/
|
|
'no-extend-native': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary calls to `.bind()`
|
|
* @link https://eslint.org/docs/latest/rules/no-extra-bind
|
|
*/
|
|
'no-extra-bind': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary boolean casts
|
|
* @link https://eslint.org/docs/latest/rules/no-extra-boolean-cast
|
|
*/
|
|
'no-extra-boolean-cast': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary labels
|
|
* @link https://eslint.org/docs/latest/rules/no-extra-label
|
|
*/
|
|
'no-extra-label': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary semicolons
|
|
* @link https://eslint.org/docs/latest/rules/no-extra-semi
|
|
*/
|
|
'no-extra-semi': 'error',
|
|
|
|
/**
|
|
* @description Disallow leading or trailing decimal points in numeric literals
|
|
* @link https://eslint.org/docs/latest/rules/no-floating-decimal
|
|
*/
|
|
'no-floating-decimal': 'error',
|
|
|
|
/**
|
|
* @description Disallow assignments to native objects or read-only global variables
|
|
* @link https://eslint.org/docs/latest/rules/no-global-assign
|
|
*/
|
|
'no-global-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow shorthand type conversions
|
|
* @link https://eslint.org/docs/latest/rules/no-implicit-coercion
|
|
*/
|
|
'no-implicit-coercion': 'error',
|
|
|
|
/**
|
|
* @description Disallow declarations in the global scope
|
|
* @link https://eslint.org/docs/latest/rules/no-implicit-globals
|
|
*/
|
|
'no-implicit-globals': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of `eval()`-like methods
|
|
* @link https://eslint.org/docs/latest/rules/no-implied-eval
|
|
*/
|
|
'no-implied-eval': 'error',
|
|
|
|
/**
|
|
* @description Disallow inline comments after code
|
|
* @link https://eslint.org/docs/latest/rules/no-inline-comments
|
|
*/
|
|
'no-inline-comments': 'off',
|
|
|
|
/**
|
|
* @description Disallow use of `this` in contexts where the value of `this` is `undefined`
|
|
* @link https://eslint.org/docs/latest/rules/no-invalid-this
|
|
*/
|
|
'no-invalid-this': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of the `__iterator__` property
|
|
* @link https://eslint.org/docs/latest/rules/no-iterator
|
|
*/
|
|
'no-iterator': 'error',
|
|
|
|
/**
|
|
* @description Disallow labels that share a name with a variable
|
|
* @link https://eslint.org/docs/latest/rules/no-label-var
|
|
*/
|
|
'no-label-var': 'error',
|
|
|
|
/**
|
|
* @description Disallow labeled statements
|
|
* @link https://eslint.org/docs/latest/rules/no-labels
|
|
*/
|
|
'no-labels': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary nested blocks
|
|
* @link https://eslint.org/docs/latest/rules/no-lone-blocks
|
|
*/
|
|
'no-lone-blocks': 'error',
|
|
|
|
/**
|
|
* @description Disallow `if` statements as the only statement in `else` blocks
|
|
* @link https://eslint.org/docs/latest/rules/no-lonely-if
|
|
*/
|
|
'no-lonely-if': 'error',
|
|
|
|
/**
|
|
* @description Disallow function declarations that contain unsafe references inside loop statements
|
|
* @link https://eslint.org/docs/latest/rules/no-loop-func
|
|
*/
|
|
'no-loop-func': 'error',
|
|
|
|
/**
|
|
* @description Disallow magic numbers
|
|
* @link https://eslint.org/docs/latest/rules/no-magic-numbers
|
|
*/
|
|
'no-magic-numbers': 'off',
|
|
|
|
/**
|
|
* @description Disallow mixed binary operators
|
|
* @link https://eslint.org/docs/latest/rules/no-mixed-operators
|
|
*/
|
|
'no-mixed-operators': [
|
|
'error',
|
|
{
|
|
groups: [
|
|
['+', '-', '*', '/', '%', '**'],
|
|
['&', '|', '^', '~', '<<', '>>', '>>>'],
|
|
['==', '!=', '===', '!==', '>', '>=', '<', '<='],
|
|
['&&', '||'],
|
|
['in', 'instanceof']
|
|
],
|
|
allowSamePrecedence: true
|
|
}
|
|
],
|
|
|
|
/**
|
|
* @description Disallow use of chained assignment expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-multi-assign
|
|
*/
|
|
'no-multi-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow multiline strings
|
|
* @link https://eslint.org/docs/latest/rules/no-multi-str
|
|
*/
|
|
'no-multi-str': 'error',
|
|
|
|
/**
|
|
* @description Disallow negated conditions
|
|
* @link https://eslint.org/docs/latest/rules/no-negated-condition
|
|
*/
|
|
'no-negated-condition': 'off',
|
|
|
|
/**
|
|
* @description Disallow nested ternary expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-nested-ternary
|
|
*/
|
|
'no-nested-ternary': 'error',
|
|
|
|
/**
|
|
* @description Disallow `new` operators outside of assignments or comparisons
|
|
* @link https://eslint.org/docs/latest/rules/no-new
|
|
*/
|
|
'no-new': 'error',
|
|
|
|
/**
|
|
* @description Disallow `new` operators with the `Function` object
|
|
* @link https://eslint.org/docs/latest/rules/no-new-func
|
|
*/
|
|
'no-new-func': 'error',
|
|
|
|
/**
|
|
* @description Disallow `Object` constructors
|
|
* @link https://eslint.org/docs/latest/rules/no-new-object
|
|
*/
|
|
'no-new-object': 'error',
|
|
|
|
/**
|
|
* @description Disallow `new` operators with the `String`, `Number`, and `Boolean` objects
|
|
* @link https://eslint.org/docs/latest/rules/no-new-wrappers
|
|
*/
|
|
'no-new-wrappers': 'error',
|
|
|
|
/**
|
|
* @description Disallow `\\8` and `\\9` escape sequences in string literals
|
|
* @link https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape
|
|
*/
|
|
'no-nonoctal-decimal-escape': 'error',
|
|
|
|
/**
|
|
* @description Disallow octal literals
|
|
* @link https://eslint.org/docs/latest/rules/no-octal
|
|
*/
|
|
'no-octal': 'error',
|
|
|
|
/**
|
|
* @description Disallow octal escape sequences in string literals
|
|
* @link https://eslint.org/docs/latest/rules/no-octal-escape
|
|
*/
|
|
'no-octal-escape': 'error',
|
|
|
|
/**
|
|
* @description Disallow reassigning `function` parameters
|
|
* @link https://eslint.org/docs/latest/rules/no-param-reassign
|
|
*/
|
|
'no-param-reassign': 'error',
|
|
|
|
/**
|
|
* @description Disallow the unary operators `++` and `--`
|
|
* @link https://eslint.org/docs/latest/rules/no-plusplus
|
|
*/
|
|
'no-plusplus': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of the `__proto__` property
|
|
* @link https://eslint.org/docs/latest/rules/no-proto
|
|
*/
|
|
'no-proto': 'error',
|
|
|
|
/**
|
|
* @description Disallow variable redeclaration
|
|
* @link https://eslint.org/docs/latest/rules/no-redeclare
|
|
*/
|
|
'no-redeclare': 'error',
|
|
|
|
/**
|
|
* @description Disallow multiple spaces in regular expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-regex-spaces
|
|
*/
|
|
'no-regex-spaces': 'error',
|
|
|
|
/**
|
|
* @description Disallow specified names in exports
|
|
* @link https://eslint.org/docs/latest/rules/no-restricted-exports
|
|
*/
|
|
'no-restricted-exports': 'error',
|
|
|
|
/**
|
|
* @description Disallow specified global variables
|
|
* @link https://eslint.org/docs/latest/rules/no-restricted-globals
|
|
*/
|
|
'no-restricted-globals': 'error',
|
|
|
|
/**
|
|
* @description Disallow specified modules when loaded by `import`
|
|
* @link https://eslint.org/docs/latest/rules/no-restricted-imports
|
|
*/
|
|
'no-restricted-imports': 'error',
|
|
|
|
/**
|
|
* @description Disallow certain properties on certain objects
|
|
* @link https://eslint.org/docs/latest/rules/no-restricted-properties
|
|
*/
|
|
'no-restricted-properties': 'error',
|
|
|
|
/**
|
|
* @description Disallow specified syntax
|
|
* @link https://eslint.org/docs/latest/rules/no-restricted-syntax
|
|
*/
|
|
'no-restricted-syntax': ['error', 'DebuggerStatement', 'LabeledStatement', 'WithStatement'],
|
|
|
|
/**
|
|
* @description Disallow assignment operators in `return` statements
|
|
* @link https://eslint.org/docs/latest/rules/no-return-assign
|
|
*/
|
|
'no-return-assign': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary `return await`
|
|
* @link https://eslint.org/docs/latest/rules/no-return-await
|
|
*/
|
|
'no-return-await': 'error',
|
|
|
|
/**
|
|
* @description Disallow `javascript:` urls
|
|
* @link https://eslint.org/docs/latest/rules/no-script-url
|
|
*/
|
|
'no-script-url': 'error',
|
|
|
|
/**
|
|
* @description Disallow comma operators
|
|
* @link https://eslint.org/docs/latest/rules/no-sequences
|
|
*/
|
|
'no-sequences': 'error',
|
|
|
|
/**
|
|
* @description Disallow variable declarations from shadowing variables declared in the outer scope
|
|
* @link https://eslint.org/docs/latest/rules/no-shadow
|
|
*/
|
|
'no-shadow': 'error',
|
|
|
|
/**
|
|
* @description Disallow identifiers from shadowing restricted names
|
|
* @link https://eslint.org/docs/latest/rules/no-shadow-restricted-names
|
|
*/
|
|
'no-shadow-restricted-names': 'error',
|
|
|
|
/**
|
|
* @description Disallow ternary operators
|
|
* @link https://eslint.org/docs/latest/rules/no-ternary
|
|
*/
|
|
'no-ternary': 'off',
|
|
|
|
/**
|
|
* @description Disallow throwing literals as exceptions
|
|
* @link https://eslint.org/docs/latest/rules/no-throw-literal
|
|
*/
|
|
'no-throw-literal': 'error',
|
|
|
|
/**
|
|
* @description Disallow initializing variables to `undefined`
|
|
* @link https://eslint.org/docs/latest/rules/no-undef-init
|
|
*/
|
|
'no-undef-init': 'error',
|
|
|
|
/**
|
|
* @description Disallow the use of `undefined` as an identifier
|
|
* @link https://eslint.org/docs/latest/rules/no-undefined
|
|
*/
|
|
'no-undefined': 'off',
|
|
|
|
/**
|
|
* @description Disallow dangling underscores in identifiers
|
|
* @link https://eslint.org/docs/latest/rules/no-underscore-dangle
|
|
*/
|
|
'no-underscore-dangle': 'error',
|
|
|
|
/**
|
|
* @description Disallow ternary operators when simpler alternatives exist
|
|
* @link https://eslint.org/docs/latest/rules/no-unneeded-ternary
|
|
*/
|
|
'no-unneeded-ternary': 'error',
|
|
|
|
/**
|
|
* @description Disallow unused expressions
|
|
* @link https://eslint.org/docs/latest/rules/no-unused-expressions
|
|
*/
|
|
'no-unused-expressions': 'error',
|
|
|
|
/**
|
|
* @description Disallow unused labels
|
|
* @link https://eslint.org/docs/latest/rules/no-unused-labels
|
|
*/
|
|
'no-unused-labels': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary calls to `.call()` and `.apply()`
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-call
|
|
*/
|
|
'no-useless-call': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary `catch` clauses
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-catch
|
|
*/
|
|
'no-useless-catch': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary computed property keys in objects and classes
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-computed-key
|
|
*/
|
|
'no-useless-computed-key': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary concatenation of literals or template literals
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-concat
|
|
*/
|
|
'no-useless-concat': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary constructors
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-constructor
|
|
*/
|
|
'no-useless-constructor': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary escape characters
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-escape
|
|
*/
|
|
'no-useless-escape': 'error',
|
|
|
|
/**
|
|
* @description Disallow renaming import, export, and destructured assignments to the same name
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-rename
|
|
*/
|
|
'no-useless-rename': 'error',
|
|
|
|
/**
|
|
* @description Disallow redundant return statements
|
|
* @link https://eslint.org/docs/latest/rules/no-useless-return
|
|
*/
|
|
'no-useless-return': 'error',
|
|
|
|
/**
|
|
* @description Require `let` or `const` instead of `var`
|
|
* @link https://eslint.org/docs/latest/rules/no-var
|
|
*/
|
|
'no-var': 'error',
|
|
|
|
/**
|
|
* @description Disallow `void` operators
|
|
* @link https://eslint.org/docs/latest/rules/no-void
|
|
*/
|
|
'no-void': 'error',
|
|
|
|
/**
|
|
* @description Disallow specified warning terms in comments
|
|
* @link https://eslint.org/docs/latest/rules/no-warning-comments
|
|
*/
|
|
'no-warning-comments': 'error',
|
|
|
|
/**
|
|
* @description Disallow `with` statements
|
|
* @link https://eslint.org/docs/latest/rules/no-with
|
|
*/
|
|
'no-with': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow method and property shorthand syntax for object literals
|
|
* @link https://eslint.org/docs/latest/rules/object-shorthand
|
|
*/
|
|
'object-shorthand': [
|
|
'error',
|
|
'always',
|
|
{
|
|
ignoreConstructors: false,
|
|
avoidQuotes: true
|
|
}
|
|
],
|
|
|
|
/**
|
|
* @description Enforce variables to be declared either together or separately in functions
|
|
* @link https://eslint.org/docs/latest/rules/one-var
|
|
*/
|
|
'one-var': ['error', 'never'],
|
|
|
|
/**
|
|
* @description Require or disallow newlines around variable declarations
|
|
* @link https://eslint.org/docs/latest/rules/one-var-declaration-per-line
|
|
*/
|
|
'one-var-declaration-per-line': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow assignment operator shorthand where possible
|
|
* @link https://eslint.org/docs/latest/rules/operator-assignment
|
|
*/
|
|
'operator-assignment': 'error',
|
|
|
|
/**
|
|
* @description Require using arrow functions for callbacks
|
|
* @link https://eslint.org/docs/latest/rules/prefer-arrow-callback
|
|
*/
|
|
'prefer-arrow-callback': 'error',
|
|
|
|
/**
|
|
* @description Require `const` declarations for variables that are never reassigned after declared
|
|
* @link https://eslint.org/docs/latest/rules/prefer-const
|
|
*/
|
|
'prefer-const': 'error',
|
|
|
|
/**
|
|
* @description Require destructuring from arrays and/or objects
|
|
* @link https://eslint.org/docs/latest/rules/prefer-destructuring
|
|
*/
|
|
'prefer-destructuring': 'off',
|
|
|
|
/**
|
|
* @description Disallow the use of `Math.pow` in favor of the `**` operator
|
|
* @link https://eslint.org/docs/latest/rules/prefer-exponentiation-operator
|
|
*/
|
|
'prefer-exponentiation-operator': 'error',
|
|
|
|
/**
|
|
* @description Enforce using named capture group in regular expression
|
|
* @link https://eslint.org/docs/latest/rules/prefer-named-capture-group
|
|
*/
|
|
'prefer-named-capture-group': 'off',
|
|
|
|
/**
|
|
* @description Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals
|
|
* @link https://eslint.org/docs/latest/rules/prefer-numeric-literals
|
|
*/
|
|
'prefer-numeric-literals': 'error',
|
|
|
|
/**
|
|
* @description Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`
|
|
* @link https://eslint.org/docs/latest/rules/prefer-object-has-own
|
|
*/
|
|
'prefer-object-has-own': 'error',
|
|
|
|
/**
|
|
* @description Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.
|
|
* @link https://eslint.org/docs/latest/rules/prefer-object-spread
|
|
*/
|
|
'prefer-object-spread': 'error',
|
|
|
|
/**
|
|
* @description Require using Error objects as Promise rejection reasons
|
|
* @link https://eslint.org/docs/latest/rules/prefer-promise-reject-errors
|
|
*/
|
|
'prefer-promise-reject-errors': 'error',
|
|
|
|
/**
|
|
* @description Disallow use of the `RegExp` constructor in favor of regular expression literals
|
|
* @link https://eslint.org/docs/latest/rules/prefer-regex-literals
|
|
*/
|
|
'prefer-regex-literals': 'error',
|
|
|
|
/**
|
|
* @description Require rest parameters instead of `arguments`
|
|
* @link https://eslint.org/docs/latest/rules/prefer-rest-params
|
|
*/
|
|
'prefer-rest-params': 'error',
|
|
|
|
/**
|
|
* @description Require spread operators instead of `.apply()`
|
|
* @link https://eslint.org/docs/latest/rules/prefer-spread
|
|
*/
|
|
'prefer-spread': 'error',
|
|
|
|
/**
|
|
* @description Require template literals instead of string concatenation
|
|
* @link https://eslint.org/docs/latest/rules/prefer-template
|
|
*/
|
|
'prefer-template': 'error',
|
|
|
|
/**
|
|
* @description Require quotes around object literal property names
|
|
* @link https://eslint.org/docs/latest/rules/quote-props
|
|
*/
|
|
'quote-props': 'error',
|
|
|
|
/**
|
|
* @description Enforce the consistent use of the radix argument when using `parseInt()`
|
|
* @link https://eslint.org/docs/latest/rules/radix
|
|
*/
|
|
radix: 'error',
|
|
|
|
/**
|
|
* @description Disallow async functions which have no `await` expression
|
|
* @link https://eslint.org/docs/latest/rules/require-await
|
|
*/
|
|
'require-await': 'off',
|
|
|
|
/**
|
|
* @description Enforce the use of `u` flag on RegExp
|
|
* @link https://eslint.org/docs/latest/rules/require-unicode-regexp
|
|
*/
|
|
'require-unicode-regexp': 'off',
|
|
|
|
/**
|
|
* @description Require generator functions to contain `yield`
|
|
* @link https://eslint.org/docs/latest/rules/require-yield
|
|
*/
|
|
'require-yield': 'error',
|
|
|
|
/**
|
|
* @description Enforce sorted import declarations within modules
|
|
* @link https://eslint.org/docs/latest/rules/sort-imports
|
|
*/
|
|
'sort-imports': 'off',
|
|
|
|
/**
|
|
* @description Require object keys to be sorted
|
|
* @link https://eslint.org/docs/latest/rules/sort-keys
|
|
*/
|
|
'sort-keys': 'off',
|
|
|
|
/**
|
|
* @description Require variables within the same declaration block to be sorted
|
|
* @link https://eslint.org/docs/latest/rules/sort-vars
|
|
*/
|
|
'sort-vars': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing after the `//` or `/*` in a comment
|
|
* @link https://eslint.org/docs/latest/rules/spaced-comment
|
|
*/
|
|
'spaced-comment': [
|
|
'error',
|
|
'always',
|
|
{
|
|
line: { markers: ['*package', '!', '/', ',', '='] },
|
|
block: {
|
|
balanced: true,
|
|
markers: ['*package', '!', ',', ':', '::', 'flow-include'],
|
|
exceptions: ['*']
|
|
}
|
|
}
|
|
],
|
|
|
|
/**
|
|
* @description Require or disallow strict mode directives
|
|
* @link https://eslint.org/docs/latest/rules/strict
|
|
*/
|
|
strict: 'error',
|
|
|
|
/**
|
|
* @description Require symbol descriptions
|
|
* @link https://eslint.org/docs/latest/rules/symbol-description
|
|
*/
|
|
'symbol-description': 'error',
|
|
|
|
/**
|
|
* @description Require `var` declarations be placed at the top of their containing scope
|
|
* @link https://eslint.org/docs/latest/rules/vars-on-top
|
|
*/
|
|
'vars-on-top': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow \"Yoda\" conditions
|
|
* @link https://eslint.org/docs/latest/rules/yoda
|
|
*/
|
|
yoda: 'error',
|
|
|
|
// End
|
|
|
|
/*
|
|
* Layout & Formatting
|
|
* These rules care about how the code looks rather than how it executes:
|
|
*/
|
|
|
|
/**
|
|
* @description Enforce linebreaks after opening and before closing array brackets
|
|
* @link https://eslint.org/docs/latest/rules/array-bracket-newline
|
|
*/
|
|
'array-bracket-newline': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing inside array brackets
|
|
* @link https://eslint.org/docs/latest/rules/array-bracket-spacing
|
|
*/
|
|
'array-bracket-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce line breaks after each array element
|
|
* @link https://eslint.org/docs/latest/rules/array-element-newline
|
|
*/
|
|
'array-element-newline': 'error',
|
|
|
|
/**
|
|
* @description Require parentheses around arrow function arguments
|
|
* @link https://eslint.org/docs/latest/rules/arrow-parens
|
|
*/
|
|
'arrow-parens': ['error', 'as-needed'],
|
|
|
|
/**
|
|
* @description Enforce consistent spacing before and after the arrow in arrow functions
|
|
* @link https://eslint.org/docs/latest/rules/arrow-spacing
|
|
*/
|
|
'arrow-spacing': 'error',
|
|
|
|
/**
|
|
* @description Disallow or enforce spaces inside of blocks after opening block and before closing block
|
|
* @link https://eslint.org/docs/latest/rules/block-spacing
|
|
*/
|
|
'block-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent brace style for blocks
|
|
* @link https://eslint.org/docs/latest/rules/brace-style
|
|
*/
|
|
'brace-style': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow trailing commas
|
|
* @link https://eslint.org/docs/latest/rules/comma-dangle
|
|
*/
|
|
'comma-dangle': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing before and after commas
|
|
* @link https://eslint.org/docs/latest/rules/comma-spacing
|
|
*/
|
|
'comma-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent comma style
|
|
* @link https://eslint.org/docs/latest/rules/comma-style
|
|
*/
|
|
'comma-style': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing inside computed property brackets
|
|
* @link https://eslint.org/docs/latest/rules/computed-property-spacing
|
|
*/
|
|
'computed-property-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent newlines before and after dots
|
|
* @link https://eslint.org/docs/latest/rules/dot-location
|
|
*/
|
|
'dot-location': ['error', 'property'],
|
|
|
|
/**
|
|
* @description Require or disallow newline at the end of files
|
|
* @link https://eslint.org/docs/latest/rules/eol-last
|
|
*/
|
|
'eol-last': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow spacing between function identifiers and their invocations
|
|
* @link https://eslint.org/docs/latest/rules/func-call-spacing
|
|
*/
|
|
'func-call-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce line breaks between arguments of a function call
|
|
* @link https://eslint.org/docs/latest/rules/function-call-argument-newline
|
|
*/
|
|
'function-call-argument-newline': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent line breaks inside function parentheses
|
|
* @link https://eslint.org/docs/latest/rules/function-paren-newline
|
|
*/
|
|
'function-paren-newline': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing around `*` operators in generator functions
|
|
* @link https://eslint.org/docs/latest/rules/generator-star-spacing
|
|
*/
|
|
'generator-star-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce the location of arrow function bodies
|
|
* @link https://eslint.org/docs/latest/rules/implicit-arrow-linebreak
|
|
*/
|
|
'implicit-arrow-linebreak': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent indentation
|
|
* @link https://eslint.org/docs/latest/rules/indent
|
|
*/
|
|
indent: [
|
|
'error',
|
|
2,
|
|
{
|
|
SwitchCase: 1,
|
|
VariableDeclarator: 1,
|
|
outerIIFEBody: 1,
|
|
MemberExpression: 1,
|
|
FunctionDeclaration: { parameters: 1, body: 1 },
|
|
FunctionExpression: { parameters: 1, body: 1 },
|
|
CallExpression: { arguments: 1 },
|
|
ArrayExpression: 1,
|
|
ObjectExpression: 1,
|
|
ImportDeclaration: 1,
|
|
flatTernaryExpressions: false,
|
|
ignoreComments: false,
|
|
ignoredNodes: [
|
|
'TemplateLiteral *',
|
|
'JSXElement',
|
|
'JSXElement > *',
|
|
'JSXAttribute',
|
|
'JSXIdentifier',
|
|
'JSXNamespacedName',
|
|
'JSXMemberExpression',
|
|
'JSXSpreadAttribute',
|
|
'JSXExpressionContainer',
|
|
'JSXOpeningElement',
|
|
'JSXClosingElement',
|
|
'JSXFragment',
|
|
'JSXOpeningFragment',
|
|
'JSXClosingFragment',
|
|
'JSXText',
|
|
'JSXEmptyExpression',
|
|
'JSXSpreadChild'
|
|
],
|
|
offsetTernaryExpressions: true
|
|
}
|
|
],
|
|
|
|
/**
|
|
* @description Enforce the consistent use of either double or single quotes in JSX attributes
|
|
* @link https://eslint.org/docs/latest/rules/jsx-quotes
|
|
*/
|
|
'jsx-quotes': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing between keys and values in object literal properties
|
|
* @link https://eslint.org/docs/latest/rules/key-spacing
|
|
*/
|
|
'key-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing before and after keywords
|
|
* @link https://eslint.org/docs/latest/rules/keyword-spacing
|
|
*/
|
|
'keyword-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce position of line comments
|
|
* @link https://eslint.org/docs/latest/rules/line-comment-position
|
|
*/
|
|
'line-comment-position': 'off',
|
|
|
|
/**
|
|
* @description Enforce consistent linebreak style
|
|
* @link https://eslint.org/docs/latest/rules/linebreak-style
|
|
*/
|
|
'linebreak-style': 'error',
|
|
|
|
/**
|
|
* @description Require empty lines around comments
|
|
* @link https://eslint.org/docs/latest/rules/lines-around-comment
|
|
*/
|
|
'lines-around-comment': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow an empty line between class members
|
|
* @link https://eslint.org/docs/latest/rules/lines-between-class-members
|
|
*/
|
|
'lines-between-class-members': 'error',
|
|
|
|
/**
|
|
* @description Enforce a maximum line length
|
|
* @link https://eslint.org/docs/latest/rules/max-len
|
|
*/
|
|
'max-len': 'error',
|
|
|
|
/**
|
|
* @description Enforce a maximum number of statements allowed per line
|
|
* @link https://eslint.org/docs/latest/rules/max-statements-per-line
|
|
*/
|
|
'max-statements-per-line': 'off',
|
|
|
|
/**
|
|
* @description Enforce newlines between operands of ternary expressions
|
|
* @link https://eslint.org/docs/latest/rules/multiline-ternary
|
|
*/
|
|
'multiline-ternary': ['error', 'always-multiline'],
|
|
|
|
/**
|
|
* @description Enforce or disallow parentheses when invoking a constructor with no arguments
|
|
* @link https://eslint.org/docs/latest/rules/new-parens
|
|
*/
|
|
'new-parens': 'error',
|
|
|
|
/**
|
|
* @description Require a newline after each call in a method chain
|
|
* @link https://eslint.org/docs/latest/rules/newline-per-chained-call
|
|
*/
|
|
'newline-per-chained-call': 'error',
|
|
|
|
/**
|
|
* @description Disallow unnecessary parentheses
|
|
* @link https://eslint.org/docs/latest/rules/no-extra-parens
|
|
*/
|
|
'no-extra-parens': 'error',
|
|
|
|
/**
|
|
* @description Disallow mixed spaces and tabs for indentation
|
|
* @link https://eslint.org/docs/latest/rules/no-mixed-spaces-and-tabs
|
|
*/
|
|
'no-mixed-spaces-and-tabs': 'error',
|
|
|
|
/**
|
|
* @description Disallow multiple spaces
|
|
* @link https://eslint.org/docs/latest/rules/no-multi-spaces
|
|
*/
|
|
'no-multi-spaces': 'error',
|
|
|
|
/**
|
|
* @description Disallow multiple empty lines
|
|
* @link https://eslint.org/docs/latest/rules/no-multiple-empty-lines
|
|
*/
|
|
'no-multiple-empty-lines': ['error', { max: 1, maxEOF: 0 }],
|
|
|
|
/**
|
|
* @description Disallow all tabs
|
|
* @link https://eslint.org/docs/latest/rules/no-tabs
|
|
*/
|
|
'no-tabs': 'error',
|
|
|
|
/**
|
|
* @description Disallow trailing whitespace at the end of lines
|
|
* @link https://eslint.org/docs/latest/rules/no-trailing-spaces
|
|
*/
|
|
'no-trailing-spaces': 'error',
|
|
|
|
/**
|
|
* @description Disallow whitespace before properties
|
|
* @link https://eslint.org/docs/latest/rules/no-whitespace-before-property
|
|
*/
|
|
'no-whitespace-before-property': 'error',
|
|
|
|
/**
|
|
* @description Enforce the location of single-line statements
|
|
* @link https://eslint.org/docs/latest/rules/nonblock-statement-body-position
|
|
*/
|
|
'nonblock-statement-body-position': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent line breaks after opening and before closing braces
|
|
* @link https://eslint.org/docs/latest/rules/object-curly-newline
|
|
*/
|
|
'object-curly-newline': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing inside braces
|
|
* @link https://eslint.org/docs/latest/rules/object-curly-spacing
|
|
*/
|
|
'object-curly-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce placing object properties on separate lines
|
|
* @link https://eslint.org/docs/latest/rules/object-property-newline
|
|
*/
|
|
'object-property-newline': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent linebreak style for operators
|
|
* @link https://eslint.org/docs/latest/rules/operator-linebreak
|
|
*/
|
|
'operator-linebreak': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow padding within blocks
|
|
* @link https://eslint.org/docs/latest/rules/padded-blocks
|
|
*/
|
|
'padded-blocks': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow padding lines between statements
|
|
* @link https://eslint.org/docs/latest/rules/padding-line-between-statements
|
|
*/
|
|
'padding-line-between-statements': 'error',
|
|
|
|
/**
|
|
* @description Enforce the consistent use of either backticks, double, or single quotes
|
|
* @link https://eslint.org/docs/latest/rules/quotes
|
|
*/
|
|
quotes: 'error',
|
|
|
|
/**
|
|
* @description Enforce spacing between rest and spread operators and their expressions
|
|
* @link https://eslint.org/docs/latest/rules/rest-spread-spacing
|
|
*/
|
|
'rest-spread-spacing': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow semicolons instead of ASI
|
|
* @link https://eslint.org/docs/latest/rules/semi
|
|
*/
|
|
semi: 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing before and after semicolons
|
|
* @link https://eslint.org/docs/latest/rules/semi-spacing
|
|
*/
|
|
'semi-spacing': 'error',
|
|
|
|
/**
|
|
* @description Enforce location of semicolons
|
|
* @link https://eslint.org/docs/latest/rules/semi-style
|
|
*/
|
|
'semi-style': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing before blocks
|
|
* @link https://eslint.org/docs/latest/rules/space-before-blocks
|
|
*/
|
|
'space-before-blocks': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing before `function` definition opening parenthesis
|
|
* @link https://eslint.org/docs/latest/rules/space-before-function-paren
|
|
*/
|
|
'space-before-function-paren': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing inside parentheses
|
|
* @link https://eslint.org/docs/latest/rules/space-in-parens
|
|
*/
|
|
'space-in-parens': 'error',
|
|
|
|
/**
|
|
* @description Require spacing around infix operators
|
|
* @link https://eslint.org/docs/latest/rules/space-infix-ops
|
|
*/
|
|
'space-infix-ops': 'error',
|
|
|
|
/**
|
|
* @description Enforce consistent spacing before or after unary operators
|
|
* @link https://eslint.org/docs/latest/rules/space-unary-ops
|
|
*/
|
|
'space-unary-ops': 'error',
|
|
|
|
/**
|
|
* @description Enforce spacing around colons of switch statements
|
|
* @link https://eslint.org/docs/latest/rules/switch-colon-spacing
|
|
*/
|
|
'switch-colon-spacing': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow spacing around embedded expressions of template strings
|
|
* @link https://eslint.org/docs/latest/rules/template-curly-spacing
|
|
*/
|
|
'template-curly-spacing': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow spacing between template tags and their literals
|
|
* @link https://eslint.org/docs/latest/rules/template-tag-spacing
|
|
*/
|
|
'template-tag-spacing': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow Unicode byte order mark (BOM)
|
|
* @link https://eslint.org/docs/latest/rules/unicode-bom
|
|
*/
|
|
'unicode-bom': 'error',
|
|
|
|
/**
|
|
* @description Require parentheses around immediate `function` invocations
|
|
* @link https://eslint.org/docs/latest/rules/wrap-iife
|
|
*/
|
|
'wrap-iife': 'error',
|
|
|
|
/**
|
|
* @description Require parenthesis around regex literals
|
|
* @link https://eslint.org/docs/latest/rules/wrap-regex
|
|
*/
|
|
'wrap-regex': 'error',
|
|
|
|
/**
|
|
* @description Require or disallow spacing around the `*` in `yield*` expressions
|
|
* @link https://eslint.org/docs/latest/rules/yield-star-spacing
|
|
*/
|
|
'yield-star-spacing': 'error'
|
|
}
|
|
};
|