{ "env": { "browser": true, "es6": true }, "extends": ["eslint:recommended", "plugin:react/recommended", "plugin:jest/recommended"], "parser": "babel-eslint", "parserOptions": { "ecmaFeatures": { "modules": true }, "ecmaVersion": 2018, "sourceType": "module" }, "plugins": ["babel", "markdown", "better-styled-components", "sort-destructure-keys"], "rules": { "array-callback-return": 2, "arrow-body-style": 2, "better-styled-components/sort-declarations-alphabetically": 0, "comma-dangle": 0, "babel/no-invalid-this": 2, "default-case": 2, "eqeqeq": [2, "smart"], "jest/expect-expect": 0, "jest/no-conditional-expect": 0, "jsx-quotes": ["error", "prefer-single"], "linebreak-style": [2, "unix"], "no-console": 0, "no-mixed-spaces-and-tabs": 1, "no-self-compare": 2, "no-underscore-dangle": [2, { "allowAfterThis": true }], "no-unused-vars": [1, { "ignoreRestSiblings": true }], "no-useless-concat": 2, "no-var": 2, "object-shorthand": 1, "prefer-const": 1, "react/jsx-sort-props": [ "error", { "callbacksLast": false, "ignoreCase": true, "noSortAlphabetically": false, "reservedFirst": false, "shorthandFirst": false, "shorthandLast": false } ], "react/prop-types": 0, "require-await": 2, "semi": [1, "always"], "sort-destructure-keys/sort-destructure-keys": [2, { "caseSensitive": false }], "sort-imports": [ "error", { "allowSeparatedGroups": true, "ignoreCase": true, "ignoreDeclarationSort": true, "ignoreMemberSort": false, "memberSyntaxSortOrder": ["none", "all", "multiple", "single"] } ], "sort-keys": ["error", "asc", { "caseSensitive": false, "minKeys": 2, "natural": false }], "valid-typeof": 2 }, "settings": { "import/resolver": { "babel-module": {}, "node": { "extensions": [".js", ".jsx", ".ts", ".tsx"], "paths": ["src"] } }, "react": { "pragma": "React", "version": "detect" } }, "overrides": [ { "files": ["*.md"], "rules": { "no-undef": 0, "react/jsx-no-undef": 0, "react/react-in-jsx-scope": 0, "semi": 0 } }, { "env": { "es6": true, "browser": true }, "extends": [ "@react-native-community", "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:jest/recommended", "plugin:prettier/recommended", "plugin:react/recommended", "prettier" ], "files": ["**/*.ts", "**/*.tsx"], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "modules": true, "jsx": true }, "ecmaVersion": 2018, "sourceType": "module" }, "plugins": [ "@typescript-eslint", "babel", "markdown", "prettier", "react", "typescript-sort-keys", "better-styled-components", "sort-destructure-keys" ], "rules": { "@typescript-eslint/explicit-module-boundary-types": 0, "@typescript-eslint/no-empty-interface": 0, "@typescript-eslint/ban-ts-comment": 0, "@typescript-eslint/no-var-requires": 0, "better-styled-components/sort-declarations-alphabetically": 1, "react-hooks/exhaustive-deps": 0, "react-native/no-inline-styles": 0, "array-callback-return": 2, "arrow-body-style": 2, "comma-dangle": 0, "babel/no-invalid-this": 2, "default-case": 2, "eqeqeq": [2, "smart"], "linebreak-style": [2, "unix"], "jsx-quotes": ["error", "prefer-single"], "no-console": 0, "no-mixed-spaces-and-tabs": 1, "no-self-compare": 2, "no-underscore-dangle": [2, { "allowAfterThis": true }], "no-unused-vars": [1, { "ignoreRestSiblings": true }], "no-useless-concat": 2, "no-var": 2, "object-shorthand": 1, "prefer-const": 1, "react/jsx-sort-props": [ "error", { "callbacksLast": false, "ignoreCase": true, "noSortAlphabetically": false, "reservedFirst": false, "shorthandFirst": false, "shorthandLast": false } ], "react/prop-types": 0, "require-await": 2, "semi": [1, "always"], "sort-destructure-keys/sort-destructure-keys": [2, { "caseSensitive": false }], "sort-imports": [ "error", { "allowSeparatedGroups": true, "ignoreCase": true, "ignoreDeclarationSort": true, "ignoreMemberSort": false, "memberSyntaxSortOrder": ["none", "all", "multiple", "single"] } ], "sort-keys": ["error", "asc", { "caseSensitive": false, "minKeys": 2, "natural": false }], "typescript-sort-keys/interface": [ "error", "asc", { "caseSensitive": false, "natural": true, "requiredFirst": true } ], "typescript-sort-keys/string-enum": [ "error", "asc", { "caseSensitive": false, "natural": true } ], "valid-typeof": 2 } } ] }