阅读app书源(2025精品书源)
14.3MB · 2025-10-23
“格式化太慢?Lint 卡到爆?不,我们全都要。” —— 尤雨溪
10 月 19 日
下午,Vue.js
作者尤雨溪在 Twitter
甩出一张截图:
Biome
快 2–3 倍Prettier
快 45 倍Biome
更贴合 Prettier 规范Vite
、Vue
、AntDesign
、Supabase
等 亿级代码库配图最后一句话,才是核弹:
等等,ESLint
呢?
别急,Oxlint
早已埋伏多时:
工具 | 职责 | 替代目标 | 性能倍数 |
---|---|---|---|
oxfmt | 代码格式化 | Prettier | 45× |
oxlint | 代码检查 | ESLint | 50–100× |
Oxlint
规则已覆盖 200+ 条 ESLint 核心与社区推荐规则,并支持 --fix
自动修复。
在 Vite
、Rollup
、Vue-core
的 CI 里,ESLint 全程没启动,Oxlint 0
秒跑完。
速度 = 生产力
本地 save
秒级反馈,CI 从 3 min → 5 s,老板都忍不住点赞。
兼容 ≈ 零迁移
oxfmt
与 Prettier
快照测试 99.7% 一致;
oxlint
提供 eslint-compat 插件,老配置直接导入。
可扩展 > 老生态
基于 Rust
的 WASM
插件,冷启动 <10 ms,不再被 Node 单线程卡死。
改进,而不是迁就
对于带注释的 TS
联合类型,Prettier
会“对不齐”,oxfmt
主动修正。
尤雨溪直言:“不是固执,是 Prettier 真的错了。”
npm uninstall prettier eslint eslint-config-xxx eslint-plugin-xxx
npm i -D oxc-cli
# 或
pnpm add -D oxc-cli
oxc.config.js
export default {
formatter: { enable: true, semi: false, tabWidth: 2 },
linter: {
enable: true,
rules: { import: { noCycle: 'error' } }
}
}
{
"scripts": {
"fmt": "oxc fmt",
"lint": "oxc lint",
"lint:fix": "oxc lint --fix"
}
}
- name: Lint & Format
run: |
npx oxc fmt --check
npx oxc lint
十年前,Grunt
→ Gulp
→ Webpack
五年前,Rollup
→ Vite
今天,ESLint + Prettier → OXC
尤雨溪又一次把“不可能”写成 PR 标题:
“feat: retire eslint & prettier”
准备好迎接 0 秒 lint、0 秒 format 的新时代了吗?
OXC 官网/仓库:https://github.com/oxc-project/oxc