ITADN
xojs/eslint-config-xo
xojs/eslint-config-xo · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

eslint-config-xo

ESLint 可共享配置,适用于 XO,支持 JavaScript、TypeScript、HTML 和 Markdown

这是面向高级用户的。您可能希望直接使用 XO。

请使用 XO 问题跟踪器] 而不是此问题跟踪器。

安装

npm install --save-dev eslint-config-xo

用法

// eslint.config.js
import eslintConfigXo from 'eslint-config-xo';
import {defineConfig} from 'eslint/config';

export default defineConfig([
	...eslintConfigXo(),
]);

选项

browser

类型: boolean
默认值: false

使用浏览器全局变量而非 Node.js 全局变量。

export default defineConfig([
	...eslintConfigXo({browser: true}),
]);

space

类型: boolean | number
默认值: false

使用空格而非制表符进行缩进。设置为 true 表示 2 个空格,或设置为数字以指定自定义数量。

export default defineConfig([
	...eslintConfigXo({space: true}),
]);

semicolon

类型: boolean
默认值: true

在语句末尾使用分号。设置为 false 以强制不使用分号。

export default defineConfig([
	...eslintConfigXo({semicolon: false}),
]);

prettier

Type: boolean | 'compat'
Default: false

集成 Prettier

  • true — 使用 XO 的 Prettier 样式将 Prettier 作为 ESLint 规则运行,并禁用与其冲突的样式规则。需要安装 prettier
  • 'compat' — 仅禁用与 Prettier 冲突的样式规则,适用于单独运行 Prettier 的情况(例如,从编辑器或脚本中运行)。
export default defineConfig([
	...eslintConfigXo({prettier: true}),
]);

你在 .prettierrc 中设置的 Prettier 选项仍然适用于 XO 未配置的任何内容(例如 printWidth 或插件),但 XO 自身的样式设置具有优先权。

gitignore

类型:string

忽略项目 .gitignore 文件中列出的路径。

传入 import.meta.url 以便 .gitignore 相对于你的 ESLint 配置文件进行解析。如果该文件不存在,则此操作无效。

export default defineConfig([
	...eslintConfigXo({gitignore: import.meta.url}),
]);

[!NOTE] 使用 XO CLI 时不需要此操作,因为它已经遵循 .gitignore

TypeScript

开箱即支持 TypeScript。如果已安装 typescript,则会自动启用 TypeScript 规则。对于仅包含 JavaScript 的项目,typescript 并非必需。

HTML

HTML 文件(*.html)会使用 @html-eslint/eslint-plugin 自动进行 lint 检查,涵盖最佳实践、可访问性、SEO 和样式。

Markdown

Markdown 文件(*.md)会使用 @eslint/markdown 自动进行 lint 检查,涵盖链接/图片的正确性、标题结构等。

自定义规则

xo/import-specifier-newline

当 import 跨越多行时,每个说明符必须位于单独的一行。可自动修复。

// Bad
import {
	foo, bar, baz,
} from 'x';

// Good
import {
	foo,
	bar,
	baz,
} from 'x';

// Single-line imports are not affected
import {foo, bar} from 'x';

包含的插件

改用 XO CLI

XO 是一个具有出色默认配置的 ESLint 封装器。

以下是你应该使用 XO CLI 而非此配置的一些原因:

  • XO 已内置此配置。
  • 美观的输出。
  • 无需指定要检查的文件路径。它将检查除 常见忽略路径 外的所有 JS 文件。
  • 使用 $ npm init xo 将 XO 添加到项目中非常简单。
  • 支持按文件/通配符覆盖配置/规则。
  • Prettier 集成。
  • React 支持。
  • 可以在编辑器中打开所有包含错误的文件并定位到正确的行。(参见 --open 标志)
  • 编辑器插件 在我看来比 ESLint 的更好。(主观意见)

简而言之,仅使用此配置会错过很多功能。

相关