const path = require('path'); module.exports = { root: true, extends: [ '@tencentcloud/eslint-config-hybrid/vue3', ], parserOptions: { project: [ `${__dirname}/tsconfig.json`, ], }, settings: { 'import/resolver': { alias: { map: [['@', path.resolve(__dirname, './src')]], extensions: ['.js', '.jsx', '.ts', '.d.ts', '.tsx', '.vue'], }, }, }, overrides: [ { env: { browser: true, }, files: ['*.vue'], extends: [ 'plugin:vue/vue3-recommended', '@vue/eslint-config-typescript/recommended', ], parser: 'vue-eslint-parser', parserOptions: { ecmaVersion: 'latest', sourceType: 'module', }, rules: { '@typescript-eslint/no-explicit-any': 'off', 'no-use-before-define': 'off', 'vue/multi-word-component-names': 'off', 'vue/attribute-hyphenation': 'off', 'vue/v-on-event-hyphenation': 'off', 'vue/no-v-model-argument': 'off', }, }, ], rules: { 'class-methods-use-this': 'off', 'no-restricted-syntax': 'off', 'no-plusplus': 'off', 'no-constructor-return': 'off', 'no-param-reassign': 'off', 'no-continue': 'off', 'import/prefer-default-export': 'off', 'prefer-promise-reject-errors': 'off', '@stylistic/max-len': 'warn', '@typescript-eslint/naming-convention': 'off', '@typescript-eslint/no-unused-expressions': 'off', '@typescript-eslint/no-unused-vars': ['error', { args: 'after-used', }], 'prefer-exponentiation-operator': 'off', }, ignorePatterns: [ 'node_modules', 'build', 'dist', 'docs', 'assets', 'debug', 'public', '!.stylelintrc.cjs', 'src/TUIKit', 'src/main.ts', 'vite.config.ts', 'auto-imports.d.ts', 'components.d.ts', ], };