Cloudflare 宣布,加入公司已有四个月的 VoidZero 项目已发布 80 多个版本并关闭了 1,200 多个问题,明确致力于缩短 JavaScript 开发工具的运行时间。公司确认,Vite、Vitest、Rolldown、Oxc 和 Vite+ 将继续保持开源、供应商中立并由社区驱动。
开发工具的重大改进
Cloudflare 表示,8 月发布的 Oxc React Compiler 编译 React.js 应用的速度最高可达到基于 Babel 的原始 React Compiler 的 10 倍,同时内存消耗更低,错误处理也更完整。Vite 用户可以通过 oxc-transform-react 软件包启用它。
9 月发布的 Vitest 5 在某些场景下比 Vitest 4 快最高 50%,得益于在项目之间共享已转换文件、在磁盘上缓存模块,以及减少主进程与工作进程之间交换的数据。该版本新增了 vitest doctor 工具,用于分析设置、导入、转换和测试所需的时间,并新增 Trace View,以便重新检查浏览器测试失败情况。
基于类型信息、作为 Oxlint 后端检查引擎的 tsgolint 已趋于稳定,并支持 typescript-eslint 中 61 条基于类型的规则中的 59 条。Cloudflare 估计,在大型代码库的规则上,它相比使用 typescript-eslint 的 ESLint 快 12 至 18 倍,同时还可以让检查和类型验证共享同一个 TypeScript 程序。
VoidZero 还使用 Rust 重写了 Oxfmt 中的 JSON、CSS、SCSS、Less、GraphQL 和 YAML 格式化器,并表示该工具的速度已达到 Prettier 的 7 倍,同时保持与 Prettier 兼容的输出。Vite+ 已推出 1.0 版本,将 Vite 8、Vitest 5、Rolldown、Oxlint、Oxfmt 和任务缓存整合到一套统一工具链中,并提供开箱即用的默认配置。
这对开发者和代理实际意味着什么?
Cloudflare 认为,构建、检查和测试工具的加速已经不再只与开发者有关。随着推理速度加快,类型检查、运行检查工具和构建代码可能会成为瓶颈,编程代理需要等待这些操作完成后才能继续执行任务。由于 VoidZero 的工具层层构建,因此 Oxc 或 Rolldown 等底层的改进可能会反映到 Vite 等上层工具中。
公司正在开发 Bundled Dev,此前称为 Full Bundle Mode。这是一种在开发过程中使用 Vite 生产构建包的开发模式。预计它可以改善大型应用中开发服务器的性能,并减少使用远程环境时的网络流量,但目前仍处于实验阶段,尽管 Cloudflare 的控制面板已在内部使用它。
开放性与仍存的限制
Cloudflare 表示,公司已向 Vite 生态基金拨款 100 万美元,随后又承诺向开源项目追加 100 万美元。VoidZero 还计划改进 Oxc 解析器,潜在速度最高提升 3 倍;重新设计 Rolldown 的模块拆分算法;并推出 Void 部署平台的开源且可自行托管版本,该平台基于 Cloudflare 构建。
文中提到的“10 倍”和“18 倍”等数字,是 Cloudflare 在特定场景下公布的测量结果,并不保证适用于每个项目。Bundled Dev 也仍处于实验阶段,而未来计划代表已公布的意图,并非最终可用的功能。