Repolode
xojs

xojs/xo

开箱即用的 JavaScript/TypeScript 代码检查工具,基于 ESLint 封装,内置严格且统一的默认风格。

Star
7,995
Fork
309
未关闭 Issue
3
最近提交
2个月前

这是什么?

XO 是一个面向 JavaScript 和 TypeScript 的命令行代码检查工具,基于 ESLint 封装,并预置了一套有主见的默认规则。在项目中直接运行即可检查 JS、TS 及 Vue、Svelte、Astro 文件,也支持 HTML、Markdown、JSON 和 CSS,无需手动指定文件路径,也不必自行维护 ESLint 配置。它适合希望在代码评审中不再争论代码风格、由工具统一执行规则的团队。

默认风格包括制表符缩进、分号、单引号和多行尾随逗号,可通过参数改为空格缩进或无分号风格。内置的 unicorn、import-x、ava、n 等 ESLint 插件提供更多检查。配置可写在 xo.config.js 或 xo.config.ts 中,采用 ESLint 的 flat config 格式。工具会在两次运行之间缓存结果,并可通过 `--fix` 自动修复部分问题。

使用 XO 要求项目采用 ES 模块。Astro、React、Svelte、Vue 的检查需要额外安装对应插件,另外可选择 Prettier 模式,直接格式化代码或关闭与 Prettier 冲突的规则。

核心功能

  • 01零配置检查 JS、TS、HTML、Markdown、JSON 和 CSS 文件。
  • 02默认支持 TypeScript,并内置 unicorn、import-x 等 ESLint 插件。
  • 03通过 `--fix` 自动修复问题,通过 `--open` 在编辑器中打开出错文件。
  • 04无需修改规则即可设置缩进和分号风格。
  • 05可选 Prettier 格式化,或使用 compat 模式关闭与 Prettier 冲突的规则。
  • 06支持通过 eslint-suppressions.json 批量忽略已有违规,便于逐步收紧规则。

适用场景

  • 团队无需自行编写 ESLint 配置,即可统一代码风格。
  • 为新的 JavaScript 或 TypeScript 项目一条命令接入代码检查。
  • 在 Vue、Svelte、Astro 或 React 项目中配合对应框架插件使用。
  • 在大型现有代码库中借助忽略文件逐步引入更严格的规则。

快速上手

  1. 1

    在项目中本地安装 XO

    npm install xo --save-dev
  2. 2

    运行 XO 检查项目代码

    npx xo

使用前须知

  • XO 要求你的项目使用 ESM 模块。
  • 它是 ESLint 的封装,内置规则的问题需要到 ESLint 项目中反馈。
  • 代码风格较为固执己见,默认使用制表符、单引号和分号,除非另行配置。

收录于专题

标签

常见问题

xo 是什么?
开箱即用的 JavaScript/TypeScript 代码检查工具,基于 ESLint 封装,内置严格且统一的默认风格。 XO 是一个面向 JavaScript 和 TypeScript 的命令行代码检查工具,基于 ESLint 封装,并预置了一套有主见的默认规则。在项目中直接运行即可检查 JS、TS 及 Vue、Svelte、Astro 文件,也支持 HTML、Markdown、JSON 和 CSS,无需手动指定文件路径,也不必自行维护 ESLint 配置。它适合希望在代码评审中不再争论代码风格、由工具统一执行规则的团队。
xo 可以免费使用吗?用的什么许可证?
xo 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
xo 还在维护吗?
半年内有更新。xo 最近一次提交是在 2026年9月18日。
xo 适合用来做什么?
团队无需自行编写 ESLint 配置,即可统一代码风格。 为新的 JavaScript 或 TypeScript 项目一条命令接入代码检查。 在 Vue、Svelte、Astro 或 React 项目中配合对应框架插件使用。 在大型现有代码库中借助忽略文件逐步引入更严格的规则。
xo 怎么安装和运行?
在项目中本地安装 XO: npm install xo --save-dev 运行 XO 检查项目代码: npx xo
在哪里获取 xo?
源代码和安装说明在 GitHub 上:https://github.com/xojs/xo

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目