import withNuxt from './.nuxt/eslint.config.mjs' export default withNuxt( { // 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, // parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: '2021', // Allows for the parsing of modern ECMAScript features parser: '@typescript-eslint/parser', }, env: { node: true, browser: true, 'vue/setup-compiler-macros': true, }, // Rules order is important, please avoid shuffling them extends: ['plugin:vue/vue3-recommended', 'eslint:recommended'], plugins: [ // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files // required to lint *.vue files 'vue', ], 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: { 'no-param-reassign': 'off', 'no-void': 'off', 'no-nested-ternary': 'off', 'max-classes-per-file': 'off', 'prefer-promise-reject-errors': 'off', // allow debugger during development only 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', // custom 'vue/require-prop-types': 0, 'vue/html-indent': ['error', 'tab'], 'vue/multi-word-component-names': 0, indent: ['error', 'tab'], 'linebreak-style': ['error', 'unix'], quotes: ['error', 'single'], semi: ['error', 'always'], 'space-before-function-paren': ['error', 'always'], 'comma-dangle': ['error', 'always-multiline'], 'no-multiple-empty-lines': ['error', { 'max': 1, 'maxEOF': 0 }], }, overrides: [ { files: ['*.html'], rules: { 'vue/comment-directive': 'off', }, }, ], } )