尤雨溪官宣:"新玩具" 比 Prettier 快 45 倍!

"格式化太慢?Lint 卡到爆?不,我们全都要。" ------ 尤雨溪

一条推文,前端圈炸锅

10 月 19 日下午,Vue.js 作者尤雨溪Twitter 甩出一张截图:

  • oxfmtBiome2--3 倍
  • Prettier45 倍
  • Biome 更贴合 Prettier 规范
  • 已跑通 ViteVueAntDesignSupabase亿级代码库
  • "即将可用,直接平替 Prettier!"

配图最后一句话,才是核弹:

"还有一些情况我们故意与 Prettier 不同。"

ESLint 也一起被"斩"?

等等,ESLint 呢?

别急,Oxlint 早已埋伏多时:

工具 职责 替代目标 性能倍数
oxfmt 代码格式化 Prettier 45×
oxlint 代码检查 ESLint 50--100×

Oxlint 规则已覆盖 200+ 条 ESLint 核心与社区推荐规则 ,并支持 --fix 自动修复。

ViteRollupVue-core 的 CI 里,ESLint 全程没启动 ,Oxlint 0 秒跑完。

为什么要"弃用"?

  1. 速度 = 生产力

    本地 save 秒级反馈,CI 从 3 min → 5 s,老板都忍不住点赞。

  2. 兼容 ≈ 零迁移
    oxfmtPrettier 快照测试 99.7% 一致
    oxlint 提供 eslint-compat 插件,老配置直接导入。

  3. 可扩展 > 老生态

    基于 RustWASM 插件,冷启动 <10 ms,不再被 Node 单线程卡死。

  4. 改进,而不是迁就

    对于带注释的 TS 联合类型,Prettier 会"对不齐",oxfmt 主动修正

    尤雨溪直言:"不是固执,是 Prettier 真的错了。"

迁移指南

1. 一键卸载老伙伴

bash 复制代码
npm  uninstall prettier eslint eslint-config-xxx eslint-plugin-xxx

2. 安装 OXC 全家桶

bash 复制代码
npm  i  -D  oxc-cli
# 或
pnpm  add  -D  oxc-cli

3. 配置 oxc.config.js

js 复制代码
export default {
  formatter: { enable: true, semi: false, tabWidth: 2 },
  linter: {
    enable: true,
    rules: { import: { noCycle: 'error' } }
  }
}

4. 脚本替换

json 复制代码
{
  "scripts": {
    "fmt": "oxc fmt",
    "lint": "oxc lint",
    "lint:fix": "oxc lint --fix"
  }
}

5. GitHub Actions 示例

yaml 复制代码
- name: Lint & Format
  run: |
    npx oxc fmt --check
    npx oxc lint

写在最后

十年前,GruntGulpWebpack

五年前,RollupVite

今天,ESLint + Prettier → OXC

尤雨溪又一次把"不可能"写成 PR 标题:
"feat: retire eslint & prettier"

准备好迎接 0 秒 lint、0 秒 format 的新时代了吗?

OXC 官网/仓库https://github.com/oxc-project/oxc

相关推荐
Highcharts.js1 天前
赋能金融 SaaS|如何利用 Highcharts 与 Morningstar 数据构建顶级分析仪表盘
前端·金融·echarts·saas·bi·highcharts
啷咯哩咯啷1 天前
纯本地运行的私人文档知识库
前端·人工智能·后端
❆VE❆1 天前
基于 contenteditable 实现变量插入富文本编辑器
前端·javascript·vue.js
Aliex_git1 天前
Nuxt 学习笔记(一)
前端·笔记·学习
烤麻辣烫1 天前
json与fastjson
前端·javascript·学习·json
小陈同学呦1 天前
JavaScript 深浅拷贝详解
前端·javascript
六bring个六1 天前
opencv简单操作(一)
前端·webpack·node.js
小陈同学呦1 天前
fetch和axios区别
前端·javascript
森叶1 天前
Electron 实战:用 utilityProcess 开子进程,去端口化承载协议处理,并由主进程拦截渲染请求后统一中转
前端·javascript·electron
精益数智工坊1 天前
红牌作战是什么?红牌作战的实施步骤与核心要点
大数据·运维·前端·人工智能·精益工程