davidjbradshaw / eslint-config-auto

Automatically configure ESLint based on project dependencies
398 stars 13 forks source link

typescript is not detected #19

Closed YoraiLevi closed 3 years ago

YoraiLevi commented 3 years ago

npx eslint --print-config .json

``` eslint-config-auto loaded the following packages: eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks @typescript-eslint/recommended @typescript-eslint/recommended-requiring-type-checking eslint-config-airbnb eslint-config-airbnb/hooks eslint-config-airbnb-typescript eslint-config-adjunct eslint-config-adjunct loaded the following packages: eslint-plugin-array-func eslint-plugin-eslint-comments eslint-plugin-html eslint-plugin-json eslint-plugin-markdown eslint-plugin-no-constructor-bind eslint-plugin-no-use-extend-native eslint-plugin-optimize-regex eslint-plugin-promise eslint-plugin-simple-import-sort eslint-plugin-switch-case eslint-plugin-unicorn eslint-plugin-no-secrets eslint-plugin-no-unsanitized eslint-plugin-scanjs-rules eslint-plugin-security eslint-plugin-sonarjs eslint-plugin-jest eslint-plugin-jest-async eslint-plugin-jest-dom eslint-plugin-testing-library eslint-plugin-prettier eslint-plugin-testing-library/react eslint-config-prettier eslint-config-prettier/@typescript-eslint eslint-config-prettier/react eslint-config-prettier/unicorn eslint-test-overrides ```

the output config:

