Skip to content

ESLint 配置

📖 概述

@tsoul/eslint-config 是一个完整的 ESLint 配置解决方案,支持 Vue、React、Svelte 等多个框架,并提供了统一的代码规范和最佳实践。配置基于 ESLint 的 Flat Config 格式,提供了更好的性能和扩展性。

🎯 特性

  • 多框架支持: Vue 3、React、Svelte
  • TypeScript: 内置 TypeScript 支持
  • Prettier: 集成 Prettier 格式化
  • UnoCSS: 支持 UnoCSS 规则检查
  • 自动修复: 支持自动修复常见问题
  • 性能优化: 使用 Flat Config 提升性能

🚀 快速开始

安装

bash
npm install @tsoul/eslint-config -D
# 或
pnpm add @tsoul/eslint-config -D

基础配置

javascript
// eslint.config.mjs
import { defineFlatConfig } from '@tsoul/eslint-config'

export default defineFlatConfig([
	// 你的配置
])

📝 框架配置

Vue 项目

javascript
// eslint.config.mjs
import vueConfig from '@tsoul/eslint-config/vue'

export default vueConfig

主要规则:

  • 组件命名规范
  • Props 默认值要求
  • 组件定义检查
  • TypeScript 支持
  • Vue 3 最佳实践

React 项目

javascript
// eslint.config.mjs
import reactConfig from '@tsoul/eslint-config/react'

export default reactConfig

Svelte 项目

javascript
// eslint.config.mjs
import svelteConfig from '@tsoul/eslint-config/svelte'

export default svelteConfig

🔧 规则配置

通用规则

javascript
{
  // 未使用变量检查
  'no-unused-vars': ['error', {
    argsIgnorePattern: '^_' // 忽略下划线开头的参数
  }],

  // 变量声明
  'no-redeclare': 'error',
  'prefer-const': 'error',

  // Prettier 集成
  ...configPrettier.rules,
  ...pluginPrettier.configs.recommended.rules
}

Vue 规则

javascript
{
  // Props 默认值
  'vue/require-default-prop': 'error',

  // 组件命名
  'vue/multi-word-component-names': 'off',

  // 组件定义检查
  'vue/no-undef-components': ['error', {
    ignorePatterns: ['(tsoul|el|router)(\\-\\w+)+']
  }]
}

🎨 自定义配置

扩展规则

javascript
// eslint.config.mjs
import vueConfig from '@tsoul/eslint-config/vue'
import { defineFlatConfig } from 'eslint-define-config'

export default defineFlatConfig([
	...vueConfig,
	{
		rules: {
			// 你的自定义规则
		},
	},
])

忽略文件

javascript
{
	ignores: [
		'**/dist',
		'**/node_modules',
		// 添加其他忽略路径
	]
}

🚨 常见问题

1. 规则冲突

如果遇到与 Prettier 的规则冲突,配置已经自动处理了这个问题,因为我们:

  • 继承了 eslint-config-prettier
  • 集成了 eslint-plugin-prettier

2. 性能问题

如果遇到性能问题,可以:

  • 使用 .eslintignore 排除不需要检查的文件
  • 确保使用最新版本的 ESLint
  • 使用 Flat Config 配置格式

📚 相关资源

基于 MIT 许可发布