Last active
January 4, 2025 20:54
-
-
Save ericcarraway/fc6615413bb2b22532f2ff2c0542eb0e to your computer and use it in GitHub Desktop.
ESLint rules audit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * 2022-08-30 | |
| * The result of auditing the rules applied to a file/project. | |
| * | |
| * $ npx eslint --print-config app.js > results.json | |
| * | |
| * Massage... | |
| */ | |
| export const rules = { | |
| '@typescript-eslint/array-type': [`error`], | |
| '@typescript-eslint/ban-types': [`error`], | |
| '@typescript-eslint/consistent-type-imports': [ | |
| `error`, | |
| { | |
| fixStyle: `separate-type-imports`, | |
| prefer: `type-imports`, | |
| }, | |
| ], | |
| '@typescript-eslint/no-duplicate-enum-values': [`error`], | |
| '@typescript-eslint/no-extra-non-null-assertion': [`error`], | |
| '@typescript-eslint/no-misused-new': [`error`], | |
| '@typescript-eslint/no-namespace': [`error`], | |
| '@typescript-eslint/no-non-null-asserted-optional-chain': [`error`], | |
| '@typescript-eslint/no-this-alias': [`error`], | |
| '@typescript-eslint/no-unnecessary-type-constraint': [`error`], | |
| '@typescript-eslint/no-unsafe-declaration-merging': [`error`], | |
| '@typescript-eslint/prefer-as-const': [`error`], | |
| '@typescript-eslint/prefer-for-of': [`error`], | |
| '@typescript-eslint/prefer-literal-enum-member': [`error`], | |
| '@typescript-eslint/triple-slash-reference': [`error`], | |
| 'accessor-pairs': [ | |
| `error`, | |
| { | |
| enforceForClassMembers: true, | |
| getWithoutSet: false, | |
| setWithoutGet: true, | |
| }, | |
| ], | |
| 'array-bracket-newline': [`off`, `consistent`], | |
| 'array-bracket-spacing': [`error`, `never`], | |
| 'array-callback-return': [ | |
| `error`, | |
| { | |
| allowImplicit: true, | |
| allowVoid: false, | |
| checkForEach: false, | |
| }, | |
| ], | |
| 'array-element-newline': [ | |
| `off`, | |
| { | |
| minItems: 3, | |
| multiline: true, | |
| }, | |
| ], | |
| 'arrow-body-style': [ | |
| `error`, | |
| `as-needed`, | |
| { | |
| requireReturnForObjectLiteral: false, | |
| }, | |
| ], | |
| 'arrow-parens': [`error`, `always`], | |
| 'arrow-spacing': [ | |
| `error`, | |
| { | |
| after: true, | |
| before: true, | |
| }, | |
| ], | |
| 'block-scoped-var': [`error`], | |
| 'block-spacing': [`error`, `always`], | |
| 'brace-style': [ | |
| `error`, | |
| `1tbs`, | |
| { | |
| allowSingleLine: true, | |
| }, | |
| ], | |
| 'callback-return': [`off`], | |
| camelcase: [ | |
| `error`, | |
| { | |
| allow: [`^todo`, `child_process`, `npm_package_version`], | |
| ignoreDestructuring: false, | |
| ignoreGlobals: false, | |
| ignoreImports: false, | |
| properties: `never`, | |
| }, | |
| ], | |
| 'capitalized-comments': [ | |
| `off`, | |
| `never`, | |
| { | |
| block: { | |
| ignoreConsecutiveComments: true, | |
| ignoreInlineComments: true, | |
| ignorePattern: `.*`, | |
| }, | |
| line: { | |
| ignoreConsecutiveComments: true, | |
| ignoreInlineComments: true, | |
| ignorePattern: `.*`, | |
| }, | |
| }, | |
| ], | |
| 'class-methods-use-this': [ | |
| `error`, | |
| { | |
| enforceForClassFields: true, | |
| exceptMethods: [], | |
| }, | |
| ], | |
| 'comma-dangle': [ | |
| `error`, | |
| { | |
| arrays: `always-multiline`, | |
| exports: `always-multiline`, | |
| functions: `always-multiline`, | |
| imports: `always-multiline`, | |
| objects: `always-multiline`, | |
| }, | |
| ], | |
| 'comma-spacing': [ | |
| `error`, | |
| { | |
| after: true, | |
| before: false, | |
| }, | |
| ], | |
| 'comma-style': [ | |
| `error`, | |
| `last`, | |
| { | |
| exceptions: { | |
| ArrayExpression: false, | |
| ArrayPattern: false, | |
| ArrowFunctionExpression: false, | |
| CallExpression: false, | |
| FunctionDeclaration: false, | |
| FunctionExpression: false, | |
| ImportDeclaration: false, | |
| NewExpression: false, | |
| ObjectExpression: false, | |
| ObjectPattern: false, | |
| VariableDeclaration: false, | |
| }, | |
| }, | |
| ], | |
| complexity: [`off`, 20], | |
| 'computed-property-spacing': [`error`, `never`], | |
| 'consistent-return': [`error`], | |
| 'consistent-this': [`off`], | |
| 'constructor-super': [`error`], | |
| curly: [`error`, `all`], | |
| 'default-case': [ | |
| `error`, | |
| { | |
| commentPattern: `^no default$`, | |
| }, | |
| ], | |
| 'default-case-last': [`error`], | |
| 'default-param-last': [`error`], | |
| 'dot-location': [`error`, `property`], | |
| 'dot-notation': [ | |
| `error`, | |
| { | |
| allowKeywords: true, | |
| allowPattern: ``, | |
| }, | |
| ], | |
| 'eol-last': [`error`, `always`], | |
| eqeqeq: [ | |
| `error`, | |
| `always`, | |
| { | |
| null: `ignore`, | |
| }, | |
| ], | |
| 'for-direction': [`error`], | |
| 'func-call-spacing': [`error`, `never`], | |
| 'func-name-matching': [ | |
| `error`, | |
| { | |
| considerPropertyDescriptor: true, | |
| includeCommonJSModuleExports: true, | |
| }, | |
| ], | |
| 'func-names': [`warn`], | |
| 'func-style': [`off`, `expression`], | |
| 'function-call-argument-newline': [`error`, `consistent`], | |
| 'function-paren-newline': [`off`, `multiline-arguments`], | |
| 'generator-star-spacing': [ | |
| `error`, | |
| { | |
| after: true, | |
| before: false, | |
| }, | |
| ], | |
| 'getter-return': [ | |
| `error`, | |
| { | |
| allowImplicit: true, | |
| }, | |
| ], | |
| 'global-require': [`error`], | |
| 'grouped-accessor-pairs': [`error`, `getBeforeSet`], | |
| 'guard-for-in': [`error`], | |
| 'handle-callback-err': [`off`], | |
| 'id-denylist': [`off`], | |
| 'id-length': [`off`], | |
| 'id-match': [`off`], | |
| 'implicit-arrow-linebreak': [`off`, `beside`], | |
| 'import/consistent-type-specifier-style': [`error`, `prefer-top-level`], | |
| 'import/default': [`off`], | |
| 'import/dynamic-import-chunkname': [ | |
| `off`, | |
| { | |
| importFunctions: [], | |
| webpackChunknameFormat: `[0-9a-zA-Z-_/.]+`, | |
| }, | |
| ], | |
| 'import/export': [`error`], | |
| 'import/exports-last': [`off`], | |
| 'import/extensions': [`off`, `ignorePackages`], | |
| 'import/first': [`error`], | |
| 'import/group-exports': [`off`], | |
| 'import/imports-first': [`off`], | |
| 'import/max-dependencies': [ | |
| `off`, | |
| { | |
| max: 10, | |
| }, | |
| ], | |
| 'import/named': [`error`], | |
| 'import/namespace': [`off`], | |
| 'import/newline-after-import': [`error`], | |
| 'import/no-absolute-path': [`error`], | |
| 'import/no-amd': [`error`], | |
| 'import/no-anonymous-default-export': [ | |
| `off`, | |
| { | |
| allowAnonymousClass: false, | |
| allowAnonymousFunction: false, | |
| allowArray: false, | |
| allowArrowFunction: false, | |
| allowLiteral: false, | |
| allowObject: false, | |
| }, | |
| ], | |
| 'import/no-commonjs': [`off`], | |
| 'import/no-cycle': [ | |
| `error`, | |
| { | |
| allowUnsafeDynamicCyclicDependency: false, | |
| ignoreExternal: false, | |
| maxDepth: `∞`, | |
| }, | |
| ], | |
| 'import/no-default-export': [`error`], | |
| 'import/no-deprecated': [`off`], | |
| 'import/no-duplicates': [`error`], | |
| 'import/no-dynamic-require': [`error`], | |
| 'import/no-extraneous-dependencies': [ | |
| `error`, | |
| { | |
| devDependencies: [ | |
| `**/*.spec.js`, | |
| `**/*.spec.ts`, | |
| `**/*.test.js`, | |
| `**/*.test.ts`, | |
| ], | |
| }, | |
| ], | |
| 'import/no-import-module-exports': [ | |
| `error`, | |
| { | |
| exceptions: [], | |
| }, | |
| ], | |
| 'import/no-internal-modules': [ | |
| `off`, | |
| { | |
| allow: [], | |
| }, | |
| ], | |
| 'import/no-mutable-exports': [`error`], | |
| 'import/no-named-as-default': [`error`], | |
| 'import/no-named-as-default-member': [`error`], | |
| 'import/no-named-default': [`error`], | |
| 'import/no-named-export': [`off`], | |
| 'import/no-namespace': [`off`], | |
| 'import/no-nodejs-modules': [`off`], | |
| 'import/no-relative-packages': [`error`], | |
| 'import/no-relative-parent-imports': [`off`], | |
| 'import/no-restricted-paths': [`off`], | |
| 'import/no-self-import': [`error`], | |
| 'import/no-unassigned-import': [`off`], | |
| 'import/no-unresolved': [ | |
| `off`, | |
| { | |
| caseSensitive: true, | |
| caseSensitiveStrict: false, | |
| commonjs: true, | |
| }, | |
| ], | |
| 'import/no-unused-modules': [ | |
| `off`, | |
| { | |
| ignoreExports: [], | |
| missingExports: true, | |
| unusedExports: true, | |
| }, | |
| ], | |
| 'import/no-useless-path-segments': [ | |
| `error`, | |
| { | |
| commonjs: true, | |
| }, | |
| ], | |
| 'import/no-webpack-loader-syntax': [`error`], | |
| 'import/order': [ | |
| `error`, | |
| { | |
| distinctGroup: true, | |
| groups: [[`builtin`, `external`, `internal`]], | |
| warnOnUnassignedImports: false, | |
| }, | |
| ], | |
| 'import/prefer-default-export': [`off`], | |
| 'import/unambiguous': [`off`], | |
| indent: [ | |
| `off`, | |
| 2, | |
| { | |
| ArrayExpression: 1, | |
| CallExpression: { | |
| arguments: 1, | |
| }, | |
| flatTernaryExpressions: false, | |
| FunctionDeclaration: { | |
| body: 1, | |
| parameters: 1, | |
| }, | |
| FunctionExpression: { | |
| body: 1, | |
| parameters: 1, | |
| }, | |
| ignoreComments: false, | |
| ignoredNodes: [ | |
| `JSXElement`, | |
| `JSXElement > *`, | |
| `JSXAttribute`, | |
| `JSXIdentifier`, | |
| `JSXNamespacedName`, | |
| `JSXMemberExpression`, | |
| `JSXSpreadAttribute`, | |
| `JSXExpressionContainer`, | |
| `JSXOpeningElement`, | |
| `JSXClosingElement`, | |
| `JSXFragment`, | |
| `JSXOpeningFragment`, | |
| `JSXClosingFragment`, | |
| `JSXText`, | |
| `JSXEmptyExpression`, | |
| `JSXSpreadChild`, | |
| ], | |
| ImportDeclaration: 1, | |
| ObjectExpression: 1, | |
| offsetTernaryExpressions: false, | |
| outerIIFEBody: 1, | |
| SwitchCase: 1, | |
| VariableDeclarator: 1, | |
| }, | |
| ], | |
| 'init-declarations': [`off`], | |
| 'jsx-quotes': [`off`, `prefer-double`], | |
| 'key-spacing': [ | |
| `error`, | |
| { | |
| afterColon: true, | |
| beforeColon: false, | |
| }, | |
| ], | |
| 'keyword-spacing': [ | |
| `error`, | |
| { | |
| after: true, | |
| before: true, | |
| overrides: { | |
| case: { | |
| after: true, | |
| }, | |
| return: { | |
| after: true, | |
| }, | |
| throw: { | |
| after: true, | |
| }, | |
| }, | |
| }, | |
| ], | |
| 'line-comment-position': [ | |
| `off`, | |
| { | |
| applyDefaultPatterns: true, | |
| ignorePattern: ``, | |
| position: `above`, | |
| }, | |
| ], | |
| 'linebreak-style': [`error`, `unix`], | |
| 'lines-around-comment': [`off`], | |
| 'lines-around-directive': [ | |
| `error`, | |
| { | |
| after: `always`, | |
| before: `always`, | |
| }, | |
| ], | |
| 'lines-between-class-members': [ | |
| `error`, | |
| `always`, | |
| { | |
| exceptAfterSingleLine: false, | |
| }, | |
| ], | |
| 'max-classes-per-file': [`error`, 1], | |
| 'max-depth': [`warn`, 4], | |
| 'max-len': [ | |
| `error`, | |
| 100, | |
| 2, | |
| { | |
| ignoreComments: false, | |
| ignoreRegExpLiterals: true, | |
| ignoreStrings: true, | |
| ignoreTemplateLiterals: true, | |
| ignoreUrls: true, | |
| }, | |
| ], | |
| 'max-lines': [ | |
| `off`, | |
| { | |
| max: 300, | |
| skipBlankLines: true, | |
| skipComments: true, | |
| }, | |
| ], | |
| 'max-lines-per-function': [ | |
| `off`, | |
| { | |
| IIFEs: true, | |
| max: 50, | |
| skipBlankLines: true, | |
| skipComments: true, | |
| }, | |
| ], | |
| 'max-nested-callbacks': [`warn`, 4], | |
| 'max-params': [ | |
| `warn`, | |
| { | |
| max: 4, | |
| }, | |
| ], | |
| 'max-statements': [`off`, 10], | |
| 'max-statements-per-line': [ | |
| `error`, | |
| { | |
| max: 1, | |
| }, | |
| ], | |
| 'multiline-comment-style': [`off`, `starred-block`], | |
| 'multiline-ternary': [`off`, `never`], | |
| 'new-cap': [ | |
| `error`, | |
| { | |
| capIsNew: false, | |
| capIsNewExceptions: [`Immutable.Map`, `Immutable.Set`, `Immutable.List`], | |
| newIsCap: true, | |
| newIsCapExceptions: [], | |
| properties: true, | |
| }, | |
| ], | |
| 'new-parens': [`error`], | |
| 'newline-after-var': [`off`], | |
| 'newline-before-return': [`off`], | |
| 'newline-per-chained-call': [ | |
| `off`, | |
| { | |
| ignoreChainWithDepth: 4, | |
| }, | |
| ], | |
| 'no-alert': [`warn`], | |
| 'no-array-constructor': [`error`], | |
| 'no-async-promise-executor': [`error`], | |
| 'no-await-in-loop': [`off`], | |
| 'no-bitwise': [`error`], | |
| 'no-buffer-constructor': [`error`], | |
| 'no-caller': [`error`], | |
| 'no-case-declarations': [`error`], | |
| 'no-catch-shadow': [`off`], | |
| 'no-class-assign': [`error`], | |
| 'no-compare-neg-zero': [`error`], | |
| 'no-cond-assign': [`error`, `always`], | |
| 'no-confusing-arrow': [ | |
| `off`, | |
| { | |
| allowParens: true, | |
| onlyOneSimpleParam: false, | |
| }, | |
| ], | |
| 'no-console': [ | |
| `error`, | |
| { | |
| allow: [`log`, `warn`, `error`, `table`], | |
| }, | |
| ], | |
| 'no-const-assign': [`error`], | |
| 'no-constant-binary-expression': [`error`], | |
| 'no-constant-condition': [`error`], | |
| 'no-constructor-return': [`error`], | |
| 'no-continue': [`error`], | |
| 'no-control-regex': [`error`], | |
| 'no-debugger': [`error`], | |
| 'no-delete-var': [`error`], | |
| 'no-div-regex': [`off`], | |
| 'no-dupe-args': [`error`], | |
| 'no-dupe-class-members': [`error`], | |
| 'no-dupe-else-if': [`error`], | |
| 'no-dupe-keys': [`error`], | |
| 'no-duplicate-case': [`error`], | |
| 'no-duplicate-imports': [`off`], | |
| 'no-else-return': [ | |
| `error`, | |
| { | |
| allowElseIf: false, | |
| }, | |
| ], | |
| 'no-empty': [`error`], | |
| 'no-empty-character-class': [`error`], | |
| 'no-empty-function': [ | |
| `error`, | |
| { | |
| allow: [`arrowFunctions`, `functions`, `methods`], | |
| }, | |
| ], | |
| 'no-empty-pattern': [`error`], | |
| 'no-empty-static-block': [`error`], | |
| 'no-eq-null': [`error`], | |
| 'no-eval': [`error`], | |
| 'no-ex-assign': [`error`], | |
| 'no-extend-native': [`error`], | |
| 'no-extra-bind': [`error`], | |
| 'no-extra-boolean-cast': [`error`], | |
| 'no-extra-label': [`error`], | |
| 'no-extra-parens': [ | |
| `off`, | |
| `all`, | |
| { | |
| conditionalAssign: true, | |
| enforceForArrowConditionals: false, | |
| ignoreJSX: `all`, | |
| nestedBinaryExpressions: false, | |
| returnAssign: false, | |
| }, | |
| ], | |
| 'no-extra-semi': [`error`], | |
| 'no-fallthrough': [`error`], | |
| 'no-floating-decimal': [`error`], | |
| 'no-func-assign': [`error`], | |
| 'no-global-assign': [ | |
| `error`, | |
| { | |
| exceptions: [], | |
| }, | |
| ], | |
| 'no-implicit-coercion': [ | |
| `error`, | |
| { | |
| allow: [], | |
| boolean: false, | |
| disallowTemplateShorthand: false, | |
| number: true, | |
| string: true, | |
| }, | |
| ], | |
| 'no-implicit-globals': [`error`], | |
| 'no-implied-eval': [`error`], | |
| 'no-import-assign': [`error`], | |
| 'no-inline-comments': [`off`], | |
| 'no-inner-declarations': [`error`], | |
| 'no-invalid-regexp': [`error`], | |
| 'no-invalid-this': [`off`], | |
| 'no-irregular-whitespace': [`error`], | |
| 'no-iterator': [`error`], | |
| 'no-label-var': [`error`], | |
| 'no-labels': [ | |
| `error`, | |
| { | |
| allowLoop: false, | |
| allowSwitch: false, | |
| }, | |
| ], | |
| 'no-lone-blocks': [`error`], | |
| 'no-lonely-if': [`error`], | |
| 'no-loop-func': [`error`], | |
| 'no-loss-of-precision': [`error`], | |
| 'no-magic-numbers': [ | |
| `off`, | |
| { | |
| detectObjects: false, | |
| enforceConst: true, | |
| ignore: [], | |
| ignoreArrayIndexes: true, | |
| }, | |
| ], | |
| 'no-misleading-character-class': [`error`], | |
| 'no-mixed-operators': [ | |
| `error`, | |
| { | |
| allowSamePrecedence: false, | |
| groups: [ | |
| [`%`, `**`], | |
| [`%`, `+`], | |
| [`%`, `-`], | |
| [`%`, `*`], | |
| [`%`, `/`], | |
| [`/`, `*`], | |
| [`&`, `|`, `<<`, `>>`, `>>>`], | |
| [`==`, `!=`, `===`, `!==`], | |
| [`&&`, `||`], | |
| ], | |
| }, | |
| ], | |
| 'no-mixed-requires': [`off`, false], | |
| 'no-mixed-spaces-and-tabs': [`error`], | |
| 'no-multi-assign': [`error`], | |
| 'no-multi-spaces': [ | |
| `error`, | |
| { | |
| ignoreEOLComments: false, | |
| }, | |
| ], | |
| 'no-multi-str': [`error`], | |
| 'no-multiple-empty-lines': [ | |
| `error`, | |
| { | |
| max: 1, | |
| maxBOF: 0, | |
| maxEOF: 0, | |
| }, | |
| ], | |
| 'no-native-reassign': [`off`], | |
| 'no-negated-condition': [`error`], | |
| 'no-negated-in-lhs': [`off`], | |
| 'no-nested-ternary': [`error`], | |
| 'no-new': [`error`], | |
| 'no-new-func': [`error`], | |
| 'no-new-native-nonconstructor': [`error`], | |
| 'no-new-object': [`error`], | |
| 'no-new-require': [`error`], | |
| 'no-new-symbol': [`error`], | |
| 'no-new-wrappers': [`error`], | |
| 'no-nonoctal-decimal-escape': [`error`], | |
| 'no-obj-calls': [`error`], | |
| 'no-object-constructor': [`error`], | |
| 'no-octal': [`error`], | |
| 'no-octal-escape': [`error`], | |
| 'no-param-reassign': [ | |
| `error`, | |
| { | |
| ignorePropertyModificationsFor: [ | |
| `acc`, | |
| `accumulator`, | |
| `e`, | |
| `ctx`, | |
| `context`, | |
| `req`, | |
| `request`, | |
| `res`, | |
| `response`, | |
| `$scope`, | |
| `staticContext`, | |
| ], | |
| props: true, | |
| }, | |
| ], | |
| 'no-path-concat': [`error`], | |
| 'no-plusplus': [`error`], | |
| 'no-process-env': [`off`], | |
| 'no-process-exit': [`off`], | |
| 'no-promise-executor-return': [`error`], | |
| 'no-proto': [`error`], | |
| 'no-prototype-builtins': [`error`], | |
| 'no-redeclare': [`error`], | |
| 'no-regex-spaces': [`error`], | |
| 'no-restricted-exports': [ | |
| `error`, | |
| { | |
| restrictedNamedExports: [`default`, `then`], | |
| }, | |
| ], | |
| 'no-restricted-globals': [ | |
| `error`, | |
| { | |
| message: `Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite`, | |
| name: `isFinite`, | |
| }, | |
| { | |
| message: `Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan`, | |
| name: `isNaN`, | |
| }, | |
| `addEventListener`, | |
| `blur`, | |
| `close`, | |
| `closed`, | |
| `confirm`, | |
| `defaultStatus`, | |
| `defaultstatus`, | |
| `event`, | |
| `external`, | |
| `find`, | |
| `focus`, | |
| `frameElement`, | |
| `frames`, | |
| `history`, | |
| `innerHeight`, | |
| `innerWidth`, | |
| `length`, | |
| `location`, | |
| `locationbar`, | |
| `menubar`, | |
| `moveBy`, | |
| `moveTo`, | |
| `name`, | |
| `onblur`, | |
| `onerror`, | |
| `onfocus`, | |
| `onload`, | |
| `onresize`, | |
| `onunload`, | |
| `open`, | |
| `opener`, | |
| `opera`, | |
| `outerHeight`, | |
| `outerWidth`, | |
| `pageXOffset`, | |
| `pageYOffset`, | |
| `parent`, | |
| `print`, | |
| `removeEventListener`, | |
| `resizeBy`, | |
| `resizeTo`, | |
| `screen`, | |
| `screenLeft`, | |
| `screenTop`, | |
| `screenX`, | |
| `screenY`, | |
| `scroll`, | |
| `scrollbars`, | |
| `scrollBy`, | |
| `scrollTo`, | |
| `scrollX`, | |
| `scrollY`, | |
| `self`, | |
| `status`, | |
| `statusbar`, | |
| `stop`, | |
| `toolbar`, | |
| `top`, | |
| ], | |
| 'no-restricted-imports': [ | |
| `off`, | |
| { | |
| paths: [], | |
| patterns: [], | |
| }, | |
| ], | |
| 'no-restricted-modules': [`off`], | |
| 'no-restricted-properties': [ | |
| `error`, | |
| { | |
| message: `arguments.callee is deprecated`, | |
| object: `arguments`, | |
| property: `callee`, | |
| }, | |
| { | |
| message: `Please use Number.isFinite instead`, | |
| object: `global`, | |
| property: `isFinite`, | |
| }, | |
| { | |
| message: `Please use Number.isFinite instead`, | |
| object: `self`, | |
| property: `isFinite`, | |
| }, | |
| { | |
| message: `Please use Number.isFinite instead`, | |
| object: `window`, | |
| property: `isFinite`, | |
| }, | |
| { | |
| message: `Please use Number.isNaN instead`, | |
| object: `global`, | |
| property: `isNaN`, | |
| }, | |
| { | |
| message: `Please use Number.isNaN instead`, | |
| object: `self`, | |
| property: `isNaN`, | |
| }, | |
| { | |
| message: `Please use Number.isNaN instead`, | |
| object: `window`, | |
| property: `isNaN`, | |
| }, | |
| { | |
| message: `Please use Object.defineProperty instead.`, | |
| property: `__defineGetter__`, | |
| }, | |
| { | |
| message: `Please use Object.defineProperty instead.`, | |
| property: `__defineSetter__`, | |
| }, | |
| { | |
| message: `Use the exponentiation operator (**) instead.`, | |
| object: `Math`, | |
| property: `pow`, | |
| }, | |
| ], | |
| 'no-restricted-syntax': [ | |
| `off`, | |
| { | |
| message: `for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.`, | |
| selector: `ForInStatement`, | |
| }, | |
| { | |
| message: `iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.`, | |
| selector: `ForOfStatement`, | |
| }, | |
| { | |
| message: `Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.`, | |
| selector: `LabeledStatement`, | |
| }, | |
| { | |
| message: `\`with\` is disallowed in strict mode because it makes code impossible to predict and optimize.`, | |
| selector: `WithStatement`, | |
| }, | |
| ], | |
| 'no-return-assign': [`error`, `always`], | |
| 'no-return-await': [`error`], | |
| 'no-script-url': [`error`], | |
| 'no-self-assign': [ | |
| `error`, | |
| { | |
| props: true, | |
| }, | |
| ], | |
| 'no-self-compare': [`error`], | |
| 'no-sequences': [`error`], | |
| 'no-setter-return': [`error`], | |
| 'no-shadow': [`error`], | |
| 'no-shadow-restricted-names': [`error`], | |
| 'no-spaced-func': [`error`], | |
| 'no-sparse-arrays': [`error`], | |
| 'no-sync': [`off`], | |
| 'no-tabs': [`error`], | |
| 'no-template-curly-in-string': [`error`], | |
| 'no-ternary': [`off`], | |
| 'no-this-before-super': [`error`], | |
| 'no-throw-literal': [`error`], | |
| 'no-trailing-spaces': [ | |
| `error`, | |
| { | |
| ignoreComments: false, | |
| skipBlankLines: false, | |
| }, | |
| ], | |
| 'no-undef': [`error`], | |
| 'no-undef-init': [`error`], | |
| 'no-undefined': [`off`], | |
| 'no-underscore-dangle': [ | |
| `error`, | |
| { | |
| allow: [`_id`], | |
| allowAfterSuper: false, | |
| allowAfterThis: false, | |
| allowAfterThisConstructor: false, | |
| allowFunctionParams: true, | |
| allowInArrayDestructuring: true, | |
| allowInObjectDestructuring: true, | |
| enforceInClassFields: false, | |
| enforceInMethodNames: false, | |
| }, | |
| ], | |
| 'no-unexpected-multiline': [`error`], | |
| 'no-unmodified-loop-condition': [`error`], | |
| 'no-unneeded-ternary': [ | |
| `error`, | |
| { | |
| defaultAssignment: false, | |
| }, | |
| ], | |
| 'no-unreachable': [`error`], | |
| 'no-unreachable-loop': [ | |
| `error`, | |
| { | |
| ignore: [], | |
| }, | |
| ], | |
| 'no-unsafe-finally': [`error`], | |
| 'no-unsafe-negation': [`error`], | |
| 'no-unsafe-optional-chaining': [ | |
| `error`, | |
| { | |
| disallowArithmeticOperators: true, | |
| }, | |
| ], | |
| 'no-unused-expressions': [ | |
| `error`, | |
| { | |
| allowShortCircuit: false, | |
| allowTaggedTemplates: false, | |
| allowTernary: false, | |
| enforceForJSX: false, | |
| }, | |
| ], | |
| 'no-unused-labels': [`error`], | |
| 'no-unused-private-class-members': [`off`], | |
| 'no-unused-vars': [ | |
| `error`, | |
| { | |
| args: `all`, | |
| argsIgnorePattern: `^unused[A-Z].*$`, | |
| caughtErrors: `all`, | |
| caughtErrorsIgnorePattern: `^unused[A-Z].*$`, | |
| vars: `all`, | |
| varsIgnorePattern: `^unused[A-Z].*$`, | |
| }, | |
| ], | |
| 'no-use-before-define': [ | |
| `error`, | |
| { | |
| functions: false, | |
| }, | |
| ], | |
| 'no-useless-backreference': [`error`], | |
| 'no-useless-call': [`error`], | |
| 'no-useless-catch': [`error`], | |
| 'no-useless-computed-key': [`error`], | |
| 'no-useless-concat': [`error`], | |
| 'no-useless-constructor': [`error`], | |
| 'no-useless-escape': [`error`], | |
| 'no-useless-rename': [ | |
| `error`, | |
| { | |
| ignoreDestructuring: false, | |
| ignoreExport: false, | |
| ignoreImport: false, | |
| }, | |
| ], | |
| 'no-useless-return': [`error`], | |
| 'no-var': [`error`], | |
| 'no-void': [`error`], | |
| 'no-warning-comments': [ | |
| `off`, | |
| { | |
| location: `start`, | |
| terms: [`todo`, `fixme`, `xxx`], | |
| }, | |
| ], | |
| 'no-whitespace-before-property': [`error`], | |
| 'no-with': [`error`], | |
| 'nonblock-statement-body-position': [ | |
| `error`, | |
| `beside`, | |
| { | |
| overrides: {}, | |
| }, | |
| ], | |
| 'object-curly-newline': [ | |
| `off`, | |
| { | |
| ExportDeclaration: { | |
| consistent: true, | |
| minProperties: 4, | |
| multiline: true, | |
| }, | |
| ImportDeclaration: { | |
| consistent: true, | |
| minProperties: 4, | |
| multiline: true, | |
| }, | |
| ObjectExpression: { | |
| consistent: true, | |
| minProperties: 4, | |
| multiline: true, | |
| }, | |
| ObjectPattern: { | |
| consistent: true, | |
| minProperties: 4, | |
| multiline: true, | |
| }, | |
| }, | |
| ], | |
| 'object-curly-spacing': [`error`, `always`], | |
| 'object-property-newline': [ | |
| `error`, | |
| { | |
| allowAllPropertiesOnSameLine: true, | |
| allowMultiplePropertiesPerLine: false, | |
| }, | |
| ], | |
| 'object-shorthand': [ | |
| `error`, | |
| `always`, | |
| { | |
| avoidQuotes: true, | |
| ignoreConstructors: false, | |
| }, | |
| ], | |
| 'one-var': [`error`, `never`], | |
| 'one-var-declaration-per-line': [`error`, `always`], | |
| 'operator-assignment': [`error`, `always`], | |
| 'operator-linebreak': [ | |
| `off`, | |
| `before`, | |
| { | |
| overrides: { | |
| '=': `none`, | |
| }, | |
| }, | |
| ], | |
| 'padded-blocks': [ | |
| `error`, | |
| { | |
| blocks: `never`, | |
| classes: `never`, | |
| switches: `never`, | |
| }, | |
| { | |
| allowSingleLineBlocks: true, | |
| }, | |
| ], | |
| 'padding-line-between-statements': [ | |
| `error`, | |
| { | |
| blankLine: `always`, | |
| next: `continue`, | |
| prev: `*`, | |
| }, | |
| { | |
| blankLine: `always`, | |
| next: `return`, | |
| prev: `*`, | |
| }, | |
| { | |
| blankLine: `always`, | |
| next: `throw`, | |
| prev: `*`, | |
| }, | |
| { | |
| blankLine: `always`, | |
| next: `*`, | |
| prev: [`const`, `let`, `var`], | |
| }, | |
| { | |
| blankLine: `any`, | |
| next: [`const`, `let`, `var`], | |
| prev: [`const`, `let`, `var`], | |
| }, | |
| ], | |
| 'prefer-arrow-callback': [ | |
| `error`, | |
| { | |
| allowNamedFunctions: false, | |
| allowUnboundThis: true, | |
| }, | |
| ], | |
| 'prefer-const': [ | |
| `error`, | |
| { | |
| destructuring: `any`, | |
| ignoreReadBeforeAssign: true, | |
| }, | |
| ], | |
| 'prefer-destructuring': [ | |
| `error`, | |
| { | |
| array: false, | |
| object: true, | |
| }, | |
| { | |
| enforceForRenamedProperties: false, | |
| }, | |
| ], | |
| 'prefer-exponentiation-operator': [`error`], | |
| 'prefer-named-capture-group': [`off`], | |
| 'prefer-numeric-literals': [`error`], | |
| 'prefer-object-has-own': [`error`], | |
| 'prefer-object-spread': [`error`], | |
| 'prefer-promise-reject-errors': [ | |
| `error`, | |
| { | |
| allowEmptyReject: true, | |
| }, | |
| ], | |
| 'prefer-reflect': [`off`], | |
| 'prefer-regex-literals': [ | |
| `error`, | |
| { | |
| disallowRedundantWrapping: true, | |
| }, | |
| ], | |
| 'prefer-rest-params': [`error`], | |
| 'prefer-spread': [`error`], | |
| 'prefer-template': [`error`], | |
| 'quote-props': [ | |
| `error`, | |
| `as-needed`, | |
| { | |
| keywords: false, | |
| numbers: false, | |
| unnecessary: true, | |
| }, | |
| ], | |
| quotes: [`error`, `backtick`], | |
| radix: [`error`], | |
| 'require-atomic-updates': [`off`], | |
| 'require-await': [`error`], | |
| 'require-jsdoc': [`off`], | |
| 'require-unicode-regexp': [`off`], | |
| 'require-yield': [`error`], | |
| 'rest-spread-spacing': [`error`, `never`], | |
| semi: [`error`, `always`], | |
| 'semi-spacing': [ | |
| `error`, | |
| { | |
| after: true, | |
| before: false, | |
| }, | |
| ], | |
| 'semi-style': [`error`, `last`], | |
| 'simple-import-sort/exports': [`error`], | |
| 'simple-import-sort/imports': [`error`], | |
| 'sort-destructure-keys/sort-destructure-keys': [ | |
| `error`, | |
| { | |
| caseSensitive: false, | |
| }, | |
| ], | |
| 'sort-imports': [ | |
| `off`, | |
| { | |
| ignoreCase: false, | |
| ignoreDeclarationSort: false, | |
| ignoreMemberSort: false, | |
| memberSyntaxSortOrder: [`none`, `all`, `multiple`, `single`], | |
| }, | |
| ], | |
| 'sort-keys': [ | |
| `error`, | |
| `asc`, | |
| { | |
| allowLineSeparatedGroups: false, | |
| caseSensitive: false, | |
| minKeys: 2, | |
| natural: true, | |
| }, | |
| ], | |
| 'sort-vars': [`off`], | |
| 'space-before-blocks': [`error`], | |
| 'space-before-function-paren': [ | |
| `error`, | |
| { | |
| anonymous: `always`, | |
| asyncArrow: `always`, | |
| named: `never`, | |
| }, | |
| ], | |
| 'space-in-parens': [`error`, `never`], | |
| 'space-infix-ops': [`error`], | |
| 'space-unary-ops': [ | |
| `error`, | |
| { | |
| nonwords: false, | |
| overrides: {}, | |
| words: true, | |
| }, | |
| ], | |
| 'spaced-comment': [ | |
| `error`, | |
| `always`, | |
| { | |
| block: { | |
| balanced: true, | |
| exceptions: [`-`, `+`], | |
| markers: [`=`, `!`, `:`, `::`], | |
| }, | |
| line: { | |
| exceptions: [`-`, `+`], | |
| markers: [`=`, `!`, `/`], | |
| }, | |
| }, | |
| ], | |
| strict: [`error`, `never`], | |
| 'switch-colon-spacing': [ | |
| `error`, | |
| { | |
| after: true, | |
| before: false, | |
| }, | |
| ], | |
| 'symbol-description': [`error`], | |
| 'template-curly-spacing': [`error`], | |
| 'template-tag-spacing': [`error`, `never`], | |
| 'unicode-bom': [`error`, `never`], | |
| 'use-isnan': [`error`], | |
| 'valid-jsdoc': [`off`], | |
| 'valid-typeof': [ | |
| `error`, | |
| { | |
| requireStringLiterals: true, | |
| }, | |
| ], | |
| 'vars-on-top': [`error`], | |
| 'wrap-iife': [ | |
| `off`, | |
| `outside`, | |
| { | |
| functionPrototypeMethods: false, | |
| }, | |
| ], | |
| 'wrap-regex': [`off`], | |
| 'yield-star-spacing': [`error`, `after`], | |
| yoda: [`error`], | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment