module.exports = { root: true, env: { node: true }, extends: [ 'plugin:vue/vue3-strongly-recommended', '@vue/standard', '@vue/typescript/recommended' ], parserOptions: { ecmaVersion: 2020 }, rules: { "vue/no-use-v-if-with-v-for": "off", 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', '@typescript-eslint/ban-types': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/member-delimiter-style': ['error', { multiline: { delimiter: 'none' }, singleline: { delimiter: 'comma' } }], '@typescript-eslint/no-explicit-any': 'off', 'space-before-function-paren': ['error', 'never'], 'vue/array-bracket-spacing': 'error', 'vue/arrow-spacing': 'error', 'vue/block-spacing': 'error', 'vue/brace-style': 'error', 'vue/camelcase': 'error', 'vue/comma-dangle': 'error', 'vue/component-name-in-template-casing': 'error', 'vue/eqeqeq': 'error', 'vue/key-spacing': 'error', 'vue/match-component-file-name': 'error', 'vue/object-curly-spacing': 'error', 'no-useless-escape': 'off', '@typescript-eslint/no-this-alias': [ 'error', { allowDestructuring: true, // Allow `const { props, state } = this`; false by default allowedNames: ['self'] // Allow `const self = this`; `[]` by default } ], 'vue/attribute-hyphenation': 'off', 'vue/custom-event-name-casing': 'off' }, overrides: [ { files: [ '**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)' ], env: { jest: true } } ] }