{ "parser": "@typescript-eslint/parser", "parserOptions": { "sourceType": "module", "extraFileExtensions": [".json"], "ecmaFeatures": { "jsx": true } }, "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:import/recommended", "plugin:import/typescript", "plugin:react-hooks/recommended", "plugin:prettier/recommended" ], "plugins": [ "@typescript-eslint", "eslint-plugin-import", "eslint-plugin-node", "eslint-plugin-react", "eslint-plugin-react-hooks", "import" ], "rules": { "eqeqeq": 2, "no-mixed-operators": "off", "padding-line-between-statements": ["error", { "blankLine": "always", "prev": "*", "next": "export" }], "lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }], "import/newline-after-import": 2, "import/order": [ "error", { "alphabetize": { "order": "asc" }, "pathGroups": [ { "pattern": "@shared/**", "group": "external", "position": "after" }, { "pattern": "@server/**", "group": "external", "position": "after" }, { "pattern": "~/stores", "group": "external", "position": "after" }, { "pattern": "~/stores/**", "group": "external", "position": "after" }, { "pattern": "~/models/**", "group": "external", "position": "after" }, { "pattern": "~/scenes/**", "group": "external", "position": "after" }, { "pattern": "~/components/**", "group": "external", "position": "after" }, { "pattern": "~/**", "group": "external", "position": "after" } ] } ], "prettier/prettier": [ "error", { "printWidth": 80, "trailingComma": "es5" } ] }, "settings": { "react": { "createClass": "createReactClass", "pragma": "React", "version": "detect" }, "import/parsers": { "@typescript-eslint/parser": [".ts", ".tsx"] }, "import/resolver": { "typescript": {} } }, "globals": { "EDITOR_VERSION": true } }