Repository navigation
仓库正规化:许可证、元数据、截图,以及一条会静默漏掉 harness 下一个预发布版的 peer 范围。
插件行为没有任何变化。 这一版改的全是「装之前能读到什么」和「装的时候能不能解析对」。
本次改动
- 新增
LICENSE——package.json从第一次提交起就写着license: MIT,但仓库里一直没有许可证正文,GitHub 因此报licenseInfo: null。现在 MIT 正文在仓库根,npm 打包会自动带上(附件因此从 5 个文件变成 6 个)。 package.json补上repository/homepage/bugs/author—— 这四个此前一个都没有。其中repository最要紧:它让这个包认领这个仓库,而不只是恰好住在里面。- peer 范围补上显式
||分支 ——^0.2.0-rc.2→^0.2.0-rc.2 || >=0.2.1-0 <0.3.0(dsh-llm与dsh-credentials)。node-semver 只允许预发布版满足「有比较符落在同一个major.minor.patch元组上、且那个比较符自己带预发布标签」的范围,所以^0.2.0-rc.2收得下0.2.0-rc.3,却会静默排除0.2.1-alpha.1。理由写在 README 里那两个范围的旁边——没有理由的范围,正是那种会被后人「顺手简化」回去的东西。 - 新增
screenshots.json+ 截图 —— 面板在真实dsh web里的样子:Git 标签页、分支栏、暂存 / 更改 / 未跟踪三区叠着提交框,下面是带泳道的最近提交。这也是它第一次在 jsdom 之外被看到。 - README —— 截图放在开头;
Install改成以预构建的 release 附件为主,link:那条退为「改插件时用」。
安装
dsh plugin --profile web add https://github.com/tu1918/dsh-git-plugin/releases/latest/download/dsh-git-panel.tgz
# 然后重启 `dsh web` —— bundle 只在启动时组合附件名刻意不带版本号,所以上面这条链接跨版本一直有效:latest/download/ 只在请求时解析 tag,文件名是照字面取的,带版本的资产名会在发版次日 404。
为什么是 1.0.1 而不是把 v1.0.0 的标签挪过来
被打包进附件的 package.json 变了(peer 范围 + 元数据),所以挂在 v1.0.0 上的那个附件已经不再描述这个提交构建出来的东西。标签一旦公开就不该再移动,所以往上加了一版,v1.0.0 原样保留。
校验
npm run check 全绿:tsc --noEmit + 630 项测试 + build。附件本身也从一个隔离的 $DSH_HOME 用上面那条 latest/download 链接真装了一遍(装得上、config 树里出现 - id: ui-git-panel、dsh web 起来后插件自己的路由回自己的信封)。