voidzero-dev/vite-plus

开发工具

把 Vite、Vitest、Oxlint、Oxfmt、Rolldown 和任务缓存收进一个 CLI,让 Web 项目只用一套工具链和一份配置。

6,500
296
Rust
MIT
创建于 1 年前

如果你维护 Vite 项目,并且厌倦为开发、测试、检查和构建分别维护配置、版本和命令,Vite+ 值得花时间评估。项目还年轻,适合先当作试验,不宜直接作为关键仓库的默认工具链。

解决什么问题

一个普通 Web 项目通常同时有开发服务器、测试运行器、linter、formatter、库打包器和包管理器,每样都要自己的配置文件与版本,CI 也得逐个调用。Vite+ 把这些命令收进一个 vp 可执行文件,并用根目录的 vite.config.ts 统一配置,于是开发者用 vp dev、vp check、vp test、vp build 就能覆盖完整生命周期。改动后的结果是配置文件变少,检查失败时只需看一处配置。

有什么不同

Vite+ 本身不是新打包器或新 linter,而是对既有 VoidZero 工具的一层封装,包括 Vite、Vitest、Oxlint、Oxfmt、Rolldown、tsdown 和 Vite Task。真正有意思的是它们之间的衔接:vp check 一条命令跑格式化、lint 和类型检查;vp run 为 monorepo 任务提供缓存和依赖感知调度;vp env 管理 Node.js 与包管理器版本;vp install 根据 packageManager 和锁文件自动代理 pnpm、npm、Yarn 或 Bun。

代价是耦合。测试、lint、格式化、任务和 staged 文件的配置都通过 vite-plus 的 defineConfig 集中到 vite.config.ts,vp migrate 会把 .oxlintrc*、.oxfmtrc* 和 lint-staged 配置合并进去。留在生态内会很方便,但也意味着项目工具链版本跟着 Vite+ 的发布节奏走。README 对此说得很直接:手动迁移需要包管理器 override,把 vite 别名到 @voidzero-dev/vite-plus-core,并把 vitest 固定到打包版本,否则可能出现两份 Vitest,各自持有 mock 和 runner 状态。若项目所用的框架或工具不在支持范围内,这就是不建议采用的主要原因。

谁值得试

适合:已有 Vite 项目或 monorepo、脚本由一堆独立工具拼成、希望统一 CLI 和配置的团队。vp create 和 vp migrate 让试用成本较低,官方 GitHub Actions 和版本更新建议也能支持 CI 场景。不适合:构建系统不是 Vite 的项目,或深度依赖自定义 ESLint/Prettier 配置、习惯按工具单独锁版本的项目,合并配置带来的迁移工作可能超过收益。README 也给出了手动迁移路径,因此并非必须全局安装 vp。

使用条件与边界

最重要的限制是版本对齐。Vite+ 自带 Vite 核心和 Vitest,手动安装时必须在 overrides 或 workspace 设置里给 vite 做别名并固定 vitest,否则某个依赖可能拉入第二份 Vitest。日常维护需要在升级 vp 后用 vp toolchain 核对打包版本是否仍与 override 一致。

第二个限制是配置集中:把测试、lint、格式化和任务设置搬进 vite.config.ts 正是单命令工作流的前提,但设置存放的位置也随之改变。CI 要使用官方 action,而不是已不再更新的 v1 标签。组织若要维护自定义模板目录,还需额外发布带 manifest 的 @org/create 包。

HotRepo 点评

HotRepo 没有该项目的日榜记录;唯一可用的信号是 2026-10-27 的 Rust 月榜第 16 名,当月 +675 星。单日观测不足以判断热度能否持续,仓库 599 天的历史也不能说明长期维护质量。采用前建议先看迁移指南,确认你的框架和包管理器被别名与 override 路径覆盖,集成摩擦最可能出现在这里。

项目源码与说明

本文由 AI 根据项目 README 生成,更新于 2026年10月27日,以项目官方文档为准。