import cypress from 'eslint-plugin-cypress'; import eslint from 'eslint-plugin-import'; import globals from 'globals'; import js from '@eslint/js'; import vue from 'eslint-plugin-vue'; export default { plugins: { vue, eslint, cypress }, languageOptions: { globals: { ...globals.node, ...globals.browser, ...vue.configs['vue3-strongly-recommended'].globals, ...cypress.environments.globals.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', }, ecmaVersion: 2020, sourceType: 'module', parserOptions: { parser: '@babel/eslint-parser', }, }, rules: { ...js.configs.recommended.rules, semi: 'off', 'generator-star-spacing': 'off', 'arrow-parens': 'off', 'one-var': 'off', 'no-void': 'off', 'prefer-promise-reject-errors': 'error', 'space-before-function-paren': 'off', 'multiline-ternary': 'off', 'js/first': 'off', 'eslint/first': 'off', 'eslint/dynamic-import-chunkname': 'off', 'eslint/named': 'off', 'eslint/namespace': 'error', 'eslint/default': 'error', 'eslint/export': 'error', 'eslint/extensions': 'off', 'eslint/no-unresolved': 'off', 'eslint/no-extraneous-dependencies': 'off', 'eslint/no-import-module-exports': 'off', 'eslint/no-self-import': 'off', 'no-restricted-imports': 'off', 'no-import-assign': 'off', 'no-duplicate-imports': 'off', 'no-useless-rename': 'off', 'no-named-as-default': 'off', 'no-named-as-default-member': 'off', 'no-unsafe-optional-chaining': 'off', 'no-undef': 'error', 'no-unused-vars': 'warn', 'no-console': 'error', 'no-debugger': '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/prefer-import-from-vue': 'error', 'vue/no-deprecated-slot-attribute': 'error', }, ignores: [ '/dist', '/src-capacitor', '/src-cordova', '/.quasar', '/node_modules', '.eslintrc.js', ], };