{ "root": true, "settings": { "react": { "version": "detect" }, "import/resolver": { "node": { "extensions": [".js", ".jsx", ".ts", ".tsx"] } } }, "env": { "browser": true, "es2021": true }, "parser": "@typescript-eslint/parser", "parserOptions": { "project": ["./tsconfig.json"] }, "plugins": [ "react-native", "react", "react-hooks", "@typescript-eslint", "jest", "unicorn", "prettier" ], "extends": [ "eslint:recommended", "plugin:react/recommended", "plugin:react-hooks/recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", "plugin:@typescript-eslint/strict", "plugin:jest/recommended", "plugin:unicorn/recommended" ], "rules": { "camelcase": "warn", "curly": ["error", "multi-line"], "eol-last": ["error", "always"], "semi": ["error", "always"], "quotes": ["error", "single"], "no-await-in-loop": "warn", "no-constructor-return": "error", "no-duplicate-imports": "error", "no-self-compare": "error", "no-unreachable-loop": "error", "no-trailing-spaces": "error", "no-console": "warn", "react/jsx-filename-extension": [ "warn", { "extensions": [".js", ".jsx", ".ts", ".tsx"] } ], "react/jsx-props-no-spreading": "off", "react-native/no-unused-styles": "error", "react-native/no-inline-styles": "error", "react-native/no-color-literals": "error", "react-native/no-raw-text": "off", "no-shadow": "off", "@typescript-eslint/no-shadow": ["error"], "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": ["error"], "no-use-before-define": "off", "@typescript-eslint/no-use-before-define": ["error"], "@typescript-eslint/require-await": "warn", "@typescript-eslint/no-misused-promises": [ "error", { "checksVoidReturn": false } ], "@typescript-eslint/naming-convention": [ "error", { "selector": "default", "format": ["camelCase"] }, { "selector": "variableLike", "format": ["camelCase", "PascalCase"] }, { "selector": "memberLike", "format": ["camelCase"] }, { "selector": "typeLike", "format": ["PascalCase"] }, { "selector": "property", "format": ["camelCase"] }, { "selector": "method", "format": ["camelCase"] }, { "selector": ["enumMember", "enum"], "format": ["UPPER_CASE"] } ], "unicorn/empty-brace-spaces": "off", "unicorn/expiring-todo-comments": "off", "unicorn/no-array-for-each": "off", "unicorn/filename-case": ["error", { "case": "camelCase" }], "unicorn/numeric-separators-style": "off", "unicorn/prevent-abbreviations": "off" }, "ignorePatterns": ["*.config.js"] }