{ "parser": "@typescript-eslint/parser", "extends": [ "eslint:recommended", "plugin:react/recommended", "plugin:@typescript-eslint/recommended", "prettier" ], "plugins": [ "react", "react-hooks", "typescript", "@typescript-eslint", "typescript-sort-keys", "simple-import-sort", "import" ], "env": { "browser": true, "node": true, "es6": true, "jest": true }, "settings": { "react": { "version": "detect" }, "import/parsers": { "@typescript-eslint/parser": [ ".ts", ".tsx", ".mdx" ] }, "mdx/code-blocks": true }, "overrides": [ { "files": [ "*.mdx" ], "extends": [ "plugin:mdx/recommended" ] }, { "files": [ "**/*.mdx/*.*" ], "rules": { // 2. Disable other rules. "no-console": "off", "react-hooks/rules-of-hooks": "off", "react/react-in-jsx-scope": "off", "@typescript-eslint/no-unused-vars": "off" } }, { "files": [ "*.js" ], "parser": "esprima", "rules": { "@typescript-eslint/no-var-requires": 0 } } ], "rules": { "max-len": [ "error", { "code": 120 } ], "object-curly-spacing": [ "error", "always" ], "no-multi-spaces": "error", "no-console": [ "error", { "allow": [ "info", "warn", "error" ] } ], "@typescript-eslint/no-unused-vars": 2, "@typescript-eslint/interface-name-prefix": 0, "@typescript-eslint/no-empty-interface:": 0, "@typescript-eslint/explicit-function-return-type": 0, "@typescript-eslint/explicit-member-accessibility": 2, "@typescript-eslint/no-explicit-any": 0, "@typescript-eslint/no-empty-function": 0, "@typescript-eslint/camelcase": 0, "typescript-sort-keys/interface": "error", "typescript-sort-keys/string-enum": "error", "react-hooks/rules-of-hooks": "error", "react/jsx-no-bind": [ "error", { "ignoreDOMComponents": true, "allowArrowFunctions": true } ], "react/jsx-tag-spacing": [ "error", { "beforeSelfClosing": "always" } ], "react/prop-types": 0, "sort-imports": "off", "import/no-cycle": "error", "import/no-duplicates": "error", "import/first": "error", "import/newline-after-import": "error", "import/order": "off", "simple-import-sort/imports": [ "error", { "groups": [ [ "^\\u0000" ], [ "^react$", "^ramda$" ], [ "^[^.]" ], [ "^@treejs?\\w" ], [ "^\\." ] ] } ] } }