```json { "env": { "jest": true, "jest/globals": true, "es6": true, "node": true }, "globals": {}, "parser": null, "parserOptions": { "ecmaVersion": 2021, "sourceType": "module", "ecmaFeatures": { "jsx": true, "generators": false, "objectLiteralDuplicateProperties": false } }, "plugins": [ "import", "react", "jsx-a11y", "react-hooks", "array-func", "eslint-comments", "html", "json", "markdown", "no-constructor-bind", "no-use-extend-native", "optimize-regex", "promise", "simple-import-sort", "switch-case", "unicorn", "no-secrets", "no-unsanitized", "scanjs-rules", "security", "sonarjs", "jest", "jest-async", "jest-dom", "testing-library", "prettier" ], "rules": { "react/jsx-props-no-spreading": [ "off", { "html": "enforce", "custom": "enforce", "explicitSpread": "ignore", "exceptions": [] } ], "prettier/prettier": [ "off" ], "unicorn/empty-brace-spaces": [ "off" ], "unicorn/no-nested-ternary": [ "off" ], "unicorn/number-literal-case": [ "off" ], "react/jsx-child-element-spacing": [ "off" ], "react/jsx-closing-bracket-location": [ "off", "line-aligned" ], "react/jsx-closing-tag-location": [ "off" ], "react/jsx-curly-newline": [ "off", { "multiline": "consistent", "singleline": "consistent" } ], "react/jsx-curly-spacing": [ "off", "never", { "allowMultiline": true } ], "react/jsx-equals-spacing": [ "off", "never" ], "react/jsx-first-prop-new-line": [ "off", "multiline-multiprop" ], "react/jsx-indent": [ "off", 2 ], "react/jsx-indent-props": [ "off", 2 ], "react/jsx-max-props-per-line": [ "off", { "maximum": 1, "when": "multiline" } ], "react/jsx-newline": [ "off" ], "react/jsx-one-expression-per-line": [ "off", { "allow": "single-child" } ], "react/jsx-props-no-multi-spaces": [ "off" ], "react/jsx-tag-spacing": [ "off", { "closingSlash": "never", "beforeSelfClosing": "always", "afterOpening": "never", "beforeClosing": "never" } ], "react/jsx-wrap-multilines": [ "off", { "declaration": "parens-new-line", "assignment": "parens-new-line", "return": "parens-new-line", "arrow": "parens-new-line", "condition": "parens-new-line", "logical": "parens-new-line", "prop": "parens-new-line" } ], "react/jsx-space-before-closing": [ "off", "always" ], "@typescript-eslint/quotes": [ 0 ], "@typescript-eslint/brace-style": [ "off" ], "@typescript-eslint/comma-dangle": [ "off" ], "@typescript-eslint/comma-spacing": [ "off" ], "@typescript-eslint/func-call-spacing": [ "off" ], "@typescript-eslint/indent": [ "off" ], "@typescript-eslint/keyword-spacing": [ "off" ], "@typescript-eslint/member-delimiter-style": [ "off" ], "@typescript-eslint/no-extra-parens": [ "off" ], "@typescript-eslint/no-extra-semi": [ "off" ], "@typescript-eslint/object-curly-spacing": [ "off" ], "@typescript-eslint/semi": [ "off" ], "@typescript-eslint/space-before-function-paren": [ "off" ], "@typescript-eslint/space-infix-ops": [ "off" ], "@typescript-eslint/type-annotation-spacing": [ "off" ], "curly": [ 0, "multi-line" ], "lines-around-comment": [ 0 ], "max-len": [ 0, 100, 2, { "ignoreUrls": true, "ignoreComments": false, "ignoreRegExpLiterals": true, "ignoreStrings": true, "ignoreTemplateLiterals": true } ], "no-confusing-arrow": [ 0, { "allowParens": true } ], "no-mixed-operators": [ 0, { "groups": [ [ "%", "**" ], [ "%", "+" ], [ "%", "-" ], [ "%", "*" ], [ "%", "/" ], [ "/", "*" ], [ "&", "|", "<<", ">>", ">>>" ], [ "==", "!=", "===", "!==" ], [ "&&", "||" ] ], "allowSamePrecedence": false } ], "no-tabs": [ 0 ], "no-unexpected-multiline": [ 0 ], "quotes": [ 0, "single", { "avoidEscape": true } ], "array-bracket-newline": [ "off", "consistent" ], "array-bracket-spacing": [ "off", "never" ], "array-element-newline": [ "off", { "multiline": true, "minItems": 3 } ], "arrow-parens": [ "off", "always" ], "arrow-spacing": [ "off", { "before": true, "after": true } ], "block-spacing": [ "off", "always" ], "brace-style": [ "off", "1tbs", { "allowSingleLine": true } ], "comma-dangle": [ "off", { "arrays": "always-multiline", "objects": "always-multiline", "imports": "always-multiline", "exports": "always-multiline", "functions": "always-multiline" } ], "comma-spacing": [ "off", { "before": false, "after": true } ], "comma-style": [ "off", "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": [ "off", "never" ], "dot-location": [ "off", "property" ], "eol-last": [ "off", "always" ], "func-call-spacing": [ "off", "never" ], "function-call-argument-newline": [ "off", "consistent" ], "function-paren-newline": [ "off", "consistent" ], "generator-star": [ "off" ], "generator-star-spacing": [ "off", { "before": false, "after": true } ], "implicit-arrow-linebreak": [ "off", "beside" ], "indent": [ "off", 2, { "SwitchCase": 1, "VariableDeclarator": 1, "outerIIFEBody": 1, "FunctionDeclaration": { "parameters": 1, "body": 1 }, "FunctionExpression": { "parameters": 1, "body": 1 }, "CallExpression": { "arguments": 1 }, "ArrayExpression": 1, "ObjectExpression": 1, "ImportDeclaration": 1, "flatTernaryExpressions": false, "ignoredNodes": [ "JSXElement", "JSXElement > *", "JSXAttribute", "JSXIdentifier", "JSXNamespacedName", "JSXMemberExpression", "JSXSpreadAttribute", "JSXExpressionContainer", "JSXOpeningElement", "JSXClosingElement", "JSXFragment", "JSXOpeningFragment", "JSXClosingFragment", "JSXText", "JSXEmptyExpression", "JSXSpreadChild" ], "ignoreComments": false, "offsetTernaryExpressions": false } ], "jsx-quotes": [ "off", "prefer-double" ], "key-spacing": [ "off", { "beforeColon": false, "afterColon": true } ], "keyword-spacing": [ "off", { "before": true, "after": true, "overrides": { "return": { "after": true }, "throw": { "after": true }, "case": { "after": true } } } ], "linebreak-style": [ "off", "unix" ], "multiline-ternary": [ "off", "never" ], "newline-per-chained-call": [ "off", { "ignoreChainWithDepth": 4 } ], "new-parens": [ "off" ], "no-arrow-condition": [ "off" ], "no-comma-dangle": [ "off" ], "no-extra-parens": [ "off", "all", { "conditionalAssign": true, "nestedBinaryExpressions": false, "returnAssign": false, "ignoreJSX": "all", "enforceForArrowConditionals": false } ], "no-extra-semi": [ "off" ], "no-floating-decimal": [ "off" ], "no-mixed-spaces-and-tabs": [ "off" ], "no-multi-spaces": [ "off", { "ignoreEOLComments": false } ], "no-multiple-empty-lines": [ "off", { "max": 1, "maxBOF": 0, "maxEOF": 0 } ], "no-reserved-keys": [ "off" ], "no-space-before-semi": [ "off" ], "no-trailing-spaces": [ "off", { "skipBlankLines": false, "ignoreComments": false } ], "no-whitespace-before-property": [ "off" ], "no-wrap-func": [ "off" ], "nonblock-statement-body-position": [ "off", "beside", { "overrides": {} } ], "object-curly-newline": [ "off", { "ObjectExpression": { "minProperties": 4, "multiline": true, "consistent": true }, "ObjectPattern": { "minProperties": 4, "multiline": true, "consistent": true }, "ImportDeclaration": { "minProperties": 4, "multiline": true, "consistent": true }, "ExportDeclaration": { "minProperties": 4, "multiline": true, "consistent": true } } ], "object-curly-spacing": [ "off", "always" ], "object-property-newline": [ "off", { "allowAllPropertiesOnSameLine": true, "allowMultiplePropertiesPerLine": false } ], "one-var-declaration-per-line": [ "off", "always" ], "operator-linebreak": [ "off", "before", { "overrides": { "=": "none" } } ], "padded-blocks": [ "off", { "blocks": "never", "classes": "never", "switches": "never" }, { "allowSingleLineBlocks": true } ], "quote-props": [ "off", "as-needed", { "keywords": false, "unnecessary": true, "numbers": false } ], "rest-spread-spacing": [ "off", "never" ], "semi": [ "off", "always" ], "semi-spacing": [ "off", { "before": false, "after": true } ], "semi-style": [ "off", "last" ], "space-after-function-name": [ "off" ], "space-after-keywords": [ "off" ], "space-before-blocks": [ "off" ], "space-before-function-paren": [ "off", { "anonymous": "always", "named": "never", "asyncArrow": "always" } ], "space-before-function-parentheses": [ "off" ], "space-before-keywords": [ "off" ], "space-in-brackets": [ "off" ], "space-in-parens": [ "off", "never" ], "space-infix-ops": [ "off" ], "space-return-throw-case": [ "off" ], "space-unary-ops": [ "off", { "words": true, "nonwords": false, "overrides": {} } ], "space-unary-word-ops": [ "off" ], "switch-colon-spacing": [ "off", { "after": true, "before": false } ], "template-curly-spacing": [ "off" ], "template-tag-spacing": [ "off", "never" ], "unicode-bom": [ "off", "never" ], "wrap-iife": [ "off", "outside", { "functionPrototypeMethods": false } ], "wrap-regex": [ "off" ], "yield-star-spacing": [ "off", "after" ], "indent-legacy": [ "off" ], "no-spaced-func": [ "off" ], "testing-library/await-fire-event": [ 0 ], "testing-library/consistent-data-testid": [ 0 ], "testing-library/no-debug": [ 0 ], "testing-library/no-dom-import": [ 0, "react" ], "testing-library/no-manual-cleanup": [ 0 ], "testing-library/no-render-in-setup": [ 0 ], "testing-library/no-await-sync-events": [ 0 ], "testing-library/no-wait-for-empty-callback": [ 0 ], "testing-library/no-wait-for-snapshot": [ 0 ], "testing-library/prefer-explicit-assert": [ 0 ], "testing-library/prefer-presence-queries": [ 0 ], "testing-library/prefer-screen-queries": [ 0 ], "testing-library/prefer-wait-for": [ 0 ], "testing-library/await-async-query": [ "error" ], "testing-library/await-async-utils": [ "error" ], "testing-library/no-await-sync-query": [ "error" ], "testing-library/prefer-find-by": [ "error" ], "jest-dom/prefer-checked": [ "error" ], "jest-dom/prefer-empty": [ "error" ], "jest-dom/prefer-enabled-disabled": [ "error" ], "jest-dom/prefer-focus": [ "error" ], "jest-dom/prefer-in-document": [ "error" ], "jest-dom/prefer-required": [ "error" ], "jest-dom/prefer-to-have-attribute": [ "error" ], "jest-dom/prefer-to-have-class": [ "error" ], "jest-dom/prefer-to-have-style": [ "error" ], "jest-dom/prefer-to-have-text-content": [ "error" ], "jest-dom/prefer-to-have-value": [ "error" ], "jest-async/expect-return": [ "error" ], "jest/no-disabled-tests": [ "off" ], "jest/consistent-test-it": [ 0 ], "jest/lowercase-name": [ 0 ], "jest/no-conditional-expect": [ 0 ], "jest/no-deprecated-functions": [ 0 ], "jest/no-duplicate-hooks": [ 0 ], "jest/no-expect-resolves": [ 0 ], "jest/no-hooks": [ 0 ], "jest/no-if": [ 0 ], "jest/no-interpolation-in-snapshots": [ 0 ], "jest/no-large-snapshots": [ 0 ], "jest/no-restricted-matchers": [ 0 ], "jest/no-test-return-statement": [ 0 ], "jest/no-truthy-falsy": [ 0 ], "jest/prefer-called-with": [ 0 ], "jest/prefer-expect-assertions": [ 0 ], "jest/prefer-hooks-on-top": [ 0 ], "jest/prefer-inline-snapshots": [ 0 ], "jest/prefer-spy-on": [ 0 ], "jest/prefer-strict-equal": [ 0 ], "jest/prefer-todo": [ 0 ], "jest/require-to-throw-message": [ 0 ], "jest/require-top-level-describe": [ 0 ], "jest/valid-title": [ 0 ], "jest/no-alias-methods": [ "warn" ], "jest/prefer-to-be-null": [ "error" ], "jest/prefer-to-be-undefined": [ "error" ], "jest/prefer-to-contain": [ "error" ], "jest/prefer-to-have-length": [ "error" ], "jest/expect-expect": [ "warn" ], "jest/no-commented-out-tests": [ "warn" ], "jest/no-done-callback": [ "error" ], "jest/no-export": [ "error" ], "jest/no-focused-tests": [ "error" ], "jest/no-identical-title": [ "error" ], "jest/no-jasmine-globals": [ "error" ], "jest/no-jest-import": [ "error" ], "jest/no-mocks-import": [ "error" ], "jest/no-standalone-expect": [ "error" ], "jest/no-test-prefixes": [ "error" ], "jest/no-try-expect": [ "error" ], "jest/valid-describe": [ "error" ], "jest/valid-expect-in-promise": [ "error" ], "jest/valid-expect": [ "error" ], "sonarjs/no-duplicate-string": [ "off" ], "sonarjs/cognitive-complexity": [ "error" ], "sonarjs/max-switch-cases": [ "error" ], "sonarjs/no-all-duplicated-branches": [ "error" ], "sonarjs/no-collapsible-if": [ "error" ], "sonarjs/no-collection-size-mischeck": [ "error" ], "sonarjs/no-duplicated-branches": [ "error" ], "sonarjs/no-element-overwrite": [ "error" ], "sonarjs/no-extra-arguments": [ "error" ], "sonarjs/no-identical-conditions": [ "error" ], "sonarjs/no-identical-functions": [ "error" ], "sonarjs/no-identical-expressions": [ "error" ], "sonarjs/no-inverted-boolean-check": [ "error" ], "sonarjs/no-one-iteration-loop": [ "error" ], "sonarjs/no-redundant-boolean": [ "error" ], "sonarjs/no-redundant-jump": [ "error" ], "sonarjs/no-same-line-conditional": [ "error" ], "sonarjs/no-small-switch": [ "error" ], "sonarjs/no-unused-collection": [ "error" ], "sonarjs/no-use-of-empty-return-value": [ "error" ], "sonarjs/no-useless-catch": [ "error" ], "sonarjs/prefer-immediate-return": [ "error" ], "sonarjs/prefer-object-literal": [ "error" ], "sonarjs/prefer-single-boolean-return": [ "error" ], "sonarjs/prefer-while": [ "error" ], "security/detect-object-injection": [ 0 ], "security/detect-buffer-noassert": [ "warn" ], "security/detect-child-process": [ "warn" ], "security/detect-disable-mustache-escape": [ "warn" ], "security/detect-eval-with-expression": [ "warn" ], "security/detect-new-buffer": [ "warn" ], "security/detect-no-csrf-before-method-override": [ "warn" ], "security/detect-non-literal-fs-filename": [ "warn" ], "security/detect-non-literal-regexp": [ "warn" ], "security/detect-non-literal-require": [ "warn" ], "security/detect-possible-timing-attacks": [ "warn" ], "security/detect-pseudoRandomBytes": [ "warn" ], "security/detect-unsafe-regex": [ "warn" ], "scanjs-rules/accidental_assignment": [ 1 ], "scanjs-rules/assign_to_hostname": [ 1 ], "scanjs-rules/assign_to_href": [ 1 ], "scanjs-rules/assign_to_location": [ 1 ], "scanjs-rules/assign_to_onmessage": [ 1 ], "scanjs-rules/assign_to_pathname": [ 1 ], "scanjs-rules/assign_to_protocol": [ 1 ], "scanjs-rules/assign_to_search": [ 1 ], "scanjs-rules/assign_to_src": [ 1 ], "scanjs-rules/call_Function": [ 1 ], "scanjs-rules/call_addEventListener": [ 0 ], "scanjs-rules/call_addEventListener_deviceproximity": [ 1 ], "scanjs-rules/call_addEventListener_message": [ 0 ], "scanjs-rules/call_connect": [ 1 ], "scanjs-rules/call_eval": [ 1 ], "scanjs-rules/call_execScript": [ 1 ], "scanjs-rules/call_hide": [ 1 ], "scanjs-rules/call_open_remote=true": [ 1 ], "scanjs-rules/call_parseFromString": [ 1 ], "scanjs-rules/call_setImmediate": [ 0 ], "scanjs-rules/call_setInterval": [ 0 ], "scanjs-rules/call_setTimeout": [ 0 ], "scanjs-rules/identifier_indexedDB": [ 1 ], "scanjs-rules/identifier_localStorage": [ 1 ], "scanjs-rules/identifier_sessionStorage": [ 1 ], "scanjs-rules/new_Function": [ 1 ], "scanjs-rules/property_addIdleObserver": [ 1 ], "scanjs-rules/property_createContextualFragment": [ 1 ], "scanjs-rules/property_crypto": [ 1 ], "scanjs-rules/property_geolocation": [ 1 ], "scanjs-rules/property_getUserMedia": [ 1 ], "scanjs-rules/property_indexedDB": [ 1 ], "scanjs-rules/property_localStorage": [ 1 ], "scanjs-rules/property_mgmt": [ 1 ], "scanjs-rules/property_sessionStorage": [ 1 ], "scanjs-rules/call_setAttribute_mozbrowser": [ 0 ], "no-unsanitized/method": [ "error" ], "no-unsanitized/property": [ "error" ], "no-secrets/no-secrets": [ "error" ], "unicorn/filename-case": [ 0 ], "unicorn/prefer-exponentiation-operator": [ 0 ], "unicorn/regex-shorthand": [ 0 ], "unicorn/no-fn-reference-in-iterator": [ 0 ], "unicorn/no-array-for-each": [ 0 ], "unicorn/no-reduce": [ 0 ], "unicorn/no-null": [ 0 ], "unicorn/prefer-number-properties": [ 0 ], "unicorn/prefer-optional-catch-binding": [ 0 ], "unicorn/prevent-abbreviations": [ 0 ], "unicorn/better-regex": [ "error" ], "unicorn/catch-error-name": [ "error" ], "unicorn/consistent-destructuring": [ "error" ], "unicorn/consistent-function-scoping": [ "error" ], "unicorn/custom-error-definition": [ "off" ], "unicorn/error-message": [ "error" ], "unicorn/escape-case": [ "error" ], "unicorn/expiring-todo-comments": [ "error" ], "unicorn/explicit-length-check": [ "error" ], "unicorn/import-index": [ "off" ], "unicorn/import-style": [ "error" ], "unicorn/new-for-builtins": [ "error" ], "unicorn/no-abusive-eslint-disable": [ "error" ], "unicorn/no-array-callback-reference": [ "error" ], "unicorn/no-array-push-push": [ "error" ], "unicorn/no-array-reduce": [ "error" ], "unicorn/no-console-spaces": [ "error" ], "unicorn/no-for-loop": [ "error" ], "unicorn/no-hex-escape": [ "error" ], "unicorn/no-instanceof-array": [ "error" ], "unicorn/no-keyword-prefix": [ "off" ], "unicorn/no-lonely-if": [ "error" ], "no-nested-ternary": [ "off" ], "unicorn/no-new-array": [ "error" ], "unicorn/no-new-buffer": [ "error" ], "unicorn/no-object-as-default-parameter": [ "error" ], "unicorn/no-process-exit": [ "error" ], "unicorn/no-this-assignment": [ "error" ], "unicorn/no-unreadable-array-destructuring": [ "error" ], "unicorn/no-unsafe-regex": [ "off" ], "unicorn/no-unused-properties": [ "off" ], "unicorn/no-useless-undefined": [ "error" ], "unicorn/no-zero-fractions": [ "error" ], "unicorn/numeric-separators-style": [ "off" ], "unicorn/prefer-add-event-listener": [ "error" ], "unicorn/prefer-array-find": [ "error" ], "unicorn/prefer-array-flat-map": [ "off" ], "unicorn/prefer-array-index-of": [ "error" ], "unicorn/prefer-array-some": [ "error" ], "unicorn/prefer-date-now": [ "error" ], "unicorn/prefer-default-parameters": [ "error" ], "unicorn/prefer-dom-node-append": [ "error" ], "unicorn/prefer-dom-node-dataset": [ "error" ], "unicorn/prefer-dom-node-remove": [ "error" ], "unicorn/prefer-dom-node-text-content": [ "error" ], "unicorn/prefer-includes": [ "error" ], "unicorn/prefer-keyboard-event-key": [ "error" ], "unicorn/prefer-math-trunc": [ "error" ], "unicorn/prefer-modern-dom-apis": [ "error" ], "unicorn/prefer-negative-index": [ "error" ], "unicorn/prefer-query-selector": [ "error" ], "unicorn/prefer-reflect-apply": [ "error" ], "unicorn/prefer-regexp-test": [ "error" ], "unicorn/prefer-set-has": [ "error" ], "unicorn/prefer-spread": [ "error" ], "unicorn/prefer-string-replace-all": [ "off" ], "unicorn/prefer-string-slice": [ "error" ], "unicorn/prefer-string-starts-ends-with": [ "error" ], "unicorn/prefer-string-trim-start-end": [ "error" ], "unicorn/prefer-ternary": [ "error" ], "unicorn/prefer-type-error": [ "error" ], "unicorn/string-content": [ "off" ], "unicorn/throw-new-error": [ "error" ], "switch-case/newline-between-switch-case": [ "error", "always", { "fallthrough": "never" } ], "switch-case/no-case-curly": [ "error" ], "simple-import-sort/imports": [ "error" ], "simple-import-sort/exports": [ "error" ], "sort-imports": [ "off", { "ignoreCase": false, "ignoreDeclarationSort": false, "ignoreMemberSort": false, "memberSyntaxSortOrder": [ "none", "all", "multiple", "single" ] } ], "import/order": [ "off", { "groups": [ [ "builtin", "external", "internal" ] ] } ], "promise/prefer-await-to-callbacks": [ "off" ], "promise/prefer-await-to-then": [ "off" ], "promise/always-return": [ "error" ], "promise/no-return-wrap": [ "error" ], "promise/param-names": [ "error" ], "promise/catch-or-return": [ "error" ], "promise/no-native": [ "off" ], "promise/no-nesting": [ "warn" ], "promise/no-promise-in-callback": [ "warn" ], "promise/no-callback-in-promise": [ "warn" ], "promise/avoid-new": [ "off" ], "promise/no-new-statics": [ "error" ], "promise/no-return-in-finally": [ "warn" ], "promise/valid-params": [ "warn" ], "optimize-regex/optimize-regex": [ "warn" ], "no-use-extend-native/no-use-extend-native": [ "error" ], "no-constructor-bind/no-constructor-bind": [ "error" ], "no-constructor-bind/no-constructor-state": [ "error" ], "no-var": [ 0 ], "no-unused-vars": [ 0, { "vars": "all", "args": "after-used", "ignoreRestSiblings": true } ], "json/colon-expected": [ 0 ], "json/comma-expected": [ 0 ], "json/comma-or-close-backet-expected": [ 0 ], "json/comma-or-close-brace-expected": [ 0 ], "json/comment-not-permitted": [ 0 ], "json/duplicate-key": [ 0 ], "json/enum-value-mismatch": [ 0 ], "json/invalid-character": [ 0 ], "json/invalid-escape-character": [ 0 ], "json/invalid-unicode": [ 0 ], "json/json": [ 0 ], "json/property-expected": [ 0 ], "json/schema-resolve-error": [ 0 ], "json/trailing-comma": [ 0 ], "json/undefined": [ 0 ], "json/unexpected-end-of-comment": [ 0 ], "json/unexpected-end-of-number": [ 0 ], "json/unexpected-end-of-string": [ 0 ], "json/unknown": [ 0 ], "json/value-expected": [ 0 ], "json/*": [ "error", { "allowComments": true } ], "eslint-comments/no-restricted-disable": [ 0 ], "eslint-comments/no-unused-disable": [ 0 ], "eslint-comments/no-use": [ 0 ], "eslint-comments/require-description": [ 0 ], "eslint-comments/disable-enable-pair": [ "error" ], "eslint-comments/no-aggregating-enable": [ "error" ], "eslint-comments/no-duplicate-disable": [ "error" ], "eslint-comments/no-unlimited-disable": [ "error" ], "eslint-comments/no-unused-enable": [ "error" ], "array-func/prefer-array-from": [ "off" ], "array-func/prefer-flat": [ 0 ], "array-func/prefer-flat-map": [ 0 ], "array-func/from-map": [ "error" ], "array-func/no-unnecessary-this-arg": [ "error" ], "array-func/avoid-reverse": [ "error" ], "react/jsx-no-constructed-context-values": [ 0 ], "react-hooks/rules-of-hooks": [ "error" ], "react-hooks/exhaustive-deps": [ "error" ], "jsx-a11y/anchor-has-content": [ "error", { "components": [] } ], "jsx-a11y/aria-role": [ "error", { "ignoreNonDOM": false } ], "jsx-a11y/aria-props": [ "error" ], "jsx-a11y/aria-proptypes": [ "error" ], "jsx-a11y/aria-unsupported-elements": [ "error" ], "jsx-a11y/alt-text": [ "error", { "elements": [ "img", "object", "area", "input[type=\"image\"]" ], "img": [], "object": [], "area": [], "input[type=\"image\"]": [] } ], "jsx-a11y/img-redundant-alt": [ "error" ], "jsx-a11y/label-has-for": [ "off", { "components": [], "required": { "every": [ "nesting", "id" ] }, "allowChildren": false } ], "jsx-a11y/label-has-associated-control": [ "error", { "labelComponents": [], "labelAttributes": [], "controlComponents": [], "assert": "both", "depth": 25 } ], "jsx-a11y/control-has-associated-label": [ "error", { "labelAttributes": [ "label" ], "controlComponents": [], "ignoreElements": [ "audio", "canvas", "embed", "input", "textarea", "tr", "video" ], "ignoreRoles": [ "grid", "listbox", "menu", "menubar", "radiogroup", "row", "tablist", "toolbar", "tree", "treegrid" ], "depth": 5 } ], "jsx-a11y/mouse-events-have-key-events": [ "error" ], "jsx-a11y/no-access-key": [ "error" ], "jsx-a11y/no-onchange": [ "off" ], "jsx-a11y/interactive-supports-focus": [ "error" ], "jsx-a11y/role-has-required-aria-props": [ "error" ], "jsx-a11y/role-supports-aria-props": [ "error" ], "jsx-a11y/tabindex-no-positive": [ "error" ], "jsx-a11y/heading-has-content": [ "error", { "components": [ "" ] } ], "jsx-a11y/html-has-lang": [ "error" ], "jsx-a11y/lang": [ "error" ], "jsx-a11y/no-distracting-elements": [ "error", { "elements": [ "marquee", "blink" ] } ], "jsx-a11y/scope": [ "error" ], "jsx-a11y/click-events-have-key-events": [ "error" ], "jsx-a11y/no-static-element-interactions": [ "error", { "handlers": [ "onClick", "onMouseDown", "onMouseUp", "onKeyPress", "onKeyDown", "onKeyUp" ] } ], "jsx-a11y/no-noninteractive-element-interactions": [ "error", { "handlers": [ "onClick", "onMouseDown", "onMouseUp", "onKeyPress", "onKeyDown", "onKeyUp" ] } ], "jsx-a11y/accessible-emoji": [ "off" ], "jsx-a11y/aria-activedescendant-has-tabindex": [ "error" ], "jsx-a11y/iframe-has-title": [ "error" ], "jsx-a11y/no-autofocus": [ "error", { "ignoreNonDOM": true } ], "jsx-a11y/no-redundant-roles": [ "error" ], "jsx-a11y/media-has-caption": [ "error", { "audio": [], "video": [], "track": [] } ], "jsx-a11y/no-interactive-element-to-noninteractive-role": [ "error", { "tr": [ "none", "presentation" ] } ], "jsx-a11y/no-noninteractive-element-to-interactive-role": [ "error", { "ul": [ "listbox", "menu", "menubar", "radiogroup", "tablist", "tree", "treegrid" ], "ol": [ "listbox", "menu", "menubar", "radiogroup", "tablist", "tree", "treegrid" ], "li": [ "menuitem", "option", "row", "tab", "treeitem" ], "table": [ "grid" ], "td": [ "gridcell" ] } ], "jsx-a11y/no-noninteractive-tabindex": [ "error", { "tags": [], "roles": [ "tabpanel" ] } ], "jsx-a11y/anchor-is-valid": [ "error", { "components": [ "Link" ], "specialLink": [ "to" ], "aspects": [ "noHref", "invalidHref", "preferButton" ] } ], "jsx-a11y/autocomplete-valid": [ "off", { "inputComponents": [] } ], "no-underscore-dangle": [ "error", { "allow": [ "__REDUX_DEVTOOLS_EXTENSION_COMPOSE__" ], "allowAfterThis": false, "allowAfterSuper": false, "enforceInMethodNames": true, "allowAfterThisConstructor": false, "allowFunctionParams": true } ], "class-methods-use-this": [ "error", { "exceptMethods": [ "render", "getInitialState", "getDefaultProps", "getChildContext", "componentWillMount", "UNSAFE_componentWillMount", "componentDidMount", "componentWillReceiveProps", "UNSAFE_componentWillReceiveProps", "shouldComponentUpdate", "componentWillUpdate", "UNSAFE_componentWillUpdate", "componentDidUpdate", "componentWillUnmount", "componentDidCatch", "getSnapshotBeforeUpdate" ] } ], "react/display-name": [ "off", { "ignoreTranspilerName": false } ], "react/forbid-prop-types": [ "error", { "forbid": [ "any", "array", "object" ], "checkContextTypes": true, "checkChildContextTypes": true } ], "react/forbid-dom-props": [ "off", { "forbid": [] } ], "react/jsx-boolean-value": [ "error", "never", { "always": [] } ], "react/jsx-handler-names": [ "off", { "eventHandlerPrefix": "handle", "eventHandlerPropPrefix": "on" } ], "react/jsx-key": [ "off" ], "react/jsx-no-bind": [ "error", { "ignoreRefs": true, "allowArrowFunctions": true, "allowFunctions": false, "allowBind": false, "ignoreDOMComponents": true } ], "react/jsx-no-duplicate-props": [ "error", { "ignoreCase": true } ], "react/jsx-no-literals": [ "off", { "noStrings": true } ], "react/jsx-no-undef": [ "error" ], "react/jsx-pascal-case": [ "error", { "allowAllCaps": true, "ignore": [] } ], "react/sort-prop-types": [ "off", { "ignoreCase": true, "callbacksLast": false, "requiredFirst": false, "sortShapeProp": true } ], "react/jsx-sort-prop-types": [ "off" ], "react/jsx-sort-props": [ "off", { "ignoreCase": true, "callbacksLast": false, "shorthandFirst": false, "shorthandLast": false, "noSortAlphabetically": false, "reservedFirst": true } ], "react/jsx-sort-default-props": [ "off", { "ignoreCase": true } ], "react/jsx-uses-react": [ "error" ], "react/jsx-uses-vars": [ "error" ], "react/no-danger": [ "warn" ], "react/no-deprecated": [ "error" ], "react/no-did-mount-set-state": [ "off" ], "react/no-did-update-set-state": [ "error" ], "react/no-will-update-set-state": [ "error" ], "react/no-direct-mutation-state": [ "off" ], "react/no-is-mounted": [ "error" ], "react/no-multi-comp": [ "off" ], "react/no-set-state": [ "off" ], "react/no-string-refs": [ "error" ], "react/no-unknown-property": [ "error" ], "react/prefer-es6-class": [ "error", "always" ], "react/prefer-stateless-function": [ "error", { "ignorePureComponents": true } ], "react/prop-types": [ "error", { "ignore": [], "customValidators": [], "skipUndeclared": false } ], "react/react-in-jsx-scope": [ "error" ], "react/require-render-return": [ "error" ], "react/self-closing-comp": [ "error" ], "react/sort-comp": [ "error", { "order": [ "static-variables", "static-methods", "instance-variables", "lifecycle", "/^handle.+$/", "/^on.+$/", "getters", "setters", "/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/", "instance-methods", "everything-else", "rendering" ], "groups": { "lifecycle": [ "displayName", "propTypes", "contextTypes", "childContextTypes", "mixins", "statics", "defaultProps", "constructor", "getDefaultProps", "getInitialState", "state", "getChildContext", "getDerivedStateFromProps", "componentWillMount", "UNSAFE_componentWillMount", "componentDidMount", "componentWillReceiveProps", "UNSAFE_componentWillReceiveProps", "shouldComponentUpdate", "componentWillUpdate", "UNSAFE_componentWillUpdate", "getSnapshotBeforeUpdate", "componentDidUpdate", "componentDidCatch", "componentWillUnmount" ], "rendering": [ "/^render.+$/", "render" ] } } ], "react/jsx-no-target-blank": [ "error", { "enforceDynamicLinks": "always" } ], "react/jsx-filename-extension": [ "error", { "extensions": [ ".jsx" ] } ], "react/jsx-no-comment-textnodes": [ "error" ], "react/no-render-return-value": [ "error" ], "react/require-optimization": [ "off", { "allowDecorators": [] } ], "react/no-find-dom-node": [ "error" ], "react/forbid-component-props": [ "off", { "forbid": [] } ], "react/forbid-elements": [ "off", { "forbid": [] } ], "react/no-danger-with-children": [ "error" ], "react/no-unused-prop-types": [ "error", { "customValidators": [], "skipShapeProps": true } ], "react/style-prop-object": [ "error" ], "react/no-unescaped-entities": [ "error" ], "react/no-children-prop": [ "error" ], "react/no-array-index-key": [ "error" ], "react/require-default-props": [ "error", { "forbidDefaultForRequired": true } ], "react/forbid-foreign-prop-types": [ "warn", { "allowInPropTypes": true } ], "react/void-dom-elements-no-children": [ "error" ], "react/default-props-match-prop-types": [ "error", { "allowRequiredDefaults": false } ], "react/no-redundant-should-component-update": [ "error" ], "react/no-unused-state": [ "error" ], "react/boolean-prop-naming": [ "off", { "propTypeNames": [ "bool", "mutuallyExclusiveTrueProps" ], "rule": "^(is|has)[A-Z]([A-Za-z0-9]?)+", "message": "" } ], "react/no-typos": [ "error" ], "react/jsx-curly-brace-presence": [ "error", { "props": "never", "children": "never" } ], "react/destructuring-assignment": [ "error", "always" ], "react/no-access-state-in-setstate": [ "error" ], "react/button-has-type": [ "error", { "button": true, "submit": true, "reset": false } ], "react/no-this-in-sfc": [ "error" ], "react/jsx-max-depth": [ "off" ], "react/no-unsafe": [ "off" ], "react/jsx-fragments": [ "error", "syntax" ], "react/state-in-constructor": [ "error", "always" ], "react/static-property-placement": [ "error", "property assignment" ], "react/prefer-read-only-props": [ "off" ], "react/jsx-no-script-url": [ "off", [ { "name": "Link", "props": [ "to" ] } ] ], "react/jsx-no-useless-fragment": [ "off" ], "react/no-adjacent-inline-elements": [ "off" ], "react/function-component-definition": [ "off", { "namedComponents": "function-expression", "unnamedComponents": "function-expression" } ], "strict": [ "error", "never" ], "import/no-unresolved": [ "error", { "commonjs": true, "caseSensitive": true } ], "import/named": [ "error" ], "import/default": [ "off" ], "import/namespace": [ "off" ], "import/export": [ "error" ], "import/no-named-as-default": [ "error" ], "import/no-named-as-default-member": [ "error" ], "import/no-deprecated": [ "off" ], "import/no-extraneous-dependencies": [ "error", { "devDependencies": [ "test/**", "tests/**", "spec/**", "**/__tests__/**", "**/__mocks__/**", "test.{js,jsx}", "test-*.{js,jsx}", "**/*{.,_}{test,spec}.{js,jsx}", "**/jest.config.js", "**/jest.setup.js", "**/vue.config.js", "**/webpack.config.js", "**/webpack.config.*.js", "**/rollup.config.js", "**/rollup.config.*.js", "**/gulpfile.js", "**/gulpfile.*.js", "**/Gruntfile{,.js}", "**/protractor.conf.js", "**/protractor.conf.*.js", "**/karma.conf.js" ], "optionalDependencies": false } ], "import/no-mutable-exports": [ "error" ], "import/no-commonjs": [ "off" ], "import/no-amd": [ "error" ], "import/no-nodejs-modules": [ "off" ], "import/first": [ "error" ], "import/imports-first": [ "off" ], "import/no-duplicates": [ "error" ], "import/no-namespace": [ "off" ], "import/extensions": [ "error", "ignorePackages", { "js": "never", "mjs": "never", "jsx": "never" } ], "import/newline-after-import": [ "error" ], "import/prefer-default-export": [ "error" ], "import/no-restricted-paths": [ "off" ], "import/max-dependencies": [ "off", { "max": 10 } ], "import/no-absolute-path": [ "error" ], "import/no-dynamic-require": [ "error" ], "import/no-internal-modules": [ "off", { "allow": [] } ], "import/unambiguous": [ "off" ], "import/no-webpack-loader-syntax": [ "error" ], "import/no-unassigned-import": [ "off" ], "import/no-named-default": [ "error" ], "import/no-anonymous-default-export": [ "off", { "allowArray": false, "allowArrowFunction": false, "allowAnonymousClass": false, "allowAnonymousFunction": false, "allowLiteral": false, "allowObject": false } ], "import/exports-last": [ "off" ], "import/group-exports": [ "off" ], "import/no-default-export": [ "off" ], "import/no-named-export": [ "off" ], "import/no-self-import": [ "error" ], "import/no-cycle": [ "error", { "maxDepth": "∞", "ignoreExternal": false } ], "import/no-useless-path-segments": [ "error", { "commonjs": true } ], "import/dynamic-import-chunkname": [ "off", { "importFunctions": [], "webpackChunknameFormat": "[0-9a-zA-Z-_/.]+" } ], "import/no-relative-parent-imports": [ "off" ], "import/no-unused-modules": [ "off", { "ignoreExports": [], "missingExports": true, "unusedExports": true } ], "arrow-body-style": [ "error", "as-needed", { "requireReturnForObjectLiteral": false } ], "constructor-super": [ "error" ], "no-class-assign": [ "error" ], "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 } ], "object-shorthand": [ "error", "always", { "ignoreConstructors": false, "avoidQuotes": true } ], "prefer-arrow-callback": [ "error", { "allowNamedFunctions": false, "allowUnboundThis": true } ], "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" ], "symbol-description": [ "error" ], "init-declarations": [ "off" ], "no-catch-shadow": [ "off" ], "no-delete-var": [ "error" ], "no-label-var": [ "error" ], "no-restricted-globals": [ "error", { "name": "isFinite", "message": "Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite" }, { "name": "isNaN", "message": "Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--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-shadow": [ "error" ], "no-shadow-restricted-names": [ "error" ], "no-undef": [ "error" ], "no-undef-init": [ "error" ], "no-undefined": [ "off" ], "no-use-before-define": [ "error", { "functions": true, "classes": true, "variables": true } ], "camelcase": [ "error", { "properties": "never", "ignoreDestructuring": false, "ignoreImports": false, "ignoreGlobals": false } ], "capitalized-comments": [ "off", "never", { "line": { "ignorePattern": ".*", "ignoreInlineComments": true, "ignoreConsecutiveComments": true }, "block": { "ignorePattern": ".*", "ignoreInlineComments": true, "ignoreConsecutiveComments": true } } ], "consistent-this": [ "off" ], "func-name-matching": [ "off", "always", { "includeCommonJSModuleExports": false, "considerPropertyDescriptor": true } ], "func-names": [ "warn" ], "func-style": [ "off", "expression" ], "id-blacklist": [ "off" ], "id-denylist": [ "off" ], "id-length": [ "off" ], "id-match": [ "off" ], "line-comment-position": [ "off", { "position": "above", "ignorePattern": "", "applyDefaultPatterns": true } ], "lines-between-class-members": [ "error", "always", { "exceptAfterSingleLine": false } ], "lines-around-directive": [ "error", { "before": "always", "after": "always" } ], "max-depth": [ "off", 4 ], "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" ], "new-cap": [ "error", { "newIsCap": true, "newIsCapExceptions": [], "capIsNew": false, "capIsNewExceptions": [ "Immutable.Map", "Immutable.Set", "Immutable.List" ], "properties": true } ], "newline-after-var": [ "off" ], "newline-before-return": [ "off" ], "no-array-constructor": [ "error" ], "no-bitwise": [ "error" ], "no-continue": [ "error" ], "no-inline-comments": [ "off" ], "no-lonely-if": [ "error" ], "no-multi-assign": [ "error" ], "no-negated-condition": [ "off" ], "no-new-object": [ "error" ], "no-plusplus": [ "error" ], "no-restricted-syntax": [ "error", { "selector": "ForInStatement", "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": "ForOfStatement", "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": "LabeledStatement", "message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand." }, { "selector": "WithStatement", "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize." } ], "no-ternary": [ "off" ], "no-unneeded-ternary": [ "error", { "defaultAssignment": false } ], "one-var": [ "error", "never" ], "operator-assignment": [ "error", "always" ], "padding-line-between-statements": [ "off" ], "prefer-exponentiation-operator": [ "off" ], "prefer-object-spread": [ "error" ], "require-jsdoc": [ "off" ], "sort-keys": [ "off", "asc", { "caseSensitive": false, "natural": true } ], "sort-vars": [ "off" ], "spaced-comment": [ "error", "always", { "line": { "exceptions": [ "-", "+" ], "markers": [ "=", "!", "/" ] }, "block": { "exceptions": [ "-", "+" ], "markers": [ "=", "!", ":", "::" ], "balanced": true } } ], "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" ], "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": [ "warn" ], "no-constant-condition": [ "warn" ], "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-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-unreachable": [ "error" ], "no-unreachable-loop": [ "off", { "ignore": [] } ], "no-unsafe-finally": [ "error" ], "no-unsafe-negation": [ "error" ], "no-useless-backreference": [ "off" ], "no-negated-in-lhs": [ "off" ], "require-atomic-updates": [ "off" ], "use-isnan": [ "error" ], "valid-jsdoc": [ "off" ], "valid-typeof": [ "error", { "requireStringLiterals": true } ], "accessor-pairs": [ "off" ], "array-callback-return": [ "error", { "allowImplicit": true, "checkForEach": false } ], "block-scoped-var": [ "error" ], "complexity": [ "off", 11 ], "consistent-return": [ "error" ], "default-case": [ "error", { "commentPattern": "^no default$" } ], "default-case-last": [ "off" ], "default-param-last": [ "off" ], "dot-notation": [ "error", { "allowKeywords": true, "allowPattern": "" } ], "eqeqeq": [ "error", "always", { "null": "ignore" } ], "grouped-accessor-pairs": [ "off" ], "guard-for-in": [ "error" ], "max-classes-per-file": [ "error", 1 ], "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-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-str": [ "error" ], "no-new": [ "error" ], "no-new-func": [ "error" ], "no-new-wrappers": [ "error" ], "no-octal": [ "error" ], "no-octal-escape": [ "error" ], "no-param-reassign": [ "error", { "props": true, "ignorePropertyModificationsFor": [ "acc", "accumulator", "e", "ctx", "context", "req", "request", "res", "response", "$scope", "staticContext" ] } ], "no-proto": [ "error" ], "no-redeclare": [ "error" ], "no-restricted-properties": [ "error", { "object": "arguments", "property": "callee", "message": "arguments.callee is deprecated" }, { "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.isFinite 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 Number.isNaN instead" }, { "property": "__defineGetter__", "message": "Please use Object.defineProperty instead." }, { "property": "__defineSetter__", "message": "Please use Object.defineProperty instead." }, { "object": "Math", "property": "pow", "message": "Use the exponentiation operator (**) instead." } ], "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, "enforceForJSX": 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" ], "yoda": [ "error" ] }, "settings": { "import/resolver": { "node": { "extensions": [ ".js", ".jsx", ".json" ] } }, "react": { "pragma": "React", "version": "detect" }, "propWrapperFunctions": [ "forbidExtraProps", "exact", "Object.freeze" ], "import/extensions": [ ".js", ".mjs", ".jsx" ], "import/core-modules": [], "import/ignore": [ "node_modules", "\\.(coffee|scss|css|less|hbs|svg|json)$" ] }, "ignorePatterns": [] } ```

