{ "env": { "browser": true, "es2021": true, "node": true }, "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:vue/vue3-recommended", "plugin:import/errors", "plugin:import/warnings", "plugin:import/typescript" ], "parserOptions": { "ecmaVersion": 2021, "sourceType": "module" }, "rules": { "no-var": "error", "quotes": [ "error", "double" ], "semi": [ "error", "always" ], "comma-dangle": [ "error", "never" ], "import/order": [ "warn", { "newlines-between": "always", "groups": [ [ "builtin", "external" ], "internal", [ "parent", "sibling", "index" ] ], "pathGroups": [ { "pattern": "react", "group": "external", "position": "before" } ], "pathGroupsExcludedImportTypes": [ "builtin" ], "alphabetize": { "order": "asc", "caseInsensitive": true } } ], "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "vue/script-indent": [ "error", 2, { "baseIndent": 1 } ] }, "overrides": [ { "files": [ "*.ts", "*.tsx" ], "parser": "@typescript-eslint/parser", "rules": {} }, { "files": [ "*.vue" ], "rules": {} }, { "files": [ "*.json", "*.yaml", "*.md" ], "rules": {} } ] }