Files
frontend_hmi_station/eslint.config.mjs

54 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

2026-01-14 16:35:46 +08:00
/**
* ESLint Flat 配置ESLint 9
* 适用于Vue 3 + TypeScript + Prettier
*/
import pluginVue from 'eslint-plugin-vue' // Vue 官方 ESLint 插件
import {
defineConfigWithVueTs, // 用于组合 Vue + TS 的 Flat 配置
vueTsConfigs, // 官方提供的 TypeScript 推荐规则集合
} from '@vue/eslint-config-typescript'
import prettierPlugin from 'eslint-plugin-prettier' // 将 Prettier 作为 ESLint 规则使用
import prettierConfig from 'eslint-config-prettier' // 关闭与 Prettier 冲突的 ESLint 规则
export default defineConfigWithVueTs(
// 1. 全局忽略配置(必须放在最前面)
{
// 不对构建产物和依赖目录进行 ESLint 校验
ignores: ['dist/**', 'node_modules/**'],
},
// 2. Vue 相关基础规则(包含模板语法支持)
pluginVue.configs['flat/essential'],
// 3. TypeScript 推荐规则(脚本逻辑部分)
vueTsConfigs.recommended,
// 4. Prettier 相关配置:只负责格式化,不干扰语义规则
{
// 注册需要用到的插件
plugins: {
prettier: prettierPlugin, // Prettier 插件
},
// 自定义规则
rules: {
// 关闭与 Prettier 冲突的 ESLint 规则
...prettierConfig.rules,
// 将 Prettier 的格式化结果作为 ESLint 的告警输出
'prettier/prettier': 'warn',
},
},
// 5. 自定义规则
{
rules: {
// Vue 规则
'vue/multi-word-component-names': 'off',
// TypeScript 规则
'@typescript-eslint/no-explicit-any': 'off',
},
},
)