原生速度。 熟悉的规则。

用 Zig 加速 JavaScript 与 TypeScript 代码检查。

bash
ut install -D @utoo/lint

原生引擎,高效检查

Zig 引擎结合 Yuku 解析与语义分析,并行检查项目文件。macOS、Linux 和 Windows 均提供预构建二进制。

面向真实项目

覆盖 JavaScript、TypeScript、React、无障碍和导入规则。沿用熟悉的规则 ID 与严重级别,为受支持的问题提供安全修复。

融入现有工作流

支持类型化或 JSON 配置、抑制注释和 JSON 诊断输出。通过 CLI、JavaScript API 或内存中的 WebAssembly 调用。

index.tsTypeScript
自动修复示例
typescript
function greet(name: string) {
let message = `Hello, ${name}`;;
const messages = new Array(message, 'Welcome');
return { messages: messages };
}
4 处可自动修复的问题
性能基准

更快获得反馈,少一点等待。

同一批 TypeScript 文件,同样的 12 条共有规则。每次独立启动 CLI,计时包含启动开销。

9.52msutoo-lint 耗时中位数
78.0×本次测试中,相对 ESLint 的速度
查看测试记录
100 个 TypeScript 文件 · 12 条共有规则

每一毫秒,都算数。

越短越快
CLI 耗时中位数ms
点击工具,查看每次测量从零起算的线性刻度
utoo-lint最快20 次测量
第 1 次: 9.981 ms第 2 次: 9.872 ms第 3 次: 9.946 ms第 4 次: 11.041 ms第 5 次: 9.486 ms第 6 次: 9.776 ms第 7 次: 9.509 ms第 8 次: 9.375 ms第 9 次: 9.636 ms第 10 次: 9.330 ms第 11 次: 9.331 ms第 12 次: 9.447 ms第 13 次: 9.522 ms第 14 次: 9.211 ms第 15 次: 9.572 ms第 16 次: 9.403 ms第 17 次: 9.274 ms第 18 次: 9.259 ms第 19 次: 9.808 ms第 20 次: 10.049 ms
实测耗时范围9.21–11.04ms
记录于 2026-08-30 · macOS arm64 · Node.js 20.19.1 · 每个工具预热 5 次。保存图表

数据来自一组已归档的生成语料测试。结果会随硬件、代码和启用规则变化;完整测试条件与对比范围见测试记录。

项目配置

你的规则,用熟悉的方式配置。

从 frontend 预设开始,按项目需求调整。TypeScript 配置提供编辑器补全;需要纯数据配置时,也可以使用静态 JSON。

  • ESLint 风格的规则名称与严重级别
  • 文件模式、全局忽略与 flat config 数组
  • 可扩展、可覆盖的规则预设
了解配置方式
utlint.config.tsTypeScript
typescript
import { defineConfig } from '@utoo/lint/config';
import frontend from '@utoo/lint/configs/frontend';
export default defineConfig({
...frontend,
rules: {
...frontend.rules,
'no-console': 'warn',
},
});
渐进接入

从小范围开始,有把握地迁移。

按项目节奏迁移受支持的规则。先用迁移报告确认哪些可以迁移,哪些仍需保留在 ESLint 中。

  1. 检查现有配置

    先预览,再写入。阅读迁移报告,确认尚不支持的选项与插件行为。

    utoo-lint migrate eslint --print
  2. 迁移已支持的规则

    核对项目所用规则的覆盖情况。暂不支持的处理器、自定义插件和类型服务工作流继续交给 ESLint。

    查看规则覆盖 →
  3. 在项目中验证

    在 CI 中同时运行两个工具并比较诊断结果。逐条验证后,移除 ESLint 中的重复检查。

    阅读迁移指南 →
同一个引擎,多种运行方式

从代码仓库,到浏览器。

原生 CLI

在本地或 CI 中检查源代码目录,并应用受支持的自动修复。

pnpm exec utoo-lint src使用 CLI →

JavaScript API

通过 ESM 和 CommonJS 入口,将检查能力集成到 Node.js 工具中。

@utoo/lint配置项目 →

WebAssembly

检查并修复单个内存文件。Playground 直接在浏览器本地处理代码。

@utoo/lint-wasm了解 WebAssembly →
最后更新时间: