Vite 8 来了, 全面转向 Rolldown,Vite、Vitest、Nitro 3、Oxlint 新版本发布

0 阅读2分钟

Vite 8 发布了,还有这几个工具也更新了

Vite 生态推出了几个新版本:Vite 8、Vitest 4.1、Nitro v3 Beta、Oxlint JS Plugins。这里整理一下主要变化,供大家参考。

image.png


Vite 8

Vite 8 最主要的变化是底层 bundler 的调整。之前 Vite 在开发时用 esbuild 做预构建,生产时用 Rollup 打包,两套工具分开用。现在统一换成 Rolldown——Rollup 的 Rust 实现版本。

image.png 统一后只需要维护一套体系,开发和生产环境的行为也更一致。

官方给出了几个真实项目的测试数据:

  • Linear:从 46 秒降到 6 秒
  • Ramp:提升 57%
  • Mercedes-Benz.io:提升 38%
  • Beehiiv:提升 64%

现有的 Vite 插件基本都能继续用,配置上如果没有用到太复杂的 rollupOptions 或 esbuild 特性,可以平滑升级。


Vitest 4.1

Vitest 4.1 带来了几个新功能。

image.png Test Tags 可以给测试打标签,按标签分组运行、设置超时或自动重试。比如有些测试跑得慢,可以打个 @slow 标签,平常开发时跳过。

agent reporter 是面向 AI 编程场景的功能,会精简测试输出,只显示关键信息,减少 token 消耗。

另外新增了 viteModuleRunner: false 选项。开启后测试行为更贴近 Node.js 原生,有时候能帮你发现一些隐藏的兼容性问题。


Nitro v3 Beta

Nitro 是 Nuxt 3 的服务器引擎,这次 v3 Beta 版有一些值得注意的变化。

image.png 首先是体积大幅精简。之前依赖 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或许要更快实现了

image.png

性能方面,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 是配套更新。