module.exports = { root: true, env: { browser: true, es2021: true, node: true }, extends: [ 'eslint:recommended', 'plugin:vue/essential', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended', 'plugin:import/recommended', 'plugin:import/typescript' ], settings: { 'import/resolver': { typescript: true, node: true } }, overrides: [ { files: ['*.vue'], rules: { '@typescript-eslint/ban-ts-comment': 'error' } } ], parserOptions: { parser: '@typescript-eslint/parser', ecmaVersion: 'latest', sourceType: 'module' }, parser: 'vue-eslint-parser', plugins: ['vue', '@typescript-eslint'], rules: { 'no-console': [process.env.NODE_ENV === 'production' ? 'error' : 'warn', { allow: ['warn', 'error'] }], 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'warn', 'vue/no-unused-components': process.env.NODE_ENV === 'production' ? 'error' : 'warn', 'vue/require-component-is': process.env.NODE_ENV === 'production' ? 'error' : 'warn', 'vue/multi-word-component-names': 0, 'vue/no-mutating-props': 0, '@typescript-eslint/ban-ts-comment': 0, '@typescript-eslint/ban-types': 0, '@typescript-eslint/no-empty-function': 0, '@typescript-eslint/no-explicit-any': 0, '@typescript-eslint/no-non-null-assertion': 0, '@typescript-eslint/no-this-alias': 0, '@typescript-eslint/no-var-requires': 0, 'getter-return': ['error', { allowImplicit: true }], 'no-useless-catch': 0, 'import/no-cycle': 'error' // needed to fix hard to debug issues caused by circular dependencies } };