开发与发布
August 28, 2026 · View on GitHub
目录结构
dsh-decision-split/
package.json # dsh.bundle.patch + dsh.client 清单(web 客户端插件)
cordis.patch.yml # bundle patch:insert 自身
lib/index.js # host 半(空壳)
lib/client.js # client 半(window.__ModuleLoader__ bundle)
docs/ # 效果图、开发文档等资源(README 用 GitHub raw 绝对地址引用,npm 页也能渲染)
开发
修改客户端半(lib/client.js)后:服务端按请求直接读磁盘文件,刷新浏览器页面(建议硬刷新)即生效,无需重启(dsh web 的 HMR 处于禁用状态)。修改 host 半(lib/index.js)则需重启 dsh web(服务启动时加载)。
本地开发常用对称:可直接把仓库
lib/覆盖到$DSH_HOME/profiles/web/node_modules/dsh-decision-split/后刷新验证(本仓库即用此方式迭代)。
发布新版本
- bump
package.json的version(语义化版本,如0.1.5→0.1.6); - 提交并推送;
- 只需创建 GitHub release,其余全部自动:
gh release create v<version>
.github/workflows/npm-publish.yml 会在 release published 时自动执行:
npm publish(使用仓库 secret NPM_TOKEN)并把 tgz 附件上传到该 release。
NPM_TOKEN在 GitHub 仓库 Settings → Secrets and variables → Actions 中配置, 值为 npm 发布 token(granular access token,勾选该包 publish 权限 + bypass 2FA, 或 classic automation token)。- 若只改了 README/docs(无代码变更),发布后无需升级本地已安装的插件版本。