Vite 8 发布了,还有这几个工具也更新了
Vite 生态推出了几个新版本:Vite 8、Vitest 4.1、Nitro v3 Beta、Oxlint JS Plugins。这里整理一下主要变化,供大家参考。
Vite 8
Vite 8 最主要的变化是底层 bundler 的调整。之前 Vite 在开发时用 esbuild 做预构建,生产时用 Rollup 打包,两套工具分开用。现在统一换成 Rolldown——Rollup 的 Rust 实现版本。
统一后只需要维护一套体系,开发和生产环境的行为也更一致。
官方给出了几个真实项目的测试数据:
- Linear:从 46 秒降到 6 秒
- Ramp:提升 57%
- Mercedes-Benz.io:提升 38%
- Beehiiv:提升 64%
现有的 Vite 插件基本都能继续用,配置上如果没有用到太复杂的 rollupOptions 或 esbuild 特性,可以平滑升级。
Vitest 4.1
Vitest 4.1 带来了几个新功能。
Test Tags 可以给测试打标签,按标签分组运行、设置超时或自动重试。比如有些测试跑得慢,可以打个
@slow 标签,平常开发时跳过。
agent reporter 是面向 AI 编程场景的功能,会精简测试输出,只显示关键信息,减少 token 消耗。
另外新增了 viteModuleRunner: false 选项。开启后测试行为更贴近 Node.js 原生,有时候能帮你发现一些隐藏的兼容性问题。
Nitro v3 Beta
Nitro 是 Nuxt 3 的服务器引擎,这次 v3 Beta 版有一些值得注意的变化。
首先是体积大幅精简。之前依赖 300 多个包,现在整个 bundle 小于 10KB。对 serverless 部署场景比较友好。
内置了几个常用功能:
- Storage:支持 20 多种驱动,包括 FS、Redis、S3、Cloudflare KV 等
- Caching:统一的缓存 API
- Database:内置 SQL 支持,可连接 SQLite、Postgres、MySQL
H3 也升级到 v2,基于 Web 标准重写了。
部署方面继续支持 Node.js、Bun、Deno、Cloudflare Workers、Vercel、AWS Lambda 等。
Oxlint JS Plugins
Oxlint 是 VoidZero 团队开发的 JS/TS linter。这次推出的 JS Plugins 支持,可以直接运行现有的 ESLint 插件。
antfu的eslint库迁移oxlint或许要更快实现了
性能方面,Node.js 官方仓库测试:ESLint 需要 1 分 43 秒,Oxlint 21 秒完成,提升约 4.8 倍。部分场景提升更高。
测试覆盖方面,ESLint 内置规则、React Hooks 规则、Testing Library 等都有较高的通过率。
目前已在 Midjourney、Preact、Posthog 等项目生产使用。
小结
这几个更新都与 Vite/Rolldown 生态相关。Vite 8 是核心变化,Vitest 4.1、Nitro v3、Oxlint 是配套更新。