dshmarket 1.12.0 → 1.12.2

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
@@ -17,6 +17,10 @@ One-click themes — install, switch live, no restart:
17
17
 
18
18
  ![Themes tab](assets/themes-en.png)
19
19
 
20
+ On dsh 0.1.0-rc.7 and newer the market puts its own option where the host keeps every other plugin's — no YAML:
21
+
22
+ ![Settings card](assets/settings-en.png)
23
+
20
24
  ## Install
21
25
 
22
26
  ```sh
@@ -72,8 +76,9 @@ Installs prefer npm tarballs over full-repo GitHub downloads whenever a plugin p
72
76
 
73
77
  ## Roadmap & feedback
74
78
 
75
- - Planned features live on the [Roadmap](https://github.com/orgs/dsh-market/projects/1) — every item welcomes community PRs (drop a note in the linked issue before starting)
76
- - File bugs and ideas as [issues](https://github.com/dsh-market/dsh-market/issues); attaching the market's "Export log" makes diagnosis 10x faster
79
+ - **Bugs** go in [issues](https://github.com/dsh-market/dsh-market/issues) — attaching the market's "Export log" makes diagnosis roughly ten times faster
80
+ - **Feature ideas** go on the [Roadmap](https://github.com/orgs/dsh-market/projects/1). Issues are kept for things that are broken, so a proposal filed as an issue gets moved there and closed; the discussion stays where you wrote it either way
81
+ - Every roadmap item welcomes community PRs — say so on the item before starting, so two people don't build it twice
77
82
 
78
83
  ## Data source
79
84
 
package/README.zh.md CHANGED
@@ -17,6 +17,10 @@
17
17
 
18
18
  ![主题](assets/themes-zh.png)
19
19
 
20
+ dsh 0.1.0-rc.7 起,市场自己的选项也放在宿主统一管理插件配置的地方——不用改 YAML:
21
+
22
+ ![设置卡片](assets/settings-zh.png)
23
+
20
24
  ## 安装
21
25
 
22
26
  ```sh
@@ -69,8 +73,9 @@ dsh plugin --profile web add dshmarket
69
73
 
70
74
  ## 路线图与反馈
71
75
 
