module.exports = { root: true, env: { "browser": true, "es2021": true, "node": true, "vue/setup-compiler-macros": true }, extends: ["eslint:recommended", "plugin:vue/vue3-recommended", "@vue/typescript/recommended", "prettier"], parser: "vue-eslint-parser", parserOptions: { ecmaVersion: "latest", parser: "@typescript-eslint/parser", sourceType: "module" }, plugins: ["vue", "html", "@typescript-eslint"], rules: { "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", "semi": [2, "always"], "comma-dangle": [2, "never"], "eqeqeq": "warn", "quotes": ["warn", "double"], "@typescript-eslint/ban-types": [ "warn", { types: { "{}": false } } ], "@typescript-eslint/no-explicit-any": "off", "vue/no-unused-vars": "warn", "vue/multi-word-component-names": "off", "vue/no-mutating-props": "off", "@typescript-eslint/ban-ts-comment": "off", "vue/html-closing-bracket-newline": [ "error", { singleline: "never", multiline: "always" } ], "vue/html-indent": [ "error", 2, { attribute: 1, baseIndent: 1, closeBracket: 0, alignAttributesVertically: true, ignores: [] } ], "vue/max-attributes-per-line": [ "error", { singleline: { max: 2 }, multiline: { max: 1 } } ] } };