module.exports = { // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy // This option interrupts the configuration hierarchy at this file // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos) root: true, parserOptions: { parser: '@babel/eslint-parser', ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features sourceType: 'module', // Allows for the use of imports }, env: { browser: true, 'vue/setup-compiler-macros': true, }, extends: [ // Base ESLint recommended rules // 'eslint:recommended', // Uncomment any of the lines below to choose desired strictness, // but leave only one uncommented! // See https://eslint.vuejs.org/rules/#available-rules 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention) // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) 'standard', ], plugins: ['vue', 'prettier'], globals: { ga: 'readonly', // Google Analytics 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', }, // add your custom rules here rules: { // allow async-await 'generator-star-spacing': 'off', // allow paren-less arrow functions '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', 'prefer-promise-reject-errors': 'off', semi: 'off', // allow debugger during development only 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', }, overrides: [ { extends: ['plugin:vue/vue3-essential'], files: ['src/**/*.{js,vue,scss}'], // Aplica ESLint solo a archivos .js, .vue y .scss dentro de src (Proyecto de quasar) rules: { semi: 'off', indent: ['error', 4, { SwitchCase: 1 }], 'space-before-function-paren': 'off', }, }, ], };