72
- - 功能规划见 [Roadmap](https://github.com/orgs/dsh-market/projects/1),每一项都欢迎社区 PR(动手前在对应 issue 里说一声)
73
- - Bug 与建议请提 [issue](https://github.com/dsh-market/dsh-market/issues),附上市场页面的「导出日志」能让排查快十倍
76
+ - **Bug** [issue](https://github.com/dsh-market/dsh-market/issues),附上市场页面的「导出日志」能让排查快十倍
77
+ - **功能建议**放 [Roadmap](https://github.com/orgs/dsh-market/projects/1)。issues 只留「坏掉的东西」,所以提成 issue 的建议会被移到那边并关闭;讨论仍留在你写的地方
78
+ - 路线图上的每一项都欢迎社区 PR——动手前在对应条目里说一声,免得两个人重复造
74
79
 
75
80
  ## 数据源
76
81
 
package/client/client.js CHANGED
@@ -889,6 +889,46 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
889
889
  readmeShotsCache.set(cacheKey, task);
890
890
  return task;
891
891
  }
892
+ /**
893
+ * The human-readable part of a failed command's output.
894
+ *
895
+ * pnpm's ndjson reporter writes one JSON object per progress tick, and a
896
+ * large `github:` download emits thousands of them. When a failure matches
897
+ * none of the known signatures there is no diagnosis to show, so the UI
898
+ * falls back to the tail of stdout/stderr — which for exactly that case is
899
+ * 600 characters of `{"name":"pnpm:fetching-progress","downloaded":…}`.
900
+ * The user is handed machine noise at the one moment they need a sentence
901
+ * (#148, and the same shape behind #161).
902
+ *
903
+ * Progress objects are dropped; anything else — including JSON carrying a
904
+ * real message — is kept, because an unrecognized failure is precisely when
905
+ * throwing information away is most expensive.
906
+ */
907
+ function humanOutput(raw) {
908
+ const lines = raw.split(/\r?\n/);
909
+ const kept = [];
910
+ for (const line of lines) {
911
+ const trimmed = line.trim();
912
+ if (trimmed === "") continue;
913
+ if (!trimmed.startsWith("{")) {
914
+ kept.push(line);
915
+ continue;
916
+ }
917
+ try {
918
+ const parsed = JSON.parse(trimmed);
919
+ const name = typeof parsed.name === "string" ? parsed.name : "";
920
+ if (parsed.err !== void 0 || typeof parsed.message === "string") {
921
+ kept.push(line);
922
+ continue;
923
+ }
924
+ if (name.startsWith("pnpm:")) continue;
925
+ kept.push(line);
926
+ } catch {
927
+ kept.push(line);
928
+ }
929
+ }
930
+ return kept.join("\n").trim();
931
+ }
892
932
  //#endregion
893
933
  //#region src/client/InstallToast.tsx
894
934
  /**
@@ -927,155 +967,155 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
927
967
  document.head.appendChild(tag);
928
968
  }
929
969
  var Market_module_css_default = {
970
+ "dragHandle": "eGUBIq_dragHandle",
971
+ "row1": "eGUBIq_row1",
972
+ "src": "eGUBIq_src",
930
973
  "sub": "eGUBIq_sub",
931
- "nm": "eGUBIq_nm",
974
+ "actWhy": "eGUBIq_actWhy",
975
+ "grid": "eGUBIq_grid",
976
+ "dot": "eGUBIq_dot",
977
+ "depLine": "eGUBIq_depLine",
978
+ "backupGrid": "eGUBIq_backupGrid",
979
+ "specTagFile": "eGUBIq_specTagFile",
980
+ "assignRow": "eGUBIq_assignRow",
981
+ "card": "eGUBIq_card",
982
+ "staleAction": "eGUBIq_staleAction",
983
+ "setTitle": "eGUBIq_setTitle",
984
+ "viewOn": "eGUBIq_viewOn",
985
+ "tabs": "eGUBIq_tabs",
932
986
  "err": "eGUBIq_err",
987
+ "backupInput": "eGUBIq_backupInput",
988
+ "bannerHint": "eGUBIq_bannerHint",
989
+ "grow": "eGUBIq_grow",
990
+ "diagBadgeOfficial": "eGUBIq_diagBadgeOfficial",
991
+ "diagBadgeShadow": "eGUBIq_diagBadgeShadow",
992
+ "cmd": "eGUBIq_cmd",
993
+ "bar": "eGUBIq_bar",
994
+ "catsToggle": "eGUBIq_catsToggle",
995
+ "deprecate": "eGUBIq_deprecate",
996
+ "irow": "eGUBIq_irow",
997
+ "diagRow": "eGUBIq_diagRow",
998
+ "inlineInput": "eGUBIq_inlineInput",
999
+ "panelNote": "eGUBIq_panelNote",
1000
+ "pagerPages": "eGUBIq_pagerPages",
1001
+ "swatches": "eGUBIq_swatches",
933
1002
  "setDesc": "eGUBIq_setDesc",
1003
+ "sectAction": "eGUBIq_sectAction",
1004
+ "setRow": "eGUBIq_setRow",
1005
+ "backupWarn": "eGUBIq_backupWarn",
1006
+ "dragging": "eGUBIq_dragging",
1007
+ "tag": "eGUBIq_tag",
934
1008
  "diagKey": "eGUBIq_diagKey",
935
- "grid": "eGUBIq_grid",
936
- "collapseIcon": "eGUBIq_collapseIcon",
937
- "root": "eGUBIq_root",
938
- "depBadge": "eGUBIq_depBadge",
939
- "dshmSlide": "eGUBIq_dshmSlide",
940
- "groupAddPanel": "eGUBIq_groupAddPanel",
941
- "catsToggle": "eGUBIq_catsToggle",
942
- "bannerIcon": "eGUBIq_bannerIcon",
943
- "diagSection": "eGUBIq_diagSection",
944
- "groupHead": "eGUBIq_groupHead",
945
- "diagBadgeOfficial": "eGUBIq_diagBadgeOfficial",
946
- "ovByTag": "eGUBIq_ovByTag",
947
- "sectionOverview": "eGUBIq_sectionOverview",
948
- "backupCard": "eGUBIq_backupCard",
949
- "diagSummaryMeta": "eGUBIq_diagSummaryMeta",
950
1009
  "diagSummary": "eGUBIq_diagSummary",
951
- "empty": "eGUBIq_empty",
1010
+ "diagBadgeCommunity": "eGUBIq_diagBadgeCommunity",
1011
+ "setCard": "eGUBIq_setCard",
952
1012
  "modalNote": "eGUBIq_modalNote",
953
- "descTight": "eGUBIq_descTight",
954
- "topBtn": "eGUBIq_topBtn",
955
- "actWarn": "eGUBIq_actWarn",
956
- "assignRow": "eGUBIq_assignRow",
957
- "catsCollapsed": "eGUBIq_catsCollapsed",
958
- "switch": "eGUBIq_switch",
959
- "assignSelect": "eGUBIq_assignSelect",
960
- "orphBadge": "eGUBIq_orphBadge",
961
- "fixFallbackText": "eGUBIq_fixFallbackText",
962
- "setRevert": "eGUBIq_setRevert",
963
- "barFill": "eGUBIq_barFill",
964
- "groupMembers": "eGUBIq_groupMembers",
965
- "diagIndex": "eGUBIq_diagIndex",
966
- "diagList": "eGUBIq_diagList",
967
- "fixFallback": "eGUBIq_fixFallback",
968
- "setTitle": "eGUBIq_setTitle",
969
- "backupCheck": "eGUBIq_backupCheck",
1013
+ "act": "eGUBIq_act",
1014
+ "specTag": "eGUBIq_specTag",
970
1015
  "top": "eGUBIq_top",
971
- "loading": "eGUBIq_loading",
972
- "dragging": "eGUBIq_dragging",
973
- "progress": "eGUBIq_progress",
974
- "backupCheckList": "eGUBIq_backupCheckList",
975
- "depLine": "eGUBIq_depLine",
976
- "diagBundle": "eGUBIq_diagBundle",
977
- "sectAction": "eGUBIq_sectAction",
978
- "av": "eGUBIq_av",
979
- "groupMember": "eGUBIq_groupMember",
980
- "diagPage": "eGUBIq_diagPage",
981
- "switchKnob": "eGUBIq_switchKnob",
982
- "deprecate": "eGUBIq_deprecate",
983
- "diagSummaryItem": "eGUBIq_diagSummaryItem",
984
- "pagerPages": "eGUBIq_pagerPages",
1016
+ "srcBtn": "eGUBIq_srcBtn",
1017
+ "irowMissing": "eGUBIq_irowMissing",
1018
+ "diagMeta": "eGUBIq_diagMeta",
1019
+ "actBroken": "eGUBIq_actBroken",
1020
+ "star": "eGUBIq_star",
1021
+ "tab": "eGUBIq_tab",
1022
+ "backupCard": "eGUBIq_backupCard",
1023
+ "cats": "eGUBIq_cats",
1024
+ "body": "eGUBIq_body",
1025
+ "dshmSlide": "eGUBIq_dshmSlide",
1026
+ "orphBadge": "eGUBIq_orphBadge",
1027
+ "themesGrid": "eGUBIq_themesGrid",
1028
+ "on": "eGUBIq_on",
1029
+ "catsWrap": "eGUBIq_catsWrap",
1030
+ "catsCollapsed": "eGUBIq_catsCollapsed",
985
1031
  "ovArrow": "eGUBIq_ovArrow",
986
- "sp": "eGUBIq_sp",
987
- "diagVal": "eGUBIq_diagVal",
988
- "orphRow": "eGUBIq_orphRow",
989
- "title": "eGUBIq_title",
990
- "dragHandle": "eGUBIq_dragHandle",
991
- "src": "eGUBIq_src",
992
- "tabSearch": "eGUBIq_tabSearch",
993
- "version": "eGUBIq_version",
994
- "viewOn": "eGUBIq_viewOn",
995
1032
  "groupName": "eGUBIq_groupName",
996
- "diagBadgeShadow": "eGUBIq_diagBadgeShadow",
997
- "body": "eGUBIq_body",
1033
+ "ovFrom": "eGUBIq_ovFrom",
1034
+ "fixFallbackText": "eGUBIq_fixFallbackText",
1035
+ "nm": "eGUBIq_nm",
1036
+ "actLive": "eGUBIq_actLive",
1037
+ "backupMessage": "eGUBIq_backupMessage",
1038
+ "setHint": "eGUBIq_setHint",
1039
+ "hiddenFile": "eGUBIq_hiddenFile",
1040
+ "collapseIcon": "eGUBIq_collapseIcon",
1041
+ "orphRow": "eGUBIq_orphRow",
1042
+ "foot": "eGUBIq_foot",
998
1043
  "viewBar": "eGUBIq_viewBar",
999
- "setLabel": "eGUBIq_setLabel",
1000
- "catsWrap": "eGUBIq_catsWrap",
1044
+ "groupHead": "eGUBIq_groupHead",
1045
+ "tabSearch": "eGUBIq_tabSearch",
1046
+ "av": "eGUBIq_av",
1047
+ "root": "eGUBIq_root",
1048
+ "diagVal": "eGUBIq_diagVal",
1049
+ "titleRow": "eGUBIq_titleRow",
1050
+ "switch": "eGUBIq_switch",
1051
+ "diagBundle": "eGUBIq_diagBundle",
1052
+ "warnLine": "eGUBIq_warnLine",
1053
+ "actWarn": "eGUBIq_actWarn",
1054
+ "specTagGit": "eGUBIq_specTagGit",
1055
+ "progress": "eGUBIq_progress",
1001
1056
  "viewBtn": "eGUBIq_viewBtn",
1002
- "barWave": "eGUBIq_barWave",
1057
+ "diagEmpty": "eGUBIq_diagEmpty",
1058
+ "backupActions": "eGUBIq_backupActions",
1059
+ "setHead": "eGUBIq_setHead",
1060
+ "loading": "eGUBIq_loading",
1061
+ "dragOver": "eGUBIq_dragOver",
1062
+ "backupCheckList": "eGUBIq_backupCheckList",
1003
1063
  "groupHint": "eGUBIq_groupHint",
1004
- "spec": "eGUBIq_spec",
1005
- "cmd": "eGUBIq_cmd",
1064
+ "fixFallback": "eGUBIq_fixFallback",
1065
+ "setRevert": "eGUBIq_setRevert",
1066
+ "assignSelect": "eGUBIq_assignSelect",
1067
+ "diagSection": "eGUBIq_diagSection",
1068
+ "pager": "eGUBIq_pager",
1069
+ "pageInfo": "eGUBIq_pageInfo",
1070
+ "spin": "eGUBIq_spin",
1071
+ "groupCreate": "eGUBIq_groupCreate",
1072
+ "pct": "eGUBIq_pct",
1073
+ "pageEllipsis": "eGUBIq_pageEllipsis",
1074
+ "diagPage": "eGUBIq_diagPage",
1075
+ "version": "eGUBIq_version",
1076
+ "title": "eGUBIq_title",
1077
+ "tabSearchRow": "eGUBIq_tabSearchRow",
1006
1078
  "shot": "eGUBIq_shot",
1007
- "groupRow": "eGUBIq_groupRow",
1008
- "panelNote": "eGUBIq_panelNote",
1079
+ "descTight": "eGUBIq_descTight",
1080
+ "head": "eGUBIq_head",
1009
1081
  "switchOn": "eGUBIq_switchOn",
1010
- "setHead": "eGUBIq_setHead",
1011
- "desc": "eGUBIq_desc",
1012
- "setRow": "eGUBIq_setRow",
1013
- "collapseTitle": "eGUBIq_collapseTitle",
1082
+ "switchKnob": "eGUBIq_switchKnob",
1083
+ "collapseHead": "eGUBIq_collapseHead",
1084
+ "groupMember": "eGUBIq_groupMember",
1085
+ "setLabel": "eGUBIq_setLabel",
1014
1086
  "ovRow": "eGUBIq_ovRow",
1015
- "swatches": "eGUBIq_swatches",
1016
- "hiddenFile": "eGUBIq_hiddenFile",
1017
- "warnLine": "eGUBIq_warnLine",
1018
- "backupWarn": "eGUBIq_backupWarn",
1019
- "diagRow": "eGUBIq_diagRow",
1020
- "actBroken": "eGUBIq_actBroken",
1021
- "dragOver": "eGUBIq_dragOver",
1022
- "catsRow": "eGUBIq_catsRow",
1023
- "themesGrid": "eGUBIq_themesGrid",
1024
- "staleAction": "eGUBIq_staleAction",
1025
- "irow": "eGUBIq_irow",
1026
- "card": "eGUBIq_card",
1027
- "backupGrid": "eGUBIq_backupGrid",
1028
- "foot": "eGUBIq_foot",
1029
- "groupActions": "eGUBIq_groupActions",
1030
- "act": "eGUBIq_act",
1031
- "groupCreate": "eGUBIq_groupCreate",
1032
- "backupInput": "eGUBIq_backupInput",
1033
- "setLabelBox": "eGUBIq_setLabelBox",
1034
- "ovFrom": "eGUBIq_ovFrom",
1035
- "srcBtn": "eGUBIq_srcBtn",
1036
- "spin": "eGUBIq_spin",
1087
+ "diagAlert": "eGUBIq_diagAlert",
1088
+ "banner": "eGUBIq_banner",
1037
1089
  "diagCount": "eGUBIq_diagCount",
1038
- "tab": "eGUBIq_tab",
1039
- "star": "eGUBIq_star",
1040
- "bar": "eGUBIq_bar",
1041
- "tag": "eGUBIq_tag",
1042
- "collapseBody": "eGUBIq_collapseBody",
1043
- "diagBadgeCommunity": "eGUBIq_diagBadgeCommunity",
1044
- "pageEllipsis": "eGUBIq_pageEllipsis",
1090
+ "okState": "eGUBIq_okState",
1091
+ "barFill": "eGUBIq_barFill",
1092
+ "collapseTitle": "eGUBIq_collapseTitle",
1045
1093
  "owner": "eGUBIq_owner",
1046
- "specTag": "eGUBIq_specTag",
1047
- "specTagGit": "eGUBIq_specTagGit",
1094
+ "diagIndex": "eGUBIq_diagIndex",
1095
+ "collapseBody": "eGUBIq_collapseBody",
1096
+ "catsRow": "eGUBIq_catsRow",
1048
1097
  "shots": "eGUBIq_shots",
1049
- "inlineInput": "eGUBIq_inlineInput",
1050
- "titleRow": "eGUBIq_titleRow",
1051
- "backupMessage": "eGUBIq_backupMessage",
1052
- "on": "eGUBIq_on",
1053
- "actWhy": "eGUBIq_actWhy",
1054
- "pager": "eGUBIq_pager",
1055
- "setHint": "eGUBIq_setHint",
1056
- "head": "eGUBIq_head",
1057
- "actLive": "eGUBIq_actLive",
1058
- "tabSearchRow": "eGUBIq_tabSearchRow",
1059
- "row1": "eGUBIq_row1",
1060
- "diagArrow": "eGUBIq_diagArrow",
1061
- "diagAlert": "eGUBIq_diagAlert",
1062
- "backupActions": "eGUBIq_backupActions",
1063
- "bannerHint": "eGUBIq_bannerHint",
1064
- "cats": "eGUBIq_cats",
1065
- "grow": "eGUBIq_grow",
1066
- "dot": "eGUBIq_dot",
1098
+ "empty": "eGUBIq_empty",
1099
+ "groupAddPanel": "eGUBIq_groupAddPanel",
1100
+ "backupCheck": "eGUBIq_backupCheck",
1101
+ "setLabelBox": "eGUBIq_setLabelBox",
1067
1102
  "switchMixed": "eGUBIq_switchMixed",
1068
- "diagEmpty": "eGUBIq_diagEmpty",
1069
- "okState": "eGUBIq_okState",
1070
- "tabs": "eGUBIq_tabs",
1071
- "diagMeta": "eGUBIq_diagMeta",
1072
- "banner": "eGUBIq_banner",
1073
- "specTagFile": "eGUBIq_specTagFile",
1074
- "setCard": "eGUBIq_setCard",
1075
- "pct": "eGUBIq_pct",
1076
- "pageInfo": "eGUBIq_pageInfo",
1077
- "collapseHead": "eGUBIq_collapseHead",
1078
- "irowMissing": "eGUBIq_irowMissing"
1103
+ "groupActions": "eGUBIq_groupActions",
1104
+ "diagSummaryItem": "eGUBIq_diagSummaryItem",
1105
+ "diagArrow": "eGUBIq_diagArrow",
1106
+ "depBadge": "eGUBIq_depBadge",
1107
+ "bannerIcon": "eGUBIq_bannerIcon",
1108
+ "desc": "eGUBIq_desc",
1109
+ "spec": "eGUBIq_spec",
1110
+ "diagSummaryMeta": "eGUBIq_diagSummaryMeta",
1111
+ "diagList": "eGUBIq_diagList",
1112
+ "barWave": "eGUBIq_barWave",
1113
+ "sectionOverview": "eGUBIq_sectionOverview",
1114
+ "topBtn": "eGUBIq_topBtn",
1115
+ "sp": "eGUBIq_sp",
1116
+ "groupRow": "eGUBIq_groupRow",
1117
+ "groupMembers": "eGUBIq_groupMembers",
1118
+ "ovByTag": "eGUBIq_ovByTag"
1079
1119
  };
1080
1120
  //#endregion
1081
1121
  //#region src/client/Diagnostics.tsx
@@ -2740,7 +2780,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
2740
2780
  names: body.ignoredBuilds.map(String)
2741
2781
  });
2742
2782
  const text = (v) => typeof v === "string" ? v : v && typeof v.text === "string" ? v.text : v == null ? "" : JSON.stringify(v);
2743
- const detail = text(body.error) || [text(body.stderr), text(body.stdout)].filter(Boolean).join("\n").trim() || "exit " + body.exitCode;
2783
+ const detail = text(body.error) || humanOutput([text(body.stderr), text(body.stdout)].filter(Boolean).join("\n")) || "exit " + body.exitCode;
2744
2784
  setInstallError(t("installFail") + ": " + plugin.name + " — " + detail.trim().slice(-600));
2745
2785
  }
2746
2786
  }).catch(() => {});
@@ -2850,7 +2890,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
2850
2890
  names: body.ignoredBuilds.map(String)
2851
2891
  });
2852
2892
  const text = (v) => typeof v === "string" ? v : v && typeof v.text === "string" ? v.text : v == null ? "" : JSON.stringify(v);
2853
- const detail = text(body.error) || [text(body.stderr), text(body.stdout)].filter(Boolean).join("\n").trim() || "exit " + body.exitCode;
2893
+ const detail = text(body.error) || humanOutput([text(body.stderr), text(body.stdout)].filter(Boolean).join("\n")) || "exit " + body.exitCode;
2854
2894
  setInstallError(t("updateFail") + ": " + name + " — " + detail.trim().slice(-600));
2855
2895
  }
2856
2896
  }).catch((error) => setInstallError(t("updateFail") + ": " + String(error))).finally(() => setUpdatingName(null));
@@ -2896,7 +2936,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
2896
2936
  return;
2897
2937
  }
2898
2938
  const text = (v) => typeof v === "string" ? v : v && typeof v.text === "string" ? v.text : v == null ? "" : JSON.stringify(v);
2899
- setInstallError((text(body.error) || text(body.stderr) || "error").trim().slice(-600));
2939
+ setInstallError((text(body.error) || humanOutput(text(body.stderr)) || "error").trim().slice(-600));
2900
2940
  }
2901
2941
  }).catch((error) => setInstallError(String(error))).finally(() => setRemovingName(null));
2902
2942
  }, [refreshInstalled]);