dshmarket 1.21.4 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,7 +50,7 @@ its own dsh: it may be older than the one `npm` would give you (#139).
50
50
 
51
51
  ## Speed
52
52
 
53
- Installs prefer npm tarballs over full-repo GitHub downloads whenever a plugin publishes to npm (registry-verified against the repo to prevent name squatting). Registry installs are typically seconds; GitHub-only plugins depend on your connection to GitHub.
53
+ Installs prefer repo-verified npm packages, then author-supplied prebuilt GitHub Release tarballs, before falling back to full-repo GitHub source downloads. Prebuilt installs are typically seconds and do not need local build scripts; source-only plugins depend on your connection to GitHub.
54
54
 
55
55
  ## Security
56
56
 
package/README.zh.md CHANGED
@@ -47,7 +47,7 @@ dsh plugin --profile web add dshmarket
47
47
 
48
48
  ## 速度
49
49
 
50
- 只要插件发布了 npm 包(registry 会校验其 repository 指回同一仓库,防冒名),安装即走 npm tarball 而非整仓 GitHub 下载——通常秒级;仅 GitHub 分发的插件取决于你到 GitHub 的网络。
50
+ 安装依次优先使用经仓库验证的 npm 包、作者提供的 GitHub Release 预构建 tarball,最后才回退到整仓 GitHub 源码下载。预构建安装通常只需数秒且无需执行本地构建脚本;仅提供源码的插件仍取决于你到 GitHub 的网络。
51
51
 
52
52
  ## 安全
53
53
 
package/client/client.js CHANGED
@@ -296,6 +296,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
296
296
  packagesDone: "已处理 {0} 个包",
297
297
  updatedLive: "✓ 已更新,已生效",
298
298
  partialNote: "已取消,部分变更已写入",
299
+ reconciledNote: "已移除,但 pnpm 收尾时报错(通常是文件被占用);配置已同步,无需重试",
299
300
  actWhy: "为什么未生效?",
300
301
  tabList: "列表",
301
302
  tabGroups: "分组",
@@ -671,6 +672,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
671
672
  packagesDone: "{0} packages processed",
672
673
  updatedLive: "✓ Updated — live",
673
674
  partialNote: "Cancelled — some changes were applied",
675
+ reconciledNote: "Removed, but pnpm reported an error while finishing up (usually a locked file). The profile is already reconciled — no retry needed.",
674
676
  actWhy: "Why not live?",
675
677
  tabList: "List",
676
678
  tabGroups: "Groups",
@@ -5036,6 +5038,12 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
5036
5038
  if (body.partial === true) setInstallError(t("partialNote"));
5037
5039
  return;
5038
5040
  }
5041
+ if (body.reconciled === true) {
5042
+ if (!body.hot) setRemovedCount((n) => n + 1);
5043
+ refreshInstalled();
5044
+ setInstallError(t("reconciledNote"));
5045
+ return;
5046
+ }
5039
5047
  const text = (v) => typeof v === "string" ? v : v && typeof v.text === "string" ? v.text : v == null ? "" : JSON.stringify(v);
5040
5048
  setInstallError((text(body.error) || humanOutput(text(body.stderr)) || "error").trim().slice(-600));
5041
5049
  }