import antfu from '@antfu/eslint-config' import VueVine from '@vue-vine/eslint-config' import oxlint from 'eslint-plugin-oxlint' export default antfu( { // 项目类型: app (默认) 或 lib type: 'app', // 启用 TypeScript 支持 (自动检测) typescript: { tsconfigPath: 'tsconfig.json', }, // 启用 Vue 支持 (自动检测) vue: true, // 启用格式化规则 stylistic: { indent: 2, quotes: 'single', semi: false, }, // 禁用某些文件类型的支持 jsonc: true, yaml: true, markdown: true, // 忽略的文件 ignores: [ '**/node_modules', '**/dist', '**/output', '**/.vitepress/cache', '**/.nuxt', '**/.next', '**/.vercel', '**/.changeset', '**/.idea', '**/.cache', '**/.output', '**/.vite-inspect', '**/CHANGELOG*.md', '**/*.min.*', '**/LICENSE*', '**/__snapshots__', '**/auto-import?(s).d.ts', '**/components.d.ts', ], }, { // 自定义规则 rules: { // Vue 相关规则 'vue/multi-word-component-names': 'off', 'vue/no-mutating-props': 'off', 'vue/no-v-html': 'off', 'vue/require-default-prop': 'off', // TypeScript 相关规则 'ts/no-explicit-any': 'off', 'ts/ban-ts-comment': 'off', // 通用规则 'no-console': 'off', 'unused-imports/no-unused-vars': 'warn', // 关闭一些过于严格的规则 'antfu/if-newline': 'off', 'style/brace-style': ['error', '1tbs'], }, }, // 集成 VueVine 配置 ...VueVine(), // 集成 oxlint 配置 - 必须放在最后以禁用与 oxlint 冲突的 ESLint 规则 oxlint.buildFromOxlintConfigFile('./.oxlintrc.json'), )