关于 vite-plus
这是一项介绍 Vite+ 迁移、检查、工作区任务行为以及运行时和 CI 限制的技能,补充上游文档容易遗漏的注意事项,面向维护 Vite+ 项目的团队。
主要功能
- 01迁移步骤与审查事项
- 02Vite+ 检查和任务指南
- 03工作区命令行为说明
- 04Node 与 Git 版本限制
- 05CI 缓存和发布注意事项
适用场景
- 01规划 Vite+ 版本迁移
- 02配置类型检查与 lint 命令
- 03在工作区多个包中运行任务
- 04核对运行时和 CI 要求
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ uinaf/ agent-skills --skill vite-plus安装后在 Claude Code 中输入/vite-plus确认已加载。
附带文件agents/openai.yaml
详细介绍
Vite+
上游文档未明说的规则。
迁移
- 在任何
pnpm update或pnpm add之前运行目标迁移器,并安装原始锁文件:它会从中检测源 Vitest 版本。低于 Vitest 4 的项目应先迁移到 0.x 版本。 - 使用
pnpm --package=vite-plus@<exact> dlx vp migrate --full转换 tsup;普通的vp migrate会跳过。1.0.0-rc.0 会留下一个中间配置tsdown.config.ts、直接依赖tsdown,以及一个tsdown脚本。将设置移入vite.config.ts的pack块,将脚本改为vp pack,移除tsdown,删除中间配置,并验证 ESM、CJS、.d.ts和.d.cts的输出一致。 - 1.0 迁移器即使仍有
REVIEW项待处理也会以状态码 0 退出;提交前请解决所有待处理项。BLOCK会阻止依赖更新:修复后重新运行。重新安装之前,请保存审查报告。 - 恢复
vite: catalog:(该问题已在 0.3.0 修复),它用于修正vp up写入的字面别名,并将 catalog 条目指向npm:@voidzero-dev/vite-plus-core@<target>。 - 在 pnpm 12 下,
pnpm-workspace.yaml中的未知键会导致安装失败。请将其移至其他工具管理的位置,不要放宽校验或降级 pnpm。
检查与任务
- 设置
lint.options.typeCheck: true,让vp check报告类型错误。只有在运行一次并确认诊断结果完全相同后,才移除单独的tsc --noEmit。像vue-tsc这样的框架检查器仍应作为唯一的独立类型检查工具,并继续使用 TypeScript 6,直到 TypeScript 7.1 API 发布。 - 1.0 不再附带
oxlint和oxfmt二进制文件。将编辑器和脚本改为使用vp lint --lsp、vp fmt --lsp和vp fmt --stdin-filepath。 - 从 Vitest 5 开始,
vp test不再搜索父目录中的配置;在包级别运行时需要使用--config <root>/vite.config.ts --dir .。 - 从 0.3.0 开始,工作区根目录下不带参数的应用命令会优先使用
defaultPackage或根配置,因此根目录运行成功并不能证明工作区覆盖完整。请使用vp run -r <task>。 - 内置命令不会分派到同名的包脚本;请使用
vp run <script>或vpr <script>。
运行时与 CI
- 1.0.0-rc.0 要求 Node
^22.18.0 || ^24.11.0 || >=26.0.0。迁移器会更新版本文件,但不会更新 CI 镜像、容器或已发布的engines.node。如果要在公开约定中保留 Node 20,请通过devEngines.runtime限制贡献者使用的版本。 - 在运行钩子的所有环境中,1.0 的
vp staged需要 Node^22.22.1 || ^24.11.0 || >=26.0.0和 Git 2.32+;迁移器写入的.nvmrc版本 22.18.0 过低。 - 使用
@cloudflare/vitest-pool-workers0.22.0 测试的项目应继续使用 0.x 版 Vite+,直到 workers-sdk#15618 发布:在 1.0.0-rc.0 上,所有 Worker 测试文件都会启动失败。 - 在包含机密信息的发布、推送或部署任务中,请关闭依赖缓存(
setup-vp的cache默认值为false;不要沿用cache: pnpm),全新安装,并在使用凭据前验证准确的载荷。 vp implode会删除受管理的运行时和全局状态,因此请通过其他方式协调 CI 路径。工具链容器用于构建工具,而非生产运行时。- 除非所有脚本都是纯函数,否则请在 Vite+ 任务图中关闭包脚本缓存;全局设置
run.cache: true也会缓存部署、推送和迁移脚本。请将运行时和工具链版本固定信息放入每个缓存任务的输入中,而不只是 CI 缓存键中。
评论
支持 Markdown