HZWX 发布工具(VSCode 插件)
把组件库的发包流程搬进 VSCode 侧边栏:基于 changeset v3 的 CLI,完成
changeset add → changeset version → 构建 → changeset publish 的可视化操作,
并在面板里实时展示进度、日志和发布结果。
功能
- 环境检测:项目是否集成 changeset、版本是否 ≥ v3,不达标时在面板顶部给出明确提示(并列出每一项检查结果)。
- 发布表单
- 发布类型:测试包(snapshot)/ 正式包
- 待发布的包:扫描出工作区内所有非私有包,每个包一张可勾选卡片,卡片内单独选择
major / minor / patch(默认 patch)
- 改动点:
feat / fix / docs / style / refactor / perf / test / build / ci / chore / revert 下拉 + 文本输入,以 冒号+空格 拼成完整 message,如 feat: new feature
- 开始发布:执行与
hzwx-cli 一致的检查与流程,实时流式输出日志与步骤进度。
- 结果展示:成功列出
包名@版本(含原版本);失败展示具体失败原因。
安装与调试
npm install
npm run compile # 或 npm run watch
在本仓库按 F5(Run Extension)启动扩展开发宿主,启动参数已指向组件库目录
/Users/shawei/_work/_hzwx/hzwx-design;如需改目标,编辑 .vscode/launch.json。
也可以直接把整个目录软链到 VSCode 扩展目录后重启 VSCode:
ln -s "$(pwd)" ~/.vscode/extensions/hzwx-publish-tool
使用
- 侧边栏活动栏点击 HZWX 发布 图标打开面板(或命令面板执行
打开发布面板)。
- 面板打开后自动检测;点击标题栏的刷新图标可重新检测。
- 项目定位:默认取当前工作区根目录;若组件库不在当前工作区,在设置里配置
hzwxPublish.projectPath(支持 ~ 与相对路径),修改后自动刷新。
测试包(snapshot)
- 退出 pre 模式(若处于 pre 模式,并自动提交+推送)
changeset add --<bump> <pkg> ... -m "<message>"
changeset version --snapshot <branch-slug>-<时间戳>
- 执行构建脚本
changeset publish --tag snapshot --no-git-tag
- 无论成功与否都还原本地改动,避免仓库残留 snapshot 版本号
正式包
- 退出 pre 模式(若处于)
changeset add ...
changeset version
- 执行构建脚本
changeset publish
- commit + push(默认带
-o review=no --follow-tags)
- 合并到主干分支(
--no-ff)并推送,最后切回原分支
发布前的检查(与 hzwx-cli 一致)
- 当前分支不能是主干分支(
master,取自 .changeset/config.json 或 hzwx.config.json)
- 工作区必须是干净的
- 当前分支不能落后于主干分支
- 当前分支与远程同名分支必须同步(不能 ahead / behind)
- 正式包仅限
release / hotfix 开头的分支,不满足时面板会禁用「正式包」选项
配置项
| 配置 |
默认值 |
说明 |
hzwxPublish.projectPath |
空 |
组件库根目录,留空用当前工作区 |
hzwxPublish.packageManager |
auto |
按 lockfile 自动识别,可强制 pnpm/npm/yarn |
hzwxPublish.buildScript |
build |
发布前执行的构建脚本名 |
hzwxPublish.pushArgs |
["-o","review=no","--follow-tags"] |
git push 附加参数 |
hzwxPublish.releaseCommitMessage |
chore(release): change version & publish |
正式包版本提交信息 |
| |