Skip to content

create-plugin 生成产物的 build 侧 devDependencies 内部不一致且落后仓库工具链 1–2 个 major:@vitejs/plugin-react ^4.2.1 的 peer 结构性无法被 vite ^7.3.1 满足 #3742

Description

@yinlianghui

记录于 #3716(PR #3733)实施期间,dev 因当时搜索配额限流按纪律移交 PM 代立;已搜重(create-plugin vite devDependencies),除 #3715/#3716 本族外无命中。#3716 修的是测试侧三依赖;本单是 build 侧五依赖的同型问题,且更硬:不是"落后",是结构性装不上

事实(dev 实测)

模板(现位于 packages/create-plugin/src/templates.tsDEV_DEPENDENCIES,PR #3733 迁入)同时声明:

  • '@vitejs/plugin-react': '^4.2.1' + 'vite': '^7.3.1'
  • npm view @vitejs/plugin-react@4.2.1 peerDependencies{"vite": "^4.2.0 || ^5.0.0"}

即声明的组合永远无法满足该 peer——新脚手架插件 pnpm install 必报 peer 冲突,pnpm build 有风险。

完整漂移表(模板声明 vs 本仓实际):

依赖 模板 仓库实际
vite ^7.3.1 ^8.2.0(仓根)
@vitejs/plugin-react ^4.2.1 ^6.0.5(所有仓内 plugin)
vite-plugin-dts ^4.5.4 ^5.0.3
typescript ^5.9.3 ^6.0.3
vitest ^4.0.18 ^4.1.10

dev 的 artifact E2E 只在仓内实际版本(vite 8.2.0 等)下验证过、声明区间对(vite 7 + plugin-react 4)从未被验证——且如上所示已可证明坏。

修法方向

把 PR #3733 加入的 parity 测试(templates.test.ts,现只断言三条测试区间与仓根清单逐字一致)扩展到这五条 build 区间——一次性封死 #3711 门禁对 .ts 源码字面量盲区在整个模板清单上的残余。

附带观察(同文件,作本单一节不另立)

生成的 vite.config.ts__dirname,vite 的 configLoader: 'native'(计划中的未来默认)不支持;vite 8 下实测已出警告并指路 import.meta.dirname。休眠问题,顺手修即可。

关联

#3716 / PR #3733(测试侧三依赖 + parity 测试)、#3711(版本宣称门禁的扫描面边界)、#3715(文档页重写,勿在文档转抄任何版本号)。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions