module.exports = { root: true, parserOptions: { ecmaVersion: 'latest', sourceType: 'module', }, env: { node: true, browser: true, 'vue/setup-compiler-macros': true, es2024: true, }, extends: ['eslint:recommended', 'plugin:vue/vue3-strongly-recommended', 'prettier'], plugins: ['vue'], globals: { ga: 'readonly', cordova: 'readonly', __statics: 'readonly', __QUASAR_SSR__: 'readonly', __QUASAR_SSR_SERVER__: 'readonly', __QUASAR_SSR_CLIENT__: 'readonly', __QUASAR_SSR_PWA__: 'readonly', process: 'readonly', Capacitor: 'readonly', chrome: 'readonly', defineProps: 'readonly', defineEmits: 'readonly', defineExpose: 'readonly', withDefaults: 'readonly', }, rules: { 'generator-star-spacing': 'off', 'arrow-parens': 'off', 'one-var': 'off', 'no-void': 'off', 'multiline-ternary': 'off', 'import/first': 'off', 'import/named': 'error', 'import/namespace': 'error', 'import/default': 'error', 'import/export': 'error', 'import/extensions': 'off', 'import/no-unresolved': 'off', 'import/no-extraneous-dependencies': 'off', semi: 'off', 'space-before-function-paren': 'off', 'no-undef': 'error', 'no-unused-vars': 'warn', 'no-console': 'error', 'vue/no-multiple-template-root': 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-useless-escape': 'error', 'no-prototype-builtins': 'error', 'no-async-promise-executor': 'error', 'no-irregular-whitespace': 'error', 'no-constant-condition': 'error', 'no-unsafe-finally': 'error', 'no-extend-native': 'error', 'vue/no-unused-components': 'error', 'vue/no-unused-properties': 'error', 'vue/no-multiple-template-root': 'error', 'vue/no-v-html': 'error', 'vue/no-v-model-argument': 'error', 'vue/no-parsing-error': 'error', 'vue/no-deprecated-slot-attribute': 'error', 'prefer-promise-reject-errors': 'error', }, overrides: [ { files: ['test/cypress/**/*.*'], extends: ['plugin:cypress/recommended'], rules: { semi: 'off', 'space-before-function-paren': 'off', 'prefer-promise-reject-errors': 'off', 'vue/no-multiple-template-root': 'off', }, }, ], };