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: { ...vue.rules['flat/strongly-recommended'], ...js.configs.recommended.rules, semi: 'off', 'generator-star-spacing': 'warn', 'arrow-parens': 'warn', 'no-var': 'error', 'prefer-const': 'error', 'prefer-template': 'warn', 'prefer-destructuring': 'off', 'prefer-spread': 'warn', 'prefer-rest-params': 'warn', 'prefer-object-spread': 'warn', 'prefer-arrow-callback': 'warn', 'prefer-numeric-literals': 'warn', 'prefer-exponentiation-operator': 'warn', 'prefer-regex-literals': 'warn', 'one-var': [ 'error', { let: 'never', const: 'never', }, ], 'no-void': 'off', 'prefer-promise-reject-errors': 'error', 'multiline-ternary': 'warn', 'no-restricted-imports': 'warn', 'no-import-assign': 'warn', 'no-duplicate-imports': 'warn', 'no-useless-rename': 'warn', 'eslint/no-named-as-default': 'warn', 'eslint/no-named-as-default-member': 'warn', 'no-unsafe-optional-chaining': 'warn', 'no-undef': 'error', 'no-unused-vars': 'error', 'no-console': 'error', 'no-debugger': 'error', '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', }, ignores: [ '/dist', '/src-capacitor', '/src-cordova', '/.quasar', '/node_modules', '.eslintrc.js', ], };