配置 eslint 与 prettier
This commit is contained in:
53
eslint.config.mjs
Normal file
53
eslint.config.mjs
Normal file
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* 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',
|
||||
},
|
||||
},
|
||||
)
|
||||
Reference in New Issue
Block a user