package.json

```json { "name": "yorailevi", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/jest-dom": "^5.11.9", "@testing-library/react": "^11.2.5", "@testing-library/user-event": "^12.8.0", "@types/jest": "^26.0.20", "@types/node": "^12.20.4", "@types/react": "^17.0.2", "@types/react-dom": "^17.0.1", "install": "^0.13.0", "npm": "^7.6.0", "react": "^17.0.1", "react-dom": "^17.0.1", "react-scripts": "4.0.3", "typescript": "^4.2.2", "web-vitals": "^1.1.0" }, "scripts": { "lint": "eslint --color --ext .html --ext .js --ext .json --ext .jsx --ext .md --ext .ts --ext .tsx src/", "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.16.1", "@typescript-eslint/parser": "^4.16.1", "eslint": "^7.21.0", "eslint-config-adjunct": "^4.9.0", "eslint-config-airbnb": "^18.2.1", "eslint-config-airbnb-typescript": "^12.3.1", "eslint-config-auto": "^0.6.6", "eslint-config-prettier": "^7.2.0", "eslint-plugin-array-func": "^3.1.7", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-html": "^6.1.1", "eslint-plugin-import": "^2.22.1", "eslint-plugin-jest-async": "^1.0.3", "eslint-plugin-jest-dom": "^3.6.5", "eslint-plugin-json": "^2.1.2", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-markdown": "^2.0.0", "eslint-plugin-no-constructor-bind": "^2.0.4", "eslint-plugin-no-secrets": "^0.8.9", "eslint-plugin-no-unsanitized": "^3.1.4", "eslint-plugin-no-use-extend-native": "^0.5.0", "eslint-plugin-optimize-regex": "^1.2.0", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-promise": "^4.3.1", "eslint-plugin-react": "^7.22.0", "eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-scanjs-rules": "^0.2.1", "eslint-plugin-security": "^1.4.0", "eslint-plugin-simple-import-sort": "^7.0.0", "eslint-plugin-sonarjs": "^0.6.0", "eslint-plugin-switch-case": "^1.1.2", "eslint-plugin-unicorn": "^28.0.2", "prettier": "2.2.1" } } ```

basically the parser option is null and it doesn't apply ts,tsx rules despite typescript being installed and available in package.json. windows 10, powershell

davidjbradshaw commented 3 years ago

It should be in devDependacies

davidjbradshaw commented 3 years ago

Actually I can see the problem, TS is being detected in different ways in different places. It should be using this everywhere

https://github.com/davidjbradshaw/eslint-config-auto/blob/master/lib/hasPackage.js#L10

Once my elbow is less broken I’ll make a new release

davidjbradshaw commented 3 years ago

This should now be fixed in v0.7.0