{ "extends": [ "airbnb", "plugin:@typescript-eslint/recommended", "plugin:react/recommended", "plugin:import/typescript", "prettier", "prettier/react" ], "plugins": ["@typescript-eslint", "jest", "prettier"], "parserOptions": { "parser": "@typescript-eslint/parser" }, "env": { "browser": true, "jest/globals": true }, "rules": { "prettier/prettier": ["error", { "arrowParens": "always", "printWidth": 140, "singleQuote": true, "trailingComma": "all", "semi": false }], "import/prefer-default-export": "off", "object-shorthand": ["error", "properties"], "prefer-destructuring": ["error", { "array": false, "object": true }, { "enforceForRenamedProperties": false }], "@typescript-eslint/no-unused-vars": ["error", { "vars": "all", "args": "after-used", "ignoreRestSiblings": false }], "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-var-requires": "off", "@typescript-eslint/camelcase": ["error", { "properties": "never" }], "@typescript-eslint/member-delimiter-style": ["error", { "multiline": { "delimiter": "none", "requireLast": false }, "singleline": { "delimiter": "semi", "requireLast": false } }], "no-underscore-dangle": ["error", { "allowAfterThis": true }], "react/jsx-filename-extension": ["error", { "extensions": [".jsx", ".tsx"] }], "react/destructuring-assignment": "off" }, "overrides": [{ "files": ["*.ts", "*.tsx"], "rules": { "@typescript-eslint/no-var-requires": ["error"], "@typescript-eslint/no-useless-constructor": [ "error" ] } }] }