{ "extends": [ // add more generic rulesets here, such as: "eslint:recommended", "airbnb-base", "plugin:vue/recommended" ], "parserOptions": { "ecmaVersion": 9, "sourceType": "module" }, "env": { "es6": true, "browser": true, "vue/setup-compiler-macros": true }, "rules": { "semi": [ "error", "never" ], "vue/no-v-html": "off", "vue/html-indent": [ "error", "tab" ], "vue/html-closing-bracket-spacing": [ "error", { "startTag": "never", "endTag": "never", "selfClosingTag": "never" } ], "vue/component-api-style": [ "error", [ "script-setup", "composition" ] // "script-setup", "composition", "composition-vue2", or "options" ], "indent": [ "error", "tab" ], "no-tabs": "off", "comma-dangle": "off", "no-alert": 0, "no-unused-vars": "warn", "spaced-comment": "off", "no-param-reassign": 0, "import/extensions": 0, "import/no-unresolved": 0, "import/prefer-default-export": 0, "import/no-extraneous-dependencies": [ "error", { // allow devDependencies for packages "devDependencies": true } ] } }