2026-08-25
更新概览
- React SPA 模板:升级 Vite 8.2.2、Vite React 6.1、ESLint 10.9、React Grab 0.2 及 UI、状态和测试依赖。
- Vue 3 SPA 模板:升级 Vite 8.2.2、Vue 3.5.41、Pinia 4.0.3、Oxc 工具链及 UI、测试依赖。
- React SSR 模板:升级 Next.js 与
eslint-config-next16.3.2,以及 UI、测试、样式和提交工具。 - Vue 3 SSR 模板:升级 Nuxt 4.5.2,并采用通过生产 SSR 验证的 Pinia 4.0.3 与
@pinia/nuxt1.0.2 组合。 - 本次验证:四套模板均通过冻结锁文件安装、peer 检查、类型检查、lint、单测、覆盖率、组件守卫、生产构建和 Playwright E2E。
React SPA 模板 (vite_react_init)
依赖版本变更
| 依赖或工具 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| Vite | 8.2.0 | 8.2.2 | patch | 保持 Vite 8 与 Rolldown 构建基线,生产构建与 legacy 产物通过。 |
| @vitejs/plugin-react | 6.0.5 | 6.1.0 | minor | peer 范围要求 Vite 8,当前组合通过 peer、类型与构建检查。 |
| @vitejs/plugin-legacy | 8.2.2 | 8.2.3 | patch | 与 Vite 8.2.2 同步,现代与 legacy 双产物均成功生成。 |
| ESLint / Antfu / eslint-react | 10.8.0 / 9.2.0 / 5.18.2 | 10.9.0 / 9.3.0 / 5.18.6 | minor/patch | lint 零错误通过。 |
| Lucide React / shadcn / Sonner | 1.28.0 / 4.16.1 / 2.0.7 | 1.33.0 / 4.19.0 / 2.0.8 | minor/patch | 现有 UI、组件和无障碍测试通过。 |
| Day.js / Immer / Zustand / web-vitals | 1.11.21 / 11.1.15 / 5.0.14 / 6.0.1 | 1.11.23 / 11.1.18 / 5.0.15 / 6.1.1 | minor/patch | 状态、日期和性能监控基线更新,相关单测通过。 |
| Vitest / coverage-v8 / UI | 4.1.10 | 4.1.11 | patch | 测试运行器与报告组件保持同版本。 |
| jest-dom / user-event / React DOM 类型 | 7.0.0 / 14.6.3 / 19.2.4 | 7.0.1 / 14.6.6 / 19.2.5 | patch | 40 项测试和类型检查通过。 |
| Less / React Grab / React Refresh 插件 | 4.8.1 / 0.1.50 / 0.5.3 | 4.9.0 / 0.2.0 / 0.5.4 | minor/major/patch | React Grab 仅用于开发辅助;插件加载、构建和 E2E 均通过。 |
升级内容说明
- Vite、React 插件和 legacy 插件按 peer 元数据组成兼容组合,未改变模板入口、路由或环境变量开关。
- React Grab 0.2 是本模板唯一独立 major 变化;现有 Vite 配置无需迁移,生产构建和浏览器流程通过。
@vitejs/devtools与 kit 保留 0.4.12,因为 Vite 8.2.2 的 peer 范围只接受 0.4 或 0.5,不接受当前 latest 0.6。
模板影响
- 认证、路由、性能监控和组件行为保持不变。
- README 与 AGENTS 已同步 Vite 8.2.2 和 ESLint 10.9.0 基线。
Vue 3 SPA 模板 (vite_vue3_init)
依赖版本变更
| 依赖或工具 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| Vite / legacy 插件 | 8.2.0 / 8.2.2 | 8.2.2 / 8.2.3 | patch | Vite 生产构建和 legacy 产物通过。 |
| Vue / Pinia | 3.5.40 / 4.0.2 | 3.5.41 / 4.0.3 | patch | Composition API、store 注册、单测和 E2E 通过。 |
| Lucide Vue / reka-ui / shadcn-vue | 1.28.0 / 2.10.1 / 2.8.1 | 1.33.0 / 2.10.3 / 2.8.2 | minor/patch | 现有组件与无障碍测试通过。 |
| web-vitals | 6.0.1 | 6.1.1 | minor | 性能监控工具测试通过。 |
| Oxlint / oxfmt | 1.77.0 / 0.62.0 | 1.79.0 / 0.64.0 | minor | lint 与格式工具更新,lint 零 warning。 |
| Vitest / coverage-v8 / UI | 4.1.10 | 4.1.11 | patch | 测试运行器和覆盖率组件保持一致。 |
| jest-dom / vue-tsc | 7.0.0 / 3.3.9 | 7.0.1 / 3.3.11 | patch | 29 项测试与 Vue 类型检查通过。 |
升级内容说明
- Vue、Pinia、Vite 和 vue-tsc 均留在当前兼容 major 线,未触及路由、store 或组件源码。
- Vite DevTools 继续保留 0.4.12,原因与 React SPA 相同。
模板影响
- Composition API、路由、Pinia 持久化和客户端渲染边界保持不变。
- README 与 AGENTS 已同步 Vite 8.2.2、Vue 3.5.41 和 Pinia 4.0.3。
React SSR 模板 (vite_react_ssr_init)
依赖版本变更
| 依赖或工具 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| Next.js / eslint-config-next | 16.3.0 | 16.3.2 | patch | App Router 生产构建、服务端启动和 E2E 通过。 |
| Vite React 插件 | 6.0.5 | 6.1.0 | minor | Vitest 的 React 转换链通过类型与测试验证。 |
| Lucide React / shadcn / Sonner | 1.28.0 / 4.16.1 / 2.0.7 | 1.33.0 / 4.19.0 / 2.0.8 | minor/patch | UI、组件和无障碍测试通过。 |
| Day.js / Zustand | 1.11.21 / 5.0.14 | 1.11.23 / 5.0.15 | patch | 日期与状态依赖更新,无源码迁移。 |
| Vitest / coverage-v8 / UI | 4.1.10 | 4.1.11 | patch | 17 项测试和覆盖率门禁通过。 |
| jest-dom / user-event / React DOM 类型 | 7.0.0 / 14.6.3 / 19.2.4 | 7.0.1 / 14.6.6 / 19.2.5 | patch | 类型与交互测试工具同步。 |
| Tailwind ESLint 插件 | 4.2.0 | 4.4.0 | minor | 按新规则改用等价规范 class,lint 零 warning。 |
| commitlint / oxfmt / Sass | 21.2.x / 0.62.0 / 1.102.0 | 21.2.2 / 0.64.0 / 1.103.1 | minor/patch | 提交、格式和样式工具更新。 |
升级内容说明
- Next.js 16.3.2 的 Node 要求为
>=20.9.0,模板 Node 24.18.0 基线满足要求。 - ESLint 10 仍未采用:Next 插件链中的
eslint-plugin-react7.37.5 只声明支持到 ESLint 9。 - Server Component 继续作为默认边界;浏览器 API 和特权请求的服务端约束未变化。
模板影响
- Next 生产构建、首屏渲染、登录 hydration 和 404 路由均通过。
- README 已同步 Next.js 16.3.2 与 oxfmt 0.64.0。
Vue 3 SSR 模板 (vite_vue3_ssr_init)
依赖版本变更
| 依赖或工具 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| Nuxt | 4.5.1 | 4.5.2 | patch | Nitro 2.13.4、Vite 8.2.2 与 Vue 3.5.41 生产组合通过。 |
| Pinia / @pinia/nuxt | 3.0.4 / 0.11.3 | 4.0.3 / 1.0.2 | major | peer 要求完全对齐,生产 SSR、登录 hydration 和 404 E2E 通过。 |
| Vue | 3.5.40 | 3.5.41 | patch | 服务端与客户端渲染、类型检查均通过。 |
| TanStack Vue Table | 9.0.0 | 9.1.2 | minor | 表格工具类型与组件测试通过。 |
| Lucide Vue / reka-ui / shadcn-vue | 1.28.0 / 2.10.1 / 2.8.1 | 1.33.0 / 2.10.3 / 2.8.2 | minor/patch | 现有 UI 组件测试通过。 |
| ESLint / Tailwind 插件 | 10.8.0 / 4.2.0 | 10.9.0 / 4.4.0 | minor | 按新规则规范 Tailwind class 后 lint 零 warning。 |
| Oxlint / oxfmt / Sass | 1.77.0 / 0.62.0 / 1.102.0 | 1.79.0 / 0.64.0 / 1.103.1 | minor | lint、格式与 Sass 工具链更新。 |
| Vitest / coverage-v8 / UI / vue-tsc | 4.1.10 / 3.3.9 | 4.1.11 / 3.3.11 | patch | 13 项测试、覆盖率和类型检查通过。 |
| commitlint / jest-dom / user-event / TS ESLint parser | 多版本 | 最新兼容版本 | minor/patch | 提交与测试工具链通过验证。 |
升级内容说明
@pinia/nuxt1.0.2 明确要求 Pinia^4.0.3,因此两者成对升级,不使用混合 major 组合。- 上次 4.0.2/1.0.1 组合出现的生产 SSR 500 在当前 4.0.3/1.0.2 组合中未复现;本次以真实 Nuxt build、preview 和 Playwright 路径为采用依据。
- 本机升级后首次类型检查读取了旧
.nuxt缓存;运行nuxt prepare重新生成类型后通过,干净测试与构建路径也会自动生成当前类型。
模板影响
- 浏览器行为仍放在
.client插件、onMounted或import.meta.client保护中,特权代码继续留在src/server。 - README 和长期文档已同步 Nuxt、Vue 与 Pinia 当前组合。
文档与锁文件
- 四套模板的
package.json与pnpm-lock.yaml由 pnpm 增量更新,未删除或整体重建锁文件。 - 仅实际版本基线变化的 README、AGENTS 和
cwa-docs长期文档被同步。 create-wl-app发布版本升级到 1.0.9;模板地址与交互流程未修改。
验证结果
| 模板 | 单测 | 覆盖率 statements | 组件守卫 | E2E | 其他门禁 |
|---|---|---|---|---|---|
| React SPA | 15 files / 40 tests | 79.52% | 19 components | 3 passed | frozen install、peers、typecheck、lint、build 通过 |
| Vue 3 SPA | 14 files / 29 tests | 79.22% | 19 components | 3 passed | frozen install、peers、typecheck、lint、build 通过 |
| React SSR | 11 files / 17 tests | 93.97% | 13 components | 3 passed | frozen install、peers、typecheck、lint、Next build 通过 |
| Vue 3 SSR | 8 files / 13 tests | 93.33% | 27 components | 3 passed | frozen install、peers、typecheck、lint、Nuxt build 通过 |
- Playwright 最终按端口组串行验证;四套模板均连接各自生产服务并通过。
- CLI 只读验证:
--version、--help、list均以 0 退出,四个模板标识与仓库映射一致。 - 文档站
npm run build通过。
注意事项
- TypeScript 7.0.2 未采用:
typescript-eslint8.67.0 要求 TypeScript<6.1.0,四模板继续使用 6.0.3。 @types/node26 未采用:模板运行时固定 Node 24.18.0,继续使用 24.13.3。- 两套 SPA 的 Vite DevTools 0.6 未采用:Vite 8.2.2 peer 范围仍是 0.4 或 0.5。
- React SSR 继续使用 ESLint 9.39.5;pnpm 会提示该版本已结束官方支持,但升级到 ESLint 10 会违反
eslint-plugin-reactpeer 范围。 - Playwright WebServer 输出
NO_COLOR被FORCE_COLOR覆盖提示;Nuxt 构建输出插件耗时分析,均不阻塞构建或 E2E。
参考依据
- npm registry 的版本、engines 与 peerDependencies 元数据。
- Vite 文档
- Next.js 文档
- Nuxt 文档
- Pinia Nuxt SSR 文档
- 四套模板在 Node.js 24.18.0 与 pnpm 11.20.0 下的本地质量门禁与生产 E2E 结果。
