| 
						 | 
						- module.exports = {
 -   rules: {
 -     // Enforce “for” loop update clause moving the counter in the right direction
 -     // https://eslint.org/docs/rules/for-direction
 -     'for-direction': 'error',
 - 
 -     // Enforces that a return statement is present in property getters
 -     // https://eslint.org/docs/rules/getter-return
 -     'getter-return': ['error', { allowImplicit: true }],
 - 
 -     // disallow using an async function as a Promise executor
 -     // https://eslint.org/docs/rules/no-async-promise-executor
 -     'no-async-promise-executor': 'error',
 - 
 -     // Disallow await inside of loops
 -     // https://eslint.org/docs/rules/no-await-in-loop
 -     'no-await-in-loop': 'error',
 - 
 -     // Disallow comparisons to negative zero
 -     // https://eslint.org/docs/rules/no-compare-neg-zero
 -     'no-compare-neg-zero': 'error',
 - 
 -     // disallow assignment in conditional expressions
 -     'no-cond-assign': ['error', 'always'],
 - 
 -     // disallow use of console
 -     'no-console': 'warn',
 - 
 -     // disallow use of constant expressions in conditions
 -     'no-constant-condition': 'warn',
 - 
 -     // disallow control characters in regular expressions
 -     'no-control-regex': 'error',
 - 
 -     // disallow use of debugger
 -     'no-debugger': 'error',
 - 
 -     // disallow duplicate arguments in functions
 -     'no-dupe-args': 'error',
 - 
 -     // Disallow duplicate conditions in if-else-if chains
 -     // https://eslint.org/docs/rules/no-dupe-else-if
 -     'no-dupe-else-if': 'error',
 - 
 -     // disallow duplicate keys when creating object literals
 -     'no-dupe-keys': 'error',
 - 
 -     // disallow a duplicate case label.
 -     'no-duplicate-case': 'error',
 - 
 -     // disallow empty statements
 -     'no-empty': 'error',
 - 
 -     // disallow the use of empty character classes in regular expressions
 -     'no-empty-character-class': 'error',
 - 
 -     // disallow assigning to the exception in a catch block
 -     'no-ex-assign': 'error',
 - 
 -     // disallow double-negation boolean casts in a boolean context
 -     // https://eslint.org/docs/rules/no-extra-boolean-cast
 -     'no-extra-boolean-cast': 'error',
 - 
 -     // disallow unnecessary parentheses
 -     // https://eslint.org/docs/rules/no-extra-parens
 -     'no-extra-parens': ['off', 'all', {
 -       conditionalAssign: true,
 -       nestedBinaryExpressions: false,
 -       returnAssign: false,
 -       ignoreJSX: 'all', // delegate to eslint-plugin-react
 -       enforceForArrowConditionals: false,
 -     }],
 - 
 -     // disallow unnecessary semicolons
 -     'no-extra-semi': 'error',
 - 
 -     // disallow overwriting functions written as function declarations
 -     'no-func-assign': 'error',
 - 
 -     // https://eslint.org/docs/rules/no-import-assign
 -     'no-import-assign': 'error',
 - 
 -     // disallow function or variable declarations in nested blocks
 -     'no-inner-declarations': 'error',
 - 
 -     // disallow invalid regular expression strings in the RegExp constructor
 -     'no-invalid-regexp': 'error',
 - 
 -     // disallow irregular whitespace outside of strings and comments
 -     'no-irregular-whitespace': 'error',
 - 
 -     // Disallow Number Literals That Lose Precision
 -     // https://eslint.org/docs/rules/no-loss-of-precision
 -     'no-loss-of-precision': 'error',
 - 
 -     // Disallow characters which are made with multiple code points in character class syntax
 -     // https://eslint.org/docs/rules/no-misleading-character-class
 -     'no-misleading-character-class': 'error',
 - 
 -     // disallow the use of object properties of the global object (Math and JSON) as functions
 -     'no-obj-calls': 'error',
 - 
 -     // Disallow returning values from Promise executor functions
 -     // https://eslint.org/docs/rules/no-promise-executor-return
 -     'no-promise-executor-return': 'error',
 - 
 -     // disallow use of Object.prototypes builtins directly
 -     // https://eslint.org/docs/rules/no-prototype-builtins
 -     'no-prototype-builtins': 'error',
 - 
 -     // disallow multiple spaces in a regular expression literal
 -     'no-regex-spaces': 'error',
 - 
 -     // Disallow returning values from setters
 -     // https://eslint.org/docs/rules/no-setter-return
 -     'no-setter-return': 'error',
 - 
 -     // disallow sparse arrays
 -     'no-sparse-arrays': 'error',
 - 
 -     // Disallow template literal placeholder syntax in regular strings
 -     // https://eslint.org/docs/rules/no-template-curly-in-string
 -     'no-template-curly-in-string': 'error',
 - 
 -     // Avoid code that looks like two expressions but is actually one
 -     // https://eslint.org/docs/rules/no-unexpected-multiline
 -     'no-unexpected-multiline': 'error',
 - 
 -     // disallow unreachable statements after a return, throw, continue, or break statement
 -     'no-unreachable': 'error',
 - 
 -     // Disallow loops with a body that allows only one iteration
 -     // https://eslint.org/docs/rules/no-unreachable-loop
 -     'no-unreachable-loop': ['error', {
 -       ignore: [], // WhileStatement, DoWhileStatement, ForStatement, ForInStatement, ForOfStatement
 -     }],
 - 
 -     // disallow return/throw/break/continue inside finally blocks
 -     // https://eslint.org/docs/rules/no-unsafe-finally
 -     'no-unsafe-finally': 'error',
 - 
 -     // disallow negating the left operand of relational operators
 -     // https://eslint.org/docs/rules/no-unsafe-negation
 -     'no-unsafe-negation': 'error',
 - 
 -     // disallow use of optional chaining in contexts where the undefined value is not allowed
 -     // https://eslint.org/docs/rules/no-unsafe-optional-chaining
 -     'no-unsafe-optional-chaining': ['error', { disallowArithmeticOperators: true }],
 - 
 -     // Disallow Unused Private Class Members
 -     // https://eslint.org/docs/rules/no-unused-private-class-members
 -     // TODO: enable once eslint 7 is dropped (which is semver-major)
 -     'no-unused-private-class-members': 'off',
 - 
 -     // Disallow useless backreferences in regular expressions
 -     // https://eslint.org/docs/rules/no-useless-backreference
 -     'no-useless-backreference': 'error',
 - 
 -     // disallow negation of the left operand of an in expression
 -     // deprecated in favor of no-unsafe-negation
 -     'no-negated-in-lhs': 'off',
 - 
 -     // Disallow assignments that can lead to race conditions due to usage of await or yield
 -     // https://eslint.org/docs/rules/require-atomic-updates
 -     // note: not enabled because it is very buggy
 -     'require-atomic-updates': 'off',
 - 
 -     // disallow comparisons with the value NaN
 -     'use-isnan': 'error',
 - 
 -     // ensure JSDoc comments are valid
 -     // https://eslint.org/docs/rules/valid-jsdoc
 -     'valid-jsdoc': 'off',
 - 
 -     // ensure that the results of typeof are compared against a valid string
 -     // https://eslint.org/docs/rules/valid-typeof
 -     'valid-typeof': ['error', { requireStringLiterals: true }],
 -   }
 - };
 
 
  |