DSH Plugins Marketplace

DSH Plugins

Plugins

/

dshmarket-update-helper

d

dshmarket-update-helper

Manifest valid
UI (client)hasBundlePatch

市场更新助手图标

DSH 插件市场更新助手

为了解决插件市场不能更新自己的问题,我们决定再安装一个插件。


这是什么东西

事情是这样的。

有一天我打开 DSH 插件市场,看见「更新插件市场」

然后市场更新到一半,把自己卸载了。

插件市场:在更新前,我要先把旧的我卸载掉。
我:嗯嗯,然后呢?
插件市场:棍母
我:?

于是,这个插件诞生了。

它不是什么智能插件。它只负责把旧的插件市场卸载,然后把新的插件市场装上去。

插件市场负责逛街,更新助手负责更新市场,分工明确。

本项目针对的是 dshmarket 的这类更新场景,不代表所有版本或所有 DSH 部署都有这个问题。哪天市场自己修好了,这个插件就可以光荣退休~

怎么用

打开:

设置 → 市场更新助手 → 更新插件市场

点击,然后等。

检查 npm 最新稳定版
        ↓
已经最新?那就下班。
        ↓ 不是
卸载旧版市场(助手:我还在)
        ↓
安装新版市场(助手:我真的还在)
        ↓
核对版本,汇报结果

需要重启时会告诉你,不会突然替你把 DSH 关了。毕竟我们是更新助手,不是重启助手。

安装

从 npm 安装(包发布后)

在 DSH 自带的插件管理界面,使用包名安装:

dshmarket-update-helper

也可以让 DSH 里的 Agent 帮忙:

请使用 plugin_manager 安装 bundle:dshmarket-update-helper。

从源码安装

把项目下载到本地,在 DSH 插件管理器中将项目目录的绝对路径作为本地 bundle 安装。

本地安装可能直接引用该目录,装完别把源码删了。

❓ 常见灵魂拷问

为什么为了更新一个插件,还要安装另一个插件?

因为插件不能在把自己卸载之后,继续努力工作。

所以有了这个朴素的想法。

那这个更新助手以后怎么更新?

它不像插件市场那样自己更新自己,原则上可以由市场或 DSH 自带的插件管理器处理。

暂时没有开发「市场更新助手更新助手」的想法。

嗯,暂时。

已经是最新版,点了会怎样?

检查一下,然后告诉你不用更新。

放心,不会为了证明自己的价值,先把插件市场卸了再装回来。

更新失败怎么办?

看助手里的「操作详情」。如果旧版恢复成功,会明确显示;如果恢复也失败,请使用 DSH 自带的插件管理器重新安装 dshmarket。

别去找已经被卸载的市场帮你装市场。我们就是为了打破这个循环才来的。

市场以后没有这个问题了怎么办?

卸载本插件,然后祝它前程似锦。

毕竟一个好补丁的终点,是不再需要这个补丁 ⦁ ⩊ ⦁

开发

没有额外运行时依赖,没有构建步骤。项目的复杂度主要集中在「为什么需要这个东西」上。

npm test

也可直接运行检查:

node --check index.js
node --check client.js
node test/updater.test.js

上传与发布

GitHub 上传、npm 发布和以后怎么升版本,见 发布指南。

  • 更新日志:记录每一代助手的打工履历。
  • 贡献指南:欢迎修 bug,暂不接受无限套娃的更新助手。
  • MIT 许可证:沙雕归沙雕,许可证还是要有的。

当前版本为 1.0.1,页面里的版本从包清单读取;以后改包版本即可,不需要手动修改 UI 数字。

致谢

感谢 DSH 提供插件机制与插件管理器。

感谢 dshmarket 让大家装插件更方便,也意外给本项目提供了一个极其具体的就业岗位。

本项目是独立的小工具,不是 DSH 或 dshmarket 官方项目。调侃的是更新时的技术困境,不是辛苦维护项目的人。


插件市场:我要更新我自己 ᗜ ˰ ᗜ
更新助手:把那个命令行停下,我来 >﹏<

Comments

Loading…