Created
October 21, 2022 23:33
-
-
Save m0sk1t/8adfaaf8a643e219b17e136e0dc31c35 to your computer and use it in GitHub Desktop.
ESLint for React\TS
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
| { | |
| "env": { | |
| "browser": true, | |
| "es2021": true | |
| }, | |
| "extends": [ | |
| "prettier", | |
| "eslint:recommended", | |
| "plugin:react/recommended", | |
| "standard-with-typescript" | |
| ], | |
| "overrides": [], | |
| "parserOptions": { | |
| "project": [ | |
| "./tsconfig.json" | |
| ], | |
| "ecmaVersion": "latest", | |
| "sourceType": "module", | |
| "ecmaFeatures": { | |
| "jsx": true | |
| } | |
| }, | |
| "plugins": [ | |
| "react" | |
| ], | |
| "settings": { | |
| "react": { | |
| "version": "detect" | |
| } | |
| }, | |
| "rules": { | |
| "react/jsx-uses-react": "error", | |
| "react/jsx-uses-vars": "error", | |
| // Possible Problems | |
| "no-await-in-loop": "error", | |
| "no-duplicate-imports": [ | |
| "error", | |
| { | |
| "includeExports": true | |
| } | |
| ], | |
| "no-promise-executor-return": "error", | |
| "no-self-compare": "error", | |
| "no-unmodified-loop-condition": "error", | |
| "no-unused-private-class-members": "error", | |
| // Suggestions | |
| "curly": "error", | |
| "default-case": "error", | |
| "default-case-last": "error", | |
| "default-param-last": "error", | |
| "dot-notation": "error", | |
| "eqeqeq": "error", | |
| "guard-for-in": "error", | |
| "no-confusing-arrow": "error", | |
| "no-param-reassign": [ | |
| "error", | |
| { | |
| "props": true | |
| } | |
| ], | |
| "no-return-await": "error", | |
| "no-sequences": "error", | |
| "no-var": "error", | |
| "prefer-arrow-callback": "error", | |
| "prefer-const": "error", | |
| "prefer-destructuring": "error", | |
| "prefer-exponentiation-operator": "error", | |
| "prefer-named-capture-group": "error", | |
| "prefer-object-spread": "error", | |
| "prefer-promise-reject-errors": "error", | |
| "prefer-rest-params": "error", | |
| "prefer-spread": "error", | |
| "prefer-template": "error", | |
| "require-await": "error", | |
| "sort-imports": [ | |
| "error", | |
| { | |
| "ignoreCase": false, | |
| "ignoreDeclarationSort": false, | |
| "ignoreMemberSort": false, | |
| "memberSyntaxSortOrder": [ | |
| "single", | |
| "all", | |
| "multiple", | |
| "none" | |
| ], | |
| "allowSeparatedGroups": true | |
| } | |
| ], | |
| "sort-keys": "error", | |
| "spaced-comment": 2, | |
| // Layout & formatting | |
| "semi": [ | |
| "error", | |
| "always" | |
| ], | |
| "indent": [ | |
| "error", | |
| 2 | |
| ], | |
| "jsx-quotes": [ | |
| "error", | |
| "prefer-single" | |
| ], | |
| "accessor-pairs": "error", | |
| "arrow-body-style": [ | |
| "error", | |
| "as-needed" | |
| ], | |
| "array-bracket-newline": [ | |
| "error", | |
| { | |
| "minItems": 3 | |
| } | |
| ], | |
| "array-bracket-spacing": [ | |
| "error", | |
| "never" | |
| ], | |
| "arrow-parens": [ | |
| "error", | |
| "always" | |
| ], | |
| "arrow-spacing": [ | |
| "error", | |
| { | |
| "before": false, | |
| "after": true | |
| } | |
| ], | |
| "block-spacing": "error", | |
| "comma-dangle": [ | |
| "error", | |
| { | |
| "arrays": "always-multiline", | |
| "objects": "always-multiline", | |
| "imports": "always-multiline", | |
| "exports": "always-multiline", | |
| "functions": "never" | |
| } | |
| ], | |
| "comma-spacing": [ | |
| "error", | |
| { | |
| "before": false, | |
| "after": true | |
| } | |
| ], | |
| "dot-location": [ | |
| "error", | |
| "property" | |
| ], | |
| "eol-last": [ | |
| "error", | |
| "always" | |
| ], | |
| "func-call-spacing": [ | |
| "error", | |
| "never" | |
| ], | |
| "key-spacing": [ | |
| "error", | |
| { | |
| "beforeColon": false, | |
| "afterColon": true | |
| } | |
| ], | |
| "max-len": [ | |
| "error", | |
| { | |
| "code": 120 | |
| } | |
| ], | |
| "lines-between-class-members": [ | |
| "error", | |
| "always" | |
| ], | |
| "no-trailing-spaces": "error", | |
| "no-whitespace-before-property": "error", | |
| "object-curly-newline": [ | |
| "error", | |
| { | |
| "ObjectExpression": "never", | |
| "ObjectPattern": { | |
| "multiline": true, | |
| "minProperties": 2 | |
| }, | |
| "ImportDeclaration": { | |
| "multiline": true, | |
| "minProperties": 2 | |
| }, | |
| "ExportDeclaration": { | |
| "multiline": true, | |
| "minProperties": 2 | |
| } | |
| } | |
| ], | |
| "object-curly-spacing": [ | |
| "error", | |
| "always" | |
| ], | |
| "object-property-newline": "error", | |
| "rest-spread-spacing": [ | |
| "error", | |
| "never" | |
| ], | |
| "semi-spacing": [ | |
| "error", | |
| { | |
| "before": false, | |
| "after": true | |
| } | |
| ], | |
| "semi-style": [ | |
| "error", | |
| "last" | |
| ], | |
| "space-before-blocks": [ | |
| "error", | |
| "always" | |
| ], | |
| "space-before-function-paren": [ | |
| "error", | |
| { | |
| "anonymous": "always", | |
| "named": "never", | |
| "asyncArrow": "always" | |
| } | |
| ], | |
| "space-in-parens": [ | |
| "error", | |
| "never" | |
| ], | |
| "space-infix-ops": [ | |
| "error", | |
| { | |
| "int32Hint": true | |
| } | |
| ] | |
| // React | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment