2026-06-23
更新概览
- React 模板:追平 React Router、Radix UI、Lucide React、ESLint、Vite React 插件、code-inspector、Less、lint-staged、react-grab 和 pnpm;Axios 与 @eslint-react 按供应链策略 pin 在已验证版本,同时清理构建与 lint 提示。
- Vue3 模板:追平 Axios、reka-ui、Lucide Vue、Node 类型、Oxc 工具链、Vue DevTools、vue-tsc、code-inspector 和 pnpm;同步修复 Vite 8 下的 peer dependency 与 Rolldown annotation 提示。
- 本次验证:两个模板均重新生成
pnpm-lock.yaml,并完成pnpm install、pnpm peers check、pnpm run build和对应 lint/typecheck 验证。
React 模板 (vite_react_init)
依赖版本变更
| 依赖 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| pnpm | 11.6.0 | 11.8.0 | toolchain | 包管理器基线追平,锁文件按 pnpm 11.8.0 重新生成。 |
| lucide-react | 1.18.0 | 1.21.0 | minor | 图标库追平,模板现有图标导入和样式写法保持兼容。 |
| radix-ui | 1.5.0 | 1.6.0 | minor | Radix primitives 聚合包追平,shadcn/ui 基础组件运行基线更新。 |
| react-router-dom | 7.17.0 | 7.18.0 | minor | 路由库维护版本追平,当前路由守卫和页面跳转写法无需迁移。 |
| @plugin-web-update-notification/vite | 2.1.0 | 2.1.2 | patch | Web 更新提示插件补丁追平,按 .env 开关继续按需启用。 |
| @vitejs/devtools | 0.3.3 | 0.1.24 | compat | 对齐 vite@8.0.16 当前声明的 optional peer 范围,消除 pnpm peers check 提示。 |
| @vitejs/devtools-kit | 0.3.3 | 0.1.24 | compat | 随 DevTools 主包对齐 Vite 8 peer 范围。 |
| @vitejs/devtools-self-inspect | 0.3.3 | 0.1.24 | compat | 随 DevTools 主包对齐 Vite 8 peer 范围。 |
| @vitejs/plugin-react | 6.0.2 | 6.0.3 | patch | React 插件补丁追平,构建配置无需调整。 |
| code-inspector-plugin | 1.5.4 | 1.6.2 | minor | 页面元素定位源码插件追平,开发定位能力保持维护版本。 |
| eslint | 10.4.1 | 10.5.0 | minor | 代码规范工具链追平;本次同步修复一个 IntersectionObserver 清理 warning。 |
| eslint-plugin-react-refresh | 0.5.2 | 0.5.3 | patch | React Refresh lint 插件补丁追平。 |
| less | 4.6.4 | 4.6.7 | patch | Less 编译器补丁追平,样式构建验证通过。 |
| lint-staged | 17.0.7 | 17.0.8 | patch | 提交前检查工具补丁追平。 |
| react-grab | 0.1.44 | 0.1.47 | patch | React Grab 工具补丁追平,模板文档与工具链保持维护版本。 |
升级内容说明
- 框架与路由:React / React DOM 保持 19.2.7,React Router DOM 追平到 7.18.0;模板现有
BrowserRouter、路由守卫、404 处理和登录跳转无需改造。 - UI 与样式:Radix UI、Lucide React、Less 均为维护版本追平,shadcn/ui 源码组件和 Tailwind CSS v4 样式组织无需迁移。
- 构建与工程化:pnpm 升级到 11.8.0,Vite React 插件、ESLint、lint-staged、code-inspector、react-grab 完成追平;
pnpm-lock.yaml删除旧文件后重新解析,保证新模板安装结果可复现。 - 兼容性处理:
@vitejs/devtools体系从 0.3.3 对齐到 0.1.24,是为了匹配vite@8.0.16当前声明的 optional peer 范围;DevTools 仍通过VITE_ENABLE_DEVTOOLS按需启用。 - 构建提示清理:
vite.config.js增加build.rolldownOptions.checks.pluginTimings = false,避免 Vite 8/Rolldown 在模板构建时输出插件耗时提示;LoginPrism.tsx的 IntersectionObserver 清理改为 effect 局部变量直接disconnect(),消除 ESLint warning。
模板影响
- README.md 同步 React Router DOM、ESLint、pnpm 版本基线;AGENTS.md 补充
pnpm run build和pnpm peers check作为升级后的验证命令。 - React 模板没有引入业务源码迁移;仅修正
LoginPrism.tsx的 observer 清理方式,行为保持不变。 axios@1.18.1和@eslint-react/eslint-plugin@5.9.2在 2026-06-23 查询时已发布,但发布时间仍落在当前 pnpm minimum release age 策略窗口内;本次 React 模板将axiospin 到1.17.0、@eslint-react/*体系通过 workspace overrides 固定到5.8.19,避免 peer 自动安装把锁文件解析到策略窗口内的新包。
Vue3 模板 (vite_vue3_init)
依赖版本变更
| 依赖 | 旧版本 | 新版本 | 类型 | 影响说明 |
|---|---|---|---|---|
| pnpm | 11.6.0 | 11.8.0 | toolchain | 包管理器基线追平,锁文件按 pnpm 11.8.0 重新生成。 |
| @lucide/vue | 1.18.0 | 1.21.0 | minor | Vue 图标库追平,现有图标导入方式保持兼容。 |
| axios | 1.17.0 | 1.18.1 | minor | HTTP 客户端追平,模板 src/shared/api/http.ts 封装无需调整。 |
| reka-ui | 2.9.10 | 2.10.0 | minor | shadcn-vue 底层 primitives 追平,现有 src/shared/ui 组件构建通过。 |
| @plugin-web-update-notification/vite | 2.1.0 | 2.1.2 | patch | Web 更新提示插件补丁追平。 |
| @types/node | 25.9.3 | 26.0.0 | major | Node 类型定义切到 26.x,工具脚本和 Vite 配置类型检查通过。 |
| @vitejs/devtools | 0.3.3 | 0.1.24 | compat | 对齐 vite@8.0.16 当前声明的 optional peer 范围,消除 pnpm peers check 提示。 |
| @vitejs/devtools-kit | 0.3.3 | 0.1.24 | compat | 随 DevTools 主包对齐 Vite 8 peer 范围。 |
| @vitejs/devtools-self-inspect | 0.3.3 | 0.1.24 | compat | 随 DevTools 主包对齐 Vite 8 peer 范围。 |
| @vitejs/plugin-vue-jsx | 5.1.5 | 5.1.6 | patch | Vue JSX 插件补丁追平。 |
| code-inspector-plugin | 1.5.4 | 1.6.2 | minor | 页面元素定位源码插件追平。 |
| lint-staged | 17.0.7 | 17.0.8 | patch | 提交前检查工具补丁追平。 |
| oxfmt | 0.55.0 | 0.56.0 | minor | Oxc 格式化工具追平,格式化命令保持不变。 |
| oxlint | 1.70.0 | 1.71.0 | minor | Oxc lint 工具追平,--deny-warnings 验证通过。 |
| vite-plugin-vue-devtools | 8.1.2 | 8.1.3 | patch | Vue DevTools 插件补丁追平。 |
| vue-tsc | 3.3.4 | 3.3.5 | patch | Vue 类型检查工具补丁追平。 |
升级内容说明
- 框架与类型:Vue 保持 3.5.38,vue-tsc 追平到 3.3.5,
@types/node升级到 26.0.0;pnpm run typecheck验证通过。 - UI 与样式:reka-ui 2.10.0 与 @lucide/vue 1.21.0 继续支撑 shadcn-vue 和业务图标,模板组件源码无需迁移。
- 请求与工具库:Axios 1.18.1、code-inspector-plugin 1.6.2、Web 更新提示插件均完成追平,模板请求封装和插件开关无需改动。
- 构建与工程化:Oxfmt/Oxlint、lint-staged、Vue JSX 插件、Vue DevTools 插件和 pnpm 完成追平;
pnpm-lock.yaml重新生成。 - 兼容性处理:
@vitejs/devtools体系对齐到 0.1.24;pnpm-workspace.yaml增加overrides,将vite-plugin-vue-devtools间接依赖的vite-plugin-inspect、vite-dev-rpc解析到已声明 Vite 8 peer 范围的版本。 - 构建提示清理:
vite.config.ts增加build.rolldownOptions.checks.invalidAnnotation = false和pluginTimings = false,消除 VueUse 发布产物#__PURE__注释位置提示和插件耗时提示。
模板影响
- AGENTS.md 补充依赖升级后需要执行
pnpm peers check;README.md 当前仅记录技术栈大类,无需同步补丁版本。 - Vue 模板没有修改业务源码、路由配置、Pinia 注册或 HTTP 封装。
pnpm-workspace.yaml是本次兼容性配置的主要承载文件:继续记录 minimum release age 白名单,同时把 pnpm 11 的 overrides 放在新配置位置,避免 package.jsonpnpm.overrides被忽略。
验证结果
- React 模板:
pnpm install:通过,仅有历史子依赖 deprecated 提示。pnpm peers check --json:通过,无 bad/missing/conflicts。pnpm run lint:通过,无 warning。pnpm run build:通过,构建输出不再出现PLUGIN_TIMINGS提示。
- Vue3 模板:
pnpm install:通过,仅有历史子依赖 deprecated 提示。pnpm peers check --json:通过,无 bad/missing/conflicts。pnpm run lint:通过,oxlint --deny-warnings无提示。pnpm run typecheck:通过。pnpm run build:通过,构建输出不再出现INVALID_ANNOTATION、PLUGIN_TIMINGS或 pnpm overrides 位置提示。
注意事项
- 本次升级以 2026-06-23 查询 npm registry 的结果为准;React 模板对发布时间过近且会触发 minimum release age 策略的包采取保守保留策略。
- 两个模板的 Vite DevTools 版本选择以“当前 Vite 8 peer 检查干净”为优先目标,因此使用 0.1.24 而不是 0.3.3。
- 安装阶段仍可能看到若干第三方 deprecated subdependencies 提示,来源于上游间接依赖,当前不影响安装、lint、typecheck 或生产构建。
