Created
January 25, 2022 08:12
-
-
Save jhunterkohler/87bc6222534c3b8f1b3f7309b9e5b70b to your computer and use it in GitHub Desktop.
Personal ESLint Config
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
Show hidden characters
| { | |
| "$schema": "https://json.schemastore.org/eslintrc", | |
| "env": { | |
| "es6": true, | |
| "node": true | |
| }, | |
| "plugins": [], | |
| "extends": [], | |
| "globals": {}, | |
| "ignorePatterns": [], | |
| "noInlineConfig": false, | |
| "parser": "espree", | |
| "parserOptions": { | |
| "ecmaFeatures": {}, | |
| "ecmaVersion": 2022, | |
| "sourceType": "module", | |
| }, | |
| "root": true, | |
| "settings": {}, | |
| "rules": { | |
| "accessor-pairs": "off", | |
| "array-callback-return": ["off", { "allowImplicit": true }], | |
| "block-scoped-var": "error", | |
| "complexity": ["off", 20], | |
| "class-methods-use-this": "off", | |
| "consistent-return": "off", | |
| "curly": ["error", "multi-line"], | |
| "default-case": ["error", { "commentPattern": "^no default$" }], | |
| "default-case-last": "off", | |
| "default-param-last": "off", | |
| "dot-notation": ["error", { "allowKeywords": true }], | |
| "dot-location": ["error", "property"], | |
| "eqeqeq": "off", | |
| "grouped-accessor-pairs": "off", | |
| "guard-for-in": "off", | |
| "max-classes-per-file": "off", | |
| "no-alert": "warn", | |
| "no-caller": "error", | |
| "no-case-declarations": "error", | |
| "no-constructor-return": "off", | |
| "no-div-regex": "off", | |
| "no-else-return": ["error", { "allowElseIf": false }], | |
| "no-empty-function": [ | |
| "error", | |
| { "allow": ["arrowFunctions", "functions", "methods"] } | |
| ], | |
| "no-empty-pattern": "error", | |
| "no-eq-null": "off", | |
| "no-eval": "error", | |
| "no-extend-native": "error", | |
| "no-extra-bind": "error", | |
| "no-extra-label": "error", | |
| "no-fallthrough": "error", | |
| "no-floating-decimal": "error", | |
| "no-global-assign": ["error", { "exceptions": [] }], | |
| "no-native-reassign": "off", | |
| "no-implicit-coercion": [ | |
| "off", | |
| { "boolean": false, "number": true, "string": true, "allow": [] } | |
| ], | |
| "no-implicit-globals": "off", | |
| "no-implied-eval": "error", | |
| "no-invalid-this": "off", | |
| "no-iterator": "error", | |
| "no-labels": ["error", { "allowLoop": false, "allowSwitch": false }], | |
| "no-lone-blocks": "error", | |
| "no-loop-func": "error", | |
| "no-magic-numbers": [ | |
| "off", | |
| { | |
| "ignore": [], | |
| "ignoreArrayIndexes": true, | |
| "enforceConst": true, | |
| "detectObjects": false | |
| } | |
| ], | |
| "no-multi-spaces": ["error", { "ignoreEOLComments": false }], | |
| "no-multi-str": "error", | |
| "no-new": "error", | |
| "no-new-func": "error", | |
| "no-new-wrappers": "error", | |
| "no-nonoctal-decimal-escape": "off", | |
| "no-octal": "error", | |
| "no-octal-escape": "error", | |
| "no-param-reassign": "off", | |
| "no-proto": "error", | |
| "no-redeclare": "error", | |
| "no-restricted-properties": [ | |
| "error", | |
| { "object": "arguments", "property": "callee" }, | |
| { "object": "global", "property": "isFinite" }, | |
| { "object": "self", "property": "isFinite" }, | |
| { "object": "window", "property": "isFinite" }, | |
| { "object": "global", "property": "isNaN" }, | |
| { "object": "self", "property": "isNaN" }, | |
| { "object": "window", "property": "isNaN" }, | |
| { "property": "__defineGetter__" }, | |
| { "property": "__defineSetter__" }, | |
| { "object": "Math", "property": "pow" } | |
| ], | |
| "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-throw-literal": "error", | |
| "no-unmodified-loop-condition": "off", | |
| "no-unused-expressions": [ | |
| "error", | |
| { | |
| "allowShortCircuit": false, | |
| "allowTernary": false, | |
| "allowTaggedTemplates": false | |
| } | |
| ], | |
| "no-unused-labels": "error", | |
| "no-useless-call": "off", | |
| "no-useless-catch": "error", | |
| "no-useless-concat": "error", | |
| "no-useless-escape": "error", | |
| "no-useless-return": "error", | |
| "no-void": "error", | |
| "no-warning-comments": [ | |
| "off", | |
| { "terms": ["todo", "fixme", "xxx"], "location": "start" } | |
| ], | |
| "no-with": "error", | |
| "prefer-promise-reject-errors": ["error", { "allowEmptyReject": true }], | |
| "prefer-named-capture-group": "off", | |
| "prefer-regex-literals": "off", | |
| "radix": "error", | |
| "require-await": "off", | |
| "require-unicode-regexp": "off", | |
| "vars-on-top": "error", | |
| "wrap-iife": ["error", "inside"], | |
| "yoda": "error", | |
| "for-direction": "error", | |
| "getter-return": ["error", { "allowImplicit": true }], | |
| "no-async-promise-executor": "error", | |
| "no-await-in-loop": "error", | |
| "no-compare-neg-zero": "error", | |
| "no-cond-assign": ["error", "always"], | |
| "no-console": "off", | |
| "no-constant-condition": "error", | |
| "no-control-regex": "error", | |
| "no-debugger": "error", | |
| "no-dupe-args": "error", | |
| "no-dupe-else-if": "off", | |
| "no-dupe-keys": "error", | |
| "no-duplicate-case": "error", | |
| "no-empty": "error", | |
| "no-empty-character-class": "error", | |
| "no-ex-assign": "error", | |
| "no-extra-boolean-cast": "error", | |
| "no-extra-parens": [ | |
| "off", | |
| "all", | |
| { | |
| "conditionalAssign": true, | |
| "nestedBinaryExpressions": false, | |
| "returnAssign": false, | |
| "ignoreJSX": "all", | |
| "enforceForArrowConditionals": false | |
| } | |
| ], | |
| "no-extra-semi": "error", | |
| "no-func-assign": "error", | |
| "no-import-assign": "off", | |
| "no-inner-declarations": "error", | |
| "no-invalid-regexp": "error", | |
| "no-irregular-whitespace": "error", | |
| "no-loss-of-precision": "off", | |
| "no-misleading-character-class": "error", | |
| "no-obj-calls": "error", | |
| "no-promise-executor-return": "off", | |
| "no-prototype-builtins": "error", | |
| "no-regex-spaces": "error", | |
| "no-setter-return": "off", | |
| "no-sparse-arrays": "error", | |
| "no-template-curly-in-string": "error", | |
| "no-unexpected-multiline": "error", | |
| "no-unreachable": "error", | |
| "no-unreachable-loop": ["off", { "ignore": [] }], | |
| "no-unsafe-finally": "error", | |
| "no-unsafe-negation": "error", | |
| "no-unsafe-optional-chaining": [ | |
| "off", | |
| { "disallowArithmeticOperators": true } | |
| ], | |
| "no-useless-backreference": "off", | |
| "no-negated-in-lhs": "off", | |
| "require-atomic-updates": "off", | |
| "use-isnan": "error", | |
| "valid-jsdoc": "off", | |
| "valid-typeof": ["error", { "requireStringLiterals": true }], | |
| "arrow-body-style": [ | |
| "error", | |
| "as-needed", | |
| { "requireReturnForObjectLiteral": false } | |
| ], | |
| "arrow-parens": ["error", "always"], | |
| "arrow-spacing": ["error", { "before": true, "after": true }], | |
| "constructor-super": "error", | |
| "generator-star-spacing": ["error", { "before": false, "after": true }], | |
| "no-class-assign": "error", | |
| "no-confusing-arrow": ["error", { "allowParens": true }], | |
| "no-const-assign": "error", | |
| "no-dupe-class-members": "error", | |
| "no-duplicate-imports": "off", | |
| "no-new-symbol": "error", | |
| "no-restricted-exports": [ | |
| "off", | |
| { "restrictedNamedExports": ["default", "then"] } | |
| ], | |
| "no-restricted-imports": ["off", { "paths": [], "patterns": [] }], | |
| "no-this-before-super": "error", | |
| "no-useless-computed-key": "error", | |
| "no-useless-constructor": "error", | |
| "no-useless-rename": [ | |
| "error", | |
| { | |
| "ignoreDestructuring": false, | |
| "ignoreImport": false, | |
| "ignoreExport": false | |
| } | |
| ], | |
| "no-var": "error", | |
| "object-shorthand": [ | |
| "error", | |
| "always", | |
| { "ignoreConstructors": false, "avoidQuotes": true } | |
| ], | |
| "prefer-arrow-callback": "off", | |
| "prefer-const": [ | |
| "error", | |
| { "destructuring": "any", "ignoreReadBeforeAssign": true } | |
| ], | |
| "prefer-destructuring": [ | |
| "error", | |
| { | |
| "VariableDeclarator": { "array": false, "object": true }, | |
| "AssignmentExpression": { "array": true, "object": false } | |
| }, | |
| { "enforceForRenamedProperties": false } | |
| ], | |
| "prefer-numeric-literals": "error", | |
| "prefer-reflect": "off", | |
| "prefer-rest-params": "error", | |
| "prefer-spread": "error", | |
| "prefer-template": "error", | |
| "require-yield": "error", | |
| "rest-spread-spacing": ["error", "never"], | |
| "sort-imports": [ | |
| "off", | |
| { | |
| "ignoreCase": false, | |
| "ignoreDeclarationSort": false, | |
| "ignoreMemberSort": false, | |
| "memberSyntaxSortOrder": ["none", "all", "multiple", "single"] | |
| } | |
| ], | |
| "symbol-description": "error", | |
| "template-curly-spacing": "error", | |
| "yield-star-spacing": ["error", "after"], | |
| "callback-return": "off", | |
| "global-require": "error", | |
| "handle-callback-err": "off", | |
| "no-buffer-constructor": "error", | |
| "no-mixed-requires": ["off", false], | |
| "no-new-require": "error", | |
| "no-path-concat": "error", | |
| "no-process-env": "off", | |
| "no-process-exit": "off", | |
| "no-restricted-modules": "off", | |
| "no-sync": "off", | |
| "strict": ["error", "never"], | |
| "array-element-newline": ["off", { "multiline": true, "minItems": 3 }], | |
| "array-bracket-spacing": ["error", "never"], | |
| "block-spacing": ["error", "always"], | |
| "brace-style": ["error", "1tbs", { "allowSingleLine": true }], | |
| "camelcase": "off", | |
| "capitalized-comments": [ | |
| "off", | |
| "never", | |
| { | |
| "line": { | |
| "ignorePattern": ".*", | |
| "ignoreInlineComments": true, | |
| "ignoreConsecutiveComments": true | |
| }, | |
| "block": { | |
| "ignorePattern": ".*", | |
| "ignoreInlineComments": true, | |
| "ignoreConsecutiveComments": true | |
| } | |
| } | |
| ], | |
| "comma-dangle": ["error", "only-multiline"], | |
| "comma-spacing": ["error", { "before": false, "after": true }], | |
| "comma-style": [ | |
| "error", | |
| "last", | |
| { | |
| "exceptions": { | |
| "ArrayExpression": false, | |
| "ArrayPattern": false, | |
| "ArrowFunctionExpression": false, | |
| "CallExpression": false, | |
| "FunctionDeclaration": false, | |
| "FunctionExpression": false, | |
| "ImportDeclaration": false, | |
| "ObjectExpression": false, | |
| "ObjectPattern": false, | |
| "VariableDeclaration": false, | |
| "NewExpression": false | |
| } | |
| } | |
| ], | |
| "computed-property-spacing": ["error", "never"], | |
| "consistent-this": "off", | |
| "eol-last": ["error", "always"], | |
| "function-call-argument-newline": ["off", "consistent"], | |
| "func-call-spacing": ["error", "never"], | |
| "func-name-matching": [ | |
| "off", | |
| "always", | |
| { | |
| "includeCommonJSModuleExports": false, | |
| "considerPropertyDescriptor": true | |
| } | |
| ], | |
| "func-names": "off", | |
| "func-style": ["off", "declaration"], | |
| "function-paren-newline": ["error", "multiline-arguments"], | |
| "id-blacklist": "off", | |
| "id-denylist": "off", | |
| "id-length": "off", | |
| "id-match": "off", | |
| "implicit-arrow-linebreak": "off", | |
| "indent": "error", | |
| "jsx-quotes": ["off", "prefer-double"], | |
| "key-spacing": ["error", { "beforeColon": false, "afterColon": true }], | |
| "keyword-spacing": [ | |
| "error", | |
| { | |
| "before": true, | |
| "after": true, | |
| "overrides": { | |
| "return": { "after": true }, | |
| "throw": { "after": true }, | |
| "case": { "after": true } | |
| } | |
| } | |
| ], | |
| "line-comment-position": [ | |
| "off", | |
| { | |
| "position": "above", | |
| "ignorePattern": "", | |
| "applyDefaultPatterns": true | |
| } | |
| ], | |
| "linebreak-style": ["error", "unix"], | |
| "lines-between-class-members": [ | |
| "error", | |
| "always", | |
| { "exceptAfterSingleLine": true } | |
| ], | |
| "lines-around-comment": "off", | |
| "lines-around-directive": [ | |
| "error", | |
| { "before": "always", "after": "always" } | |
| ], | |
| "max-depth": ["off", 4], | |
| "max-len": [ | |
| "error", | |
| 80, | |
| 4, | |
| { | |
| "ignoreUrls": true, | |
| "ignoreComments": false, | |
| "ignoreRegExpLiterals": true, | |
| "ignoreStrings": true, | |
| "ignoreTemplateLiterals": true | |
| } | |
| ], | |
| "max-lines": [ | |
| "off", | |
| { "max": 300, "skipBlankLines": true, "skipComments": true } | |
| ], | |
| "max-lines-per-function": [ | |
| "off", | |
| { | |
| "max": 50, | |
| "skipBlankLines": true, | |
| "skipComments": true, | |
| "IIFEs": true | |
| } | |
| ], | |
| "max-nested-callbacks": "off", | |
| "max-params": ["off", 3], | |
| "max-statements": ["off", 10], | |
| "max-statements-per-line": ["off", { "max": 1 }], | |
| "multiline-comment-style": ["off", "starred-block"], | |
| "multiline-ternary": ["off", "never"], | |
| "new-cap": [ | |
| "error", | |
| { | |
| "newIsCap": true, | |
| "newIsCapExceptions": [], | |
| "capIsNew": false, | |
| "capIsNewExceptions": [ | |
| "Immutable.Map", | |
| "Immutable.Set", | |
| "Immutable.List" | |
| ] | |
| } | |
| ], | |
| "new-parens": "error", | |
| "newline-after-var": "off", | |
| "newline-before-return": "off", | |
| "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 4 }], | |
| "no-array-constructor": "error", | |
| "no-bitwise": "error", | |
| "no-continue": "error", | |
| "no-inline-comments": "off", | |
| "no-lonely-if": "error", | |
| "no-mixed-operators": [ | |
| "error", | |
| { | |
| "groups": [ | |
| ["%", "**"], | |
| ["%", "+"], | |
| ["%", "-"], | |
| ["%", "*"], | |
| ["%", "/"], | |
| ["/", "*"], | |
| ["&", "|", "<<", ">>", ">>>"], | |
| ["==", "!=", "===", "!=="], | |
| ["&&", "||"] | |
| ], | |
| "allowSamePrecedence": false | |
| } | |
| ], | |
| "no-mixed-spaces-and-tabs": "error", | |
| "no-multi-assign": ["error"], | |
| "no-multiple-empty-lines": [ | |
| "error", | |
| { "max": 1, "maxBOF": 0, "maxEOF": 0 } | |
| ], | |
| "no-negated-condition": "off", | |
| "no-nested-ternary": "error", | |
| "no-new-object": "error", | |
| "no-plusplus": "off", | |
| "no-restricted-syntax": "off", | |
| "no-spaced-func": "error", | |
| "no-tabs": "error", | |
| "no-ternary": "off", | |
| "no-trailing-spaces": [ | |
| "error", | |
| { "skipBlankLines": false, "ignoreComments": false } | |
| ], | |
| "no-underscore-dangle": "off", | |
| "no-unneeded-ternary": ["error", { "defaultAssignment": false }], | |
| "no-whitespace-before-property": "error", | |
| "nonblock-statement-body-position": [ | |
| "error", | |
| "beside", | |
| { "overrides": {} } | |
| ], | |
| "object-curly-spacing": ["error", "always"], | |
| "object-curly-newline": "error", | |
| "object-property-newline": [ | |
| "error", | |
| { "allowAllPropertiesOnSameLine": true } | |
| ], | |
| "one-var": ["error", "never"], | |
| "one-var-declaration-per-line": ["error", "always"], | |
| "operator-assignment": ["error", "always"], | |
| "operator-linebreak": [ | |
| "error", | |
| "after", | |
| { "overrides": { "?": "before", ":": "before" } } | |
| ], | |
| "padded-blocks": [ | |
| "error", | |
| { "blocks": "never", "classes": "never", "switches": "never" }, | |
| { "allowSingleLineBlocks": true } | |
| ], | |
| "padding-line-between-statements": "off", | |
| "prefer-exponentiation-operator": "off", | |
| "prefer-object-spread": "error", | |
| "quote-props": ["error", "consistent-as-needed"], | |
| "quotes": [ | |
| "error", | |
| "double", | |
| { "avoidEscape": true, "allowTemplateLiterals": true } | |
| ], | |
| "require-jsdoc": "off", | |
| "semi": ["error", "always"], | |
| "semi-spacing": ["error", { "before": false, "after": true }], | |
| "semi-style": ["error", "last"], | |
| "sort-keys": [ | |
| "off", | |
| "asc", | |
| { "caseSensitive": false, "natural": true } | |
| ], | |
| "sort-vars": "off", | |
| "space-before-blocks": "error", | |
| "space-before-function-paren": [ | |
| "error", | |
| { "anonymous": "always", "named": "never", "asyncArrow": "always" } | |
| ], | |
| "space-in-parens": ["error", "never"], | |
| "space-infix-ops": "error", | |
| "space-unary-ops": [ | |
| "error", | |
| { "words": true, "nonwords": false, "overrides": {} } | |
| ], | |
| "spaced-comment": [ | |
| "error", | |
| "always", | |
| { | |
| "line": { | |
| "exceptions": ["-", "+"], | |
| "markers": ["=", "!", "/"] | |
| }, | |
| "block": { | |
| "exceptions": ["-", "+"], | |
| "markers": ["=", "!", ":", "::"], | |
| "balanced": true | |
| } | |
| } | |
| ], | |
| "switch-colon-spacing": ["error", { "after": true, "before": false }], | |
| "template-tag-spacing": ["error", "never"], | |
| "unicode-bom": ["error", "never"], | |
| "wrap-regex": "off", | |
| "init-declarations": "off", | |
| "no-catch-shadow": "off", | |
| "no-delete-var": "error", | |
| "no-label-var": "error", | |
| "no-restricted-globals": [ | |
| "error", | |
| { "name": "isFinite" }, | |
| { "name": "isNaN" } | |
| ], | |
| "no-shadow": "off", | |
| "no-shadow-restricted-names": "error", | |
| "no-undef": "error", | |
| "no-undef-init": "error", | |
| "no-undefined": "off", | |
| "no-unused-vars": [ | |
| "error", | |
| { | |
| "vars": "all", | |
| "args": "after-used", | |
| "ignoreRestSiblings": true, | |
| "argsIgnorePattern": "^(next|_.+)$" | |
| } | |
| ], | |
| "no-use-before-define": [ | |
| "error", | |
| { "functions": false, "classes": true, "variables": true } | |
| ], | |
| } | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment