{ "root": true, "env": { "node": true, "browser": true, "es2022": true }, "extends": [ "plugin:vue/vue3-recommended", "eslint:recommended", "@vue/typescript/recommended", "plugin:prettier/recommended" ], "parser": "vue-eslint-parser", "parserOptions": { "parser": "@typescript-eslint/parser", "ecmaVersion": 2022, "sourceType": "module", "extraFileExtensions": [".vue"], "ecmaFeatures": { "jsx": true } }, "plugins": [ "@typescript-eslint", "vue", "prettier" ], "rules": { "no-console": "warn", "no-debugger": "warn", "@typescript-eslint/no-explicit-any": "off", "vue/multi-word-component-names": "off", "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], "@typescript-eslint/no-unnecessary-type-constraint": "off", "vue/no-parsing-error": ["error", { "x-invalid-end-tag": false, "invalid-first-character-of-tag-name": false }], "vue/no-v-html": "warn", "prettier/prettier": ["error", { "singleQuote": true, "semi": false, "trailingComma": "none" }] }, "overrides": [ { "files": ["*.ts", "*.tsx", "*.mts"], "parser": "@typescript-eslint/parser" }, { "files": ["*.js", "*.jsx", "*.mjs"], "parser": "@typescript-eslint/parser" } ] }