@sxzz/eslint-config
一个用于JavaScript、TypeScript、Vue 2或Vue 3以及Prettier的独特ESLint配置预设。
特性
- 使用Prettier进行格式化。
- 专为开箱即用的TypeScript、Vue 2和3设计。
- 支持JSON(5)、YAML、Markdown等。
- 对导入、
package.json
、tsconfig.json
等进行排序。 - ESLint平面配置,易于组合!
- 忽略常见文件如
dist
、node_modules
、coverage
以及.gitignore
中的文件。 - 合理的默认设置、最佳实践,只需一行配置。
- 合理严格,但可提高代码质量。
安装
npm i -D @sxzz/eslint-config
需要Node.js >= 18.18,以及ESLint >= 8.56.0。
使用方法
import { sxzz } from '@sxzz/eslint-config'
export default sxzz(
[
/* 你的自定义配置 */
],
// 功能:它会自动检测已安装的依赖并启用必要的功能
{
prettier: true,
markdown: true,
vue: true, // 自动检测
unocss: false, // 自动检测
},
)
预设
// eslint.config.js
import {
presetJavaScript, // 忽略常见文件并包含JavaScript支持
presetJsonc, // 包含基本json(c)文件支持和json键排序
presetLangsExtensions, // 包含markdown、yaml + `presetJsonc`支持
presetBasic, // 包含`presetJavaScript`和typescript支持
// 包含
// - `presetBasic` (JS+TS)支持
// - `presetLangsExtensions` (markdown, yaml, jsonc)支持
// - Vue支持
// - UnoCSS支持(需要`uno.config.ts`)
// - Prettier支持
presetAll,
} from '@sxzz/eslint-config'
export default presetAll
更多详情请查看preset.ts。
VSCode
如果你使用的ESLint版本低于9,请启用平面配置。
{
"eslint.experimental.useFlatConfig": true,
}
与@antfu/eslint-config
的比较
大多数规则是相同的,但有一些差异:
- 使用Prettier而不是ESLint Stylistic。
- 同时支持Vue 2和Vue 3。
- 支持Vue响应式转换。
- 规则更加严格。