import antfu from '@antfu/eslint-config' // https://github.com/antfu/eslint-config export default antfu( { vue: { overrides: { 'vue/block-order': ['error', { order: [['script', 'template'], 'style'], }], // 强制组件顶级元素的顺序 'vue/define-macros-order': ['error', { order: ['defineOptions', 'defineModel', 'defineProps', 'defineEmits', 'defineSlots'], defineExposeLast: true, }], // 强制执行定义限制和定义弹出编译器宏的顺序 'vue/singleline-html-element-content-newline': 'off', // 要求在单行元素的内容前后换行 'vue/html-self-closing': ['off', { html: { void: 'never', normal: 'always', component: 'never', }, }], // 强制自结束样式 'vue/custom-event-name-casing': ['error', 'kebab-case'], // 对自定义事件名称强制使用特定大小写 }, }, typescript: true, ignores: [ '**/*.md', '.github', '.image', 'src/types/shims-vue.d.ts', ], }, { rules: { 'curly': ['off', 'all'], // 对所有控制语句强制使用一致的大括号样式 'no-new': 'off', // 不允许在赋值或比较之外使用 new 运算符 // 'no-console': 'error', // 禁止使用 console 'style/arrow-parens': ['error', 'always'], // 箭头函数参数需要括号 'style/brace-style': ['error', '1tbs', { allowSingleLine: true }], // 对块执行一致的大括号样式 'regexp/no-unused-capturing-group': 'off', 'regexp/no-super-linear-backtracking': 'off', 'node/prefer-global/process': 'off', 'antfu/top-level-function': 'off', 'antfu/if-newline': 'off', }, }, )