2026-09-03
更新概览
- React SPA 模板:升级 React Router、Axios、Vite DevTools、ESLint 及 UI、测试和提交工具。
- Vue 3 SPA 模板:升级 Vue、Vue Router、Axios、Vite DevTools、Oxc 工具链及 UI、测试和提交工具。
- React SSR 模板:升级 Next.js 与
eslint-config-next16.3.4,以及 Axios、UI、测试和提交工具。 - Vue 3 SSR 模板:升级 Vue、TanStack Vue Table、Nuxt 测试工具、Oxc 工具链及 UI、测试和提交工具。
- 本次验证:四套模板均通过冻结锁文件安装、peer 检查、类型检查、lint、单测、覆盖率、组件守卫、生产构建和 Playwright E2E。
React SPA 模板 (vite_react_init)
依赖版本变更
| 依赖或工具 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| React Router DOM | 7.18.2 | 7.18.3 | patch | 路由守卫、登录回跳和 404 E2E 均通过。 |
| Axios / web-vitals | 1.19.0 / 6.1.1 | 1.20.0 / 6.2.1 | minor | API wrapper 与性能监控单测通过,无调用方式迁移。 |
| Lucide React / shadcn | 1.33.0 / 4.19.0 | 1.39.0 / 4.19.1 | minor/patch | 现有组件、无障碍测试和生产构建通过。 |
| Vite DevTools / kit | 0.4.12 | 0.5.2 | minor | 采用 Vite 8.2.2 peer 范围内的最新 0.5 组合。 |
| Antfu ESLint / eslint-react / ESLint | 9.3.0 / 5.18.6 / 10.9.0 | 9.5.0 / 5.18.7 / 10.9.1 | minor/patch | 新规则要求补充 pnpm 排除项清理策略;调整后 lint 通过。 |
| Testing Library React / user-event | 16.3.2 / 14.6.6 | 16.3.3 / 14.6.7 | patch | 15 个测试文件、40 项测试通过。 |
| Vite React / React Refresh / code-inspector | 6.1.0 / 0.5.4 / 2.0.7 | 6.1.1 / 0.5.5 / 2.0.8 | patch | 开发插件链、生产构建和 E2E 通过。 |
| lint-staged / simple-git-hooks | 17.3.0 / 2.13.1 | 17.4.1 / 2.14.0 | minor | Node 24.18.0 满足工具的 engine 要求。 |
升级内容说明
- Vite DevTools 先评估 0.6.3,但 Vite 8.2.2 只接受
^0.4.0 || ^0.5.0,最终采用 0.5.2 并通过 peer 检查。 - Antfu ESLint 9.5 的 pnpm 规则要求
minimumReleaseAgeExcludePrune: true,同时规范 workspace 顶层键顺序;只调整了pnpm-workspace.yaml。
模板影响
- 认证、路由、性能监控、组件行为和环境变量开关保持不变。
- README 与 AGENTS 已同步 React Router、ESLint 和 Axios 基线。
Vue 3 SPA 模板 (vite_vue3_init)
依赖版本变更
| 依赖或工具 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| Vue / Vue Router | 3.5.41 / 5.2.0 | 3.5.42 / 5.3.0 | patch/minor | Composition API、路由、登录和 404 流程通过。 |
| Axios / web-vitals | 1.19.0 / 6.1.1 | 1.20.0 / 6.2.1 | minor | API wrapper 与性能监控单测通过。 |
| Lucide Vue / reka-ui | 1.33.0 / 2.10.3 | 1.39.0 / 2.10.4 | minor/patch | 现有组件与无障碍测试通过。 |
| Vite DevTools / kit | 0.4.12 | 0.5.2 | minor | 与 Vite 8.2.2 peer 范围对齐。 |
| Vue Test Utils | 2.4.11 | 2.5.0 | minor | 14 个测试文件、29 项测试通过。 |
| Oxlint / oxfmt | 1.79.0 / 0.64.0 | 1.81.0 / 0.66.0 | minor | lint 与格式检查通过。 |
| code-inspector / lint-staged / simple-git-hooks | 2.0.7 / 17.3.0 / 2.13.1 | 2.0.8 / 17.4.1 / 2.14.0 | patch/minor | 开发与提交工具链通过安装、lint 和构建验证。 |
升级内容说明
- Vue Router 5.3.0 的 peer 范围接受 Vue 3.5.42、Vite 8.2.2 与 Pinia 4.0.3,当前组合无 peer 问题。
- Vite DevTools 0.6.3 因 Vite peer 不兼容未采用,最终使用 0.5.2。
模板影响
- 路由、Pinia 持久化、客户端渲染和 shadcn-vue 组件边界保持不变。
- README 与 AGENTS 已同步 Vue、Vue Router 和 Axios 基线。
React SSR 模板 (vite_react_ssr_init)
依赖版本变更
| 依赖或工具 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| Next.js / eslint-config-next | 16.3.2 | 16.3.4 | patch | App Router 生产构建、服务端启动和 E2E 通过。 |
| Axios | 1.19.0 | 1.20.0 | minor | 统一 API wrapper 测试通过,无服务端边界变化。 |
| Lucide React / shadcn | 1.33.0 / 4.19.0 | 1.39.0 / 4.19.1 | minor/patch | UI、组件与无障碍测试通过。 |
| Testing Library React / user-event | 16.3.2 / 14.6.6 | 16.3.3 / 14.6.7 | patch | 11 个测试文件、17 项测试通过。 |
| Vite React / code-inspector | 6.1.0 / 2.0.7 | 6.1.1 / 2.0.8 | patch | Vitest 转换链和开发插件配置通过验证。 |
| oxfmt / lint-staged / simple-git-hooks | 0.64.0 / 17.3.0 / 2.13.1 | 0.66.0 / 17.4.1 / 2.14.0 | minor | 格式、lint 与构建检查通过。 |
升级内容说明
- Next.js 16.3.4 要求 Node.js
>=20.9.0,模板的 Node 24.18.0 基线满足要求。 - ESLint 10 未采用:模板继续遵守 Next.js 插件链的 ESLint 9 兼容基线。
- Server Component 仍是默认边界,浏览器 API 不进入服务端渲染路径,特权请求继续留在
src/server。
模板影响
- 生产首屏、登录 hydration 和 404 路由均通过 Playwright。
- README 已同步 Next.js、Lucide、Axios 与 oxfmt 版本。
Vue 3 SSR 模板 (vite_vue3_ssr_init)
依赖版本变更
| 依赖或工具 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| Vue | 3.5.41 | 3.5.42 | patch | Nuxt SSR、客户端 hydration、类型和测试均通过。 |
| TanStack Vue Table | 9.1.2 | 9.2.4 | minor | 表格工具类型与组件测试通过。 |
| Axios | 1.19.0 | 1.20.0 | minor | 客户端与服务端 API 边界保持不变。 |
| Lucide Vue / reka-ui | 1.33.0 / 2.10.3 | 1.39.0 / 2.10.4 | minor/patch | 现有 UI 组件与无障碍测试通过。 |
| Nuxt Test Utils / Vue Test Utils | 4.1.0 / 2.4.11 | 4.2.0 / 2.5.0 | minor | 8 个测试文件、13 项测试通过。 |
| TypeScript ESLint parser / ESLint | 8.67.0 / 10.9.0 | 8.69.0 / 10.9.1 | minor/patch | parser 继续要求 TypeScript <6.1.0,lint 通过。 |
| Oxlint / oxfmt | 1.79.0 / 0.64.0 | 1.81.0 / 0.66.0 | minor | Oxlint、ESLint 与格式检查通过。 |
| user-event / code-inspector | 14.6.6 / 2.0.7 | 14.6.7 / 2.0.8 | patch | 交互测试和 Nuxt 生产构建通过。 |
| lint-staged / simple-git-hooks | 17.3.0 / 2.13.1 | 17.4.1 / 2.14.0 | minor | Node 24.18.0 满足 engine 要求。 |
升级内容说明
- 首次类型检查读取了旧
.nuxt生成类型;运行nuxt prepare后重新生成当前依赖组合的类型并通过,模板测试脚本也会自动执行 prepare。 - 浏览器行为仍放在
.client插件、onMounted或import.meta.client保护中,特权代码继续留在src/server。
模板影响
- Nuxt 4.5.2、Nitro 2.13.4、Vite 8.2.2 与 Vue 3.5.42 的生产 SSR 组合通过。
- README 和长期文档已同步 Vue、Lucide、Axios 与 Oxc 工具版本。
文档与锁文件
- 四套模板的
package.json与pnpm-lock.yaml由 pnpm 增量更新,未删除或整体重建锁文件。 - 仅版本事实发生变化的 README、AGENTS 和
cwa-docs长期文档被同步。 - React SPA 的
pnpm-workspace.yaml按新版 lint 规则增加排除项清理策略并整理键顺序。 create-wl-app的模板地址、交互流程和 CLI 版本均未修改。
验证结果
| 模板 | 单测 | 覆盖率 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、format、build 通过 |
| React SSR | 11 files / 17 tests | 93.97% | 13 components | 3 passed | frozen install、peers、typecheck、lint、format、Next build 通过 |
| Vue 3 SSR | 8 files / 13 tests | 93.33% | 27 components | 3 passed | frozen install、peers、typecheck、lint、format、Nuxt build 通过 |
- CLI 只读验证:
--version、--help、list均以 0 退出,四个模板标识与仓库映射一致。 - Playwright 按模板串行连接生产服务;四套模板均通过。
注意事项
- TypeScript 7.0.2 未采用:Nuxt 模板的
@typescript-eslint/parser8.69.0 要求 TypeScript<6.1.0,四模板继续使用 6.0.3。 @types/node26 未采用:模板运行时固定 Node 24.18.0,继续使用 24.13.3。- 两套 SPA 的 Vite DevTools 0.6.3 未采用:Vite 8.2.2 peer 范围只接受 0.4 或 0.5,最终升级到 0.5.2。
- React SSR 继续使用 ESLint 9.39.5;pnpm 提示该版本已结束官方支持,但升级到 ESLint 10 会违反模板当前插件链约束。
- pnpm 在 SPA 依赖树中报告
intersection-observer、deep-diff、glob、inflight和source-map-resolve等已弃用传递依赖;它们不是模板直接依赖,冻结安装与全部门禁均通过,当前不阻塞模板使用。 - Playwright 输出
NO_COLOR被FORCE_COLOR覆盖提示;Nuxt 构建输出插件耗时分析,均不阻塞构建或 E2E。
参考依据
- npm registry 的版本、engines 与 peerDependencies 元数据。
- 四套模板在 Node.js 24.18.0 与 pnpm 11.20.0 下的冻结安装、peer 检查、质量门禁、生产构建与 E2E 结果。
