跳至主要內容

⚡️Vitest 3.2 发布,测试更高效;🚀Nuxt v4 测试版本发布,焕然一新;🚗Vite7 beta 版发布了

萌萌哒草头将军大约 4 分钟前端TypeScript

前言

最近更新的动态比较多,就不一篇一篇发了,这里直接来个最近更新合集

往期精彩推荐

正文

Nuxt 发布 v4 版本测试版本

Nuxt v4
Nuxt v4

Nuxt v4alpha 版已于 6月2日 发布,稳定版预计 6月底 推出。

新版本引入了全新的 app/ 目录结构,优化代码组织,显著提升 IDE 性能,尤其适合大型项目。

数据获取机制得到升级,useAsyncDatauseFetch 提供更智能的缓存和清理逻辑,减少重复请求并提升性能。

Nuxt v4 还支持 Vite 环境 API,通过单一开发服务器简化配置,同时改进了头部管理,移除 Unhead v2 的废弃功能,确保更高效的 SEO 和标签处理。

此外,组件命名一致性得到增强,与 Vue DevTools<KeepAlive> 兼容,提升调试体验。

Nuxt 3 将支持至 2025年底,为用户提供充足的迁移时间,

Nuxt 5 将在 Nitro v3 准备就绪后推出,预计带来更多底层优化。

博客地址:https://nuxt.com/blog/roadmap-v4open in new window

Vitest 3.2 来啦,测试更高效

Vitest 3.2
Vitest 3.2

Vitest 3.2 带来多项测试增强功能,包括测试注解 API,支持自定义消息和附件,集成到 UIHTMLjunit 等报告中,便于调试。

新增作用域固件(支持 fileworker),通过 test.extend 提供更灵活的测试隔离控制。

const test = baseTest.extend({
  db: [
    async ({}, use) => {
      // ...setup
      await use(db);
      await db.close();
    },
    { scope: "worker" },
  ],
});

自定义项目名称颜色功能让多项目测试更直观,浏览器定位器 API 扩展支持 Playwright 定位器字符串,增强了浏览器测试能力。

新增 signal API 可在测试超时或手动中止时终止运行,结合 V8 AST 感知重映射(需启用 coverage.experimentalAstAwareRemapping),显著提升代码覆盖率性能。

it("stop request when test times out", async ({ signal }) => {
  await fetch("/heavy-resource", { signal });
}, 2000);

此外,watchTriggerPatterns 允许配置特定文件更改触发相关测试,如模板文件更改触发 mailers 测试,提升开发效率。

export default defineConfig({
  test: {
    watchTriggerPatterns: [
      {
        pattern: /^src\/templates\/(.*)\.(ts|html|txt)$/,
        testsToRun: (file, match) => {
          return `api/tests/mailers/${match[2]}.test.ts`;
        },
      },
    ],
  },
});

另外本次更新将弃用 workspace ,改用 projects

import { defineConfig } from "vitest/config";
export default defineConfig({
  test: {
    // "test.workspace" is now "test.projects"

    projects: [{ test: { name: "Unit" } }, { test: { name: "Integration" } }],
  },
});

rolldown-vite 预览版发布

阿斯顿发

其他更新内容

Vite 7.0.0-beta.0
Vite 7.0.0-beta.0
Vite 7.0.0-beta.0

Vite 7.0.0-beta.06月2日 发布,作为测试版标志着 Vite 生态的又一次进化。

  • 浏览器目标更改为广泛可用的基线
  • 已停止对 Node 18 的支持。Vite 现已仅以 ESM 形式发行
rolldown-plugin-dts 引入 tsgo

rolldown-plugin-dts 的最新更新引入了 tsgo ,需额外安装 @typescript/native-previewtsgo-dev 依赖,但因其实验性质,建议在非生产环境中测试使用。

x 原文
x 原文

tsgo 演练场看这里 https://tsgo.sxzz.devopen in new window

最后

本次更新展现了网络开发生态的蓬勃发展。Nuxt v4 提供更现代化的开发体验,Vitest 3.2 优化测试流程,Vite 7.0 预示构建工具的未来潜力,rolldown-plugin-dts 则为 TypeScript 开发者带来新选择。开发者可根据项目需求选择升级,保持技术领先。
今天的分享就这些了,感谢大家的阅读,如果文章中存在错误的地方欢迎指正!

往期精彩推荐