dsh-plugin 2.3.0 → 2.3.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.en.md +12 -12
- package/README.md +12 -12
- package/client/client.js +412 -345
- package/client/client.js.map +1 -1
- package/lib/http/install.js +12 -1
- package/lib/http/npm-release-age.js +7 -1
- package/lib/services/npm-release-age.js +41 -4
- package/lib/types/services/npm-release-age.d.ts +14 -2
- package/package.json +1 -1
- package/src/client/components/PluginHubSection.tsx +40 -9
- package/src/client/components/catalog/PluginCard.tsx +26 -6
- package/src/client/components/modals/modals.tsx +4 -2
- package/src/client/components/views/InstalledView.tsx +62 -24
- package/src/client/data/host.ts +2 -0
- package/src/client/hooks/useTaskQueue.ts +1 -1
- package/src/client/locales.ts +12 -6
- package/src/client/logic/install-command.ts +6 -3
- package/src/client/styles/InstalledView.module.css +72 -19
- package/src/client/styles/List.module.css +33 -3
- package/src/server/http/install.ts +11 -1
- package/src/server/http/npm-release-age.ts +7 -1
- package/src/server/services/npm-release-age.ts +45 -5
package/client/client.js
CHANGED
|
@@ -361,7 +361,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
361
361
|
failKind_pluginMissingDep: "插件依赖未发布",
|
|
362
362
|
failReason_pluginMissingDep: "插件声明依赖的包在官方 npm 源上不存在(已删除或从未发布)。",
|
|
363
363
|
failKind_registryVersionStale: "该版本在所用源上不存在",
|
|
364
|
-
failReason_registryVersionStale: "
|
|
364
|
+
failReason_registryVersionStale: "实际安装用的源还没同步到这个版本。可稍后重试,或到「设置 → npm 镜像源」换成官方源;也可先安装上一个可用版本。",
|
|
365
365
|
failKind_registryAuth: "npm 源拒绝了访问",
|
|
366
366
|
failReason_registryAuth: "registry 返回 401/403:这个源需要登录凭据,或当前网络不被允许。",
|
|
367
367
|
failKind_profileExclusive: "profile 由桌面应用独占管理",
|
|
@@ -424,6 +424,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
424
424
|
installEntryLine: "安装入口:{c}。",
|
|
425
425
|
reportIssue: "去插件仓库提交 Issue",
|
|
426
426
|
detail: "打开详情",
|
|
427
|
+
installDetail: "安装详情",
|
|
428
|
+
author: "作者",
|
|
427
429
|
noResult: "没有找到匹配的插件",
|
|
428
430
|
noResultDesc: "换个关键词试试,或前往网站浏览全部插件。",
|
|
429
431
|
today: "今天更新",
|
|
@@ -456,7 +458,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
456
458
|
hubPendingDesc: "最新版已发布,但发布尚未满 24 小时:此时更新会被 pnpm 静默回退到旧版本,因此暂不提示。稍后这里会自动出现更新入口。",
|
|
457
459
|
followUs: "关注我们",
|
|
458
460
|
aboutTitle: "关注我们",
|
|
459
|
-
aboutDesc: "了解 DSH Plugin Hub
|
|
461
|
+
aboutDesc: "了解 DSH Plugin Hub 是做什么的,访问主站浏览插件,或到 GitHub 提交 Issue。",
|
|
460
462
|
aboutEmpty: "内容暂未发布,敬请期待。",
|
|
461
463
|
aboutUpdated: "更新于",
|
|
462
464
|
empty: "该分类暂无插件",
|
|
@@ -810,7 +812,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
810
812
|
failKind_pluginMissingDep: "plugin dependency is not published",
|
|
811
813
|
failReason_pluginMissingDep: "A package the plugin depends on does not exist on the official npm registry.",
|
|
812
814
|
failKind_registryVersionStale: "this version is not available on the registry in use",
|
|
813
|
-
failReason_registryVersionStale: "The registry that actually performs the install has not synced this version yet,
|
|
815
|
+
failReason_registryVersionStale: "The registry that actually performs the install has not synced this version yet. Retry later, switch to the official registry under Settings → npm mirror, or install a previous version for now.",
|
|
814
816
|
failKind_registryAuth: "the npm registry rejected access",
|
|
815
817
|
failReason_registryAuth: "The registry returned 401/403: it needs credentials, or the current network is not allowed.",
|
|
816
818
|
failKind_profileExclusive: "the profile is managed only by the desktop app",
|
|
@@ -873,6 +875,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
873
875
|
installEntryLine: "Install entry: {c}.",
|
|
874
876
|
reportIssue: "Report an Issue to the plugin repo",
|
|
875
877
|
detail: "Open details",
|
|
878
|
+
installDetail: "Install details",
|
|
879
|
+
author: "Author",
|
|
876
880
|
noResult: "No plugins match your search",
|
|
877
881
|
noResultDesc: "Try another keyword, or browse all plugins on the website.",
|
|
878
882
|
today: "updated today",
|
|
@@ -905,7 +909,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
905
909
|
hubPendingDesc: "The latest version has been released, but it is still within the 24-hour window where pnpm silently falls back to the older version, so the update is not offered yet. The update entry will appear here shortly.",
|
|
906
910
|
followUs: "Follow us",
|
|
907
911
|
aboutTitle: "Follow us",
|
|
908
|
-
aboutDesc: "Learn what DSH Plugin Hub does
|
|
912
|
+
aboutDesc: "Learn what DSH Plugin Hub does — browse plugins on the website, or open an Issue on GitHub.",
|
|
909
913
|
aboutEmpty: "Content not published yet — stay tuned.",
|
|
910
914
|
aboutUpdated: "Updated",
|
|
911
915
|
empty: "No plugins in this category yet",
|
|
@@ -928,42 +932,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
928
932
|
css: css$11
|
|
929
933
|
});
|
|
930
934
|
var Header_module_css_default = {
|
|
931
|
-
"copyIcon": "qikqja_copyIcon",
|
|
932
|
-
"adBanner": "qikqja_adBanner",
|
|
933
935
|
"adBadge": "qikqja_adBadge",
|
|
934
|
-
"
|
|
935
|
-
"tab": "qikqja_tab",
|
|
936
|
-
"tabActive": "qikqja_tabActive",
|
|
937
|
-
"tabsRow": "qikqja_tabsRow",
|
|
938
|
-
"tagline": "qikqja_tagline",
|
|
939
|
-
"githubIcon": "qikqja_githubIcon",
|
|
940
|
-
"header": "qikqja_header",
|
|
941
|
-
"searchRow": "qikqja_searchRow",
|
|
942
|
-
"headerRight": "qikqja_headerRight",
|
|
943
|
-
"segBtnActive": "qikqja_segBtnActive",
|
|
944
|
-
"tabs": "qikqja_tabs",
|
|
945
|
-
"headerTitleRow": "qikqja_headerTitleRow",
|
|
946
|
-
"segBtn": "qikqja_segBtn",
|
|
947
|
-
"logoIcon": "qikqja_logoIcon",
|
|
948
|
-
"githubLink": "qikqja_githubLink",
|
|
949
|
-
"version": "qikqja_version",
|
|
950
|
-
"title": "qikqja_title",
|
|
951
|
-
"segLabel": "qikqja_segLabel",
|
|
936
|
+
"adText": "qikqja_adText",
|
|
952
937
|
"adArrow": "qikqja_adArrow",
|
|
953
|
-
"versionBtn": "qikqja_versionBtn",
|
|
954
|
-
"segGroup": "qikqja_segGroup",
|
|
955
938
|
"root": "qikqja_root",
|
|
956
|
-
"
|
|
957
|
-
"
|
|
958
|
-
"
|
|
939
|
+
"segBtnActive": "qikqja_segBtnActive",
|
|
940
|
+
"header": "qikqja_header",
|
|
941
|
+
"versionBtn": "qikqja_versionBtn",
|
|
959
942
|
"hubUpdateBadge": "qikqja_hubUpdateBadge",
|
|
960
943
|
"langBtn": "qikqja_langBtn",
|
|
961
|
-
"
|
|
962
|
-
"aboutBtn": "qikqja_aboutBtn",
|
|
944
|
+
"githubIcon": "qikqja_githubIcon",
|
|
963
945
|
"resultCount": "qikqja_resultCount",
|
|
964
|
-
"
|
|
946
|
+
"search": "qikqja_search",
|
|
965
947
|
"controls": "qikqja_controls",
|
|
966
|
-
"
|
|
948
|
+
"tabs": "qikqja_tabs",
|
|
949
|
+
"segGroup": "qikqja_segGroup",
|
|
950
|
+
"segBtn": "qikqja_segBtn",
|
|
951
|
+
"resultSeg": "qikqja_resultSeg",
|
|
952
|
+
"segLabel": "qikqja_segLabel",
|
|
953
|
+
"version": "qikqja_version",
|
|
954
|
+
"tagline": "qikqja_tagline",
|
|
955
|
+
"searchRow": "qikqja_searchRow",
|
|
956
|
+
"tabActive": "qikqja_tabActive",
|
|
957
|
+
"title": "qikqja_title",
|
|
958
|
+
"tab": "qikqja_tab",
|
|
959
|
+
"tabCount": "qikqja_tabCount",
|
|
960
|
+
"aboutBtn": "qikqja_aboutBtn",
|
|
961
|
+
"brandTitle": "qikqja_brandTitle",
|
|
962
|
+
"sortGroup": "qikqja_sortGroup",
|
|
963
|
+
"adBanner": "qikqja_adBanner",
|
|
964
|
+
"taglineLink": "qikqja_taglineLink",
|
|
965
|
+
"githubLink": "qikqja_githubLink",
|
|
966
|
+
"headerRight": "qikqja_headerRight",
|
|
967
|
+
"tabsRow": "qikqja_tabsRow",
|
|
968
|
+
"headerTitleRow": "qikqja_headerTitleRow",
|
|
969
|
+
"logoIcon": "qikqja_logoIcon",
|
|
970
|
+
"copyIcon": "qikqja_copyIcon"
|
|
967
971
|
};
|
|
968
972
|
//#endregion
|
|
969
973
|
//#region \0dsh-css:src/client/styles/Modal.module.css.mjs
|
|
@@ -982,147 +986,147 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
982
986
|
css: css$10
|
|
983
987
|
});
|
|
984
988
|
var Modal_module_css_default = {
|
|
985
|
-
"
|
|
986
|
-
"
|
|
989
|
+
"resultTitle": "BiQ1zG_resultTitle",
|
|
990
|
+
"detailPathBtn": "BiQ1zG_detailPathBtn",
|
|
991
|
+
"noticeHead": "BiQ1zG_noticeHead",
|
|
992
|
+
"detailStatusText": "BiQ1zG_detailStatusText",
|
|
993
|
+
"detailArrow": "BiQ1zG_detailArrow",
|
|
994
|
+
"detailPathActions": "BiQ1zG_detailPathActions",
|
|
987
995
|
"progressHead": "BiQ1zG_progressHead",
|
|
988
|
-
"
|
|
989
|
-
"
|
|
990
|
-
"detailModal": "BiQ1zG_detailModal",
|
|
991
|
-
"toastFail": "BiQ1zG_toastFail",
|
|
992
|
-
"queuedHint": "BiQ1zG_queuedHint",
|
|
993
|
-
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
994
|
-
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
995
|
-
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
996
|
-
"progressTrack": "BiQ1zG_progressTrack",
|
|
997
|
-
"restartNowWarning": "BiQ1zG_restartNowWarning",
|
|
998
|
-
"failRepo": "BiQ1zG_failRepo",
|
|
999
|
-
"stripCancel": "BiQ1zG_stripCancel",
|
|
1000
|
-
"resultRestarting": "BiQ1zG_resultRestarting",
|
|
1001
|
-
"queueRowDesc": "BiQ1zG_queueRowDesc",
|
|
1002
|
-
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
1003
|
-
"noticeMain": "BiQ1zG_noticeMain",
|
|
1004
|
-
"modalLabel": "BiQ1zG_modalLabel",
|
|
1005
|
-
"detailGrid": "BiQ1zG_detailGrid",
|
|
1006
|
-
"resultCheck": "BiQ1zG_resultCheck",
|
|
1007
|
-
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
996
|
+
"failCopy": "BiQ1zG_failCopy",
|
|
997
|
+
"noticeTextFail": "BiQ1zG_noticeTextFail",
|
|
1008
998
|
"noticeTextOk": "BiQ1zG_noticeTextOk",
|
|
1009
|
-
"
|
|
999
|
+
"hubStateLatest": "BiQ1zG_hubStateLatest",
|
|
1000
|
+
"restartNow": "BiQ1zG_restartNow",
|
|
1001
|
+
"confirmPrimary": "BiQ1zG_confirmPrimary",
|
|
1002
|
+
"logModal": "BiQ1zG_logModal",
|
|
1003
|
+
"modalDesc": "BiQ1zG_modalDesc",
|
|
1004
|
+
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
1005
|
+
"detailDim": "BiQ1zG_detailDim",
|
|
1010
1006
|
"noticeRowMain": "BiQ1zG_noticeRowMain",
|
|
1011
|
-
"
|
|
1012
|
-
"
|
|
1013
|
-
"
|
|
1014
|
-
"
|
|
1015
|
-
"modalRow": "BiQ1zG_modalRow",
|
|
1016
|
-
"failClear": "BiQ1zG_failClear",
|
|
1017
|
-
"errorTitle": "BiQ1zG_errorTitle",
|
|
1007
|
+
"failKind": "BiQ1zG_failKind",
|
|
1008
|
+
"noticeRow": "BiQ1zG_noticeRow",
|
|
1009
|
+
"noticeTime": "BiQ1zG_noticeTime",
|
|
1010
|
+
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
1018
1011
|
"cliOnlyHint": "BiQ1zG_cliOnlyHint",
|
|
1019
|
-
"
|
|
1020
|
-
"
|
|
1021
|
-
"
|
|
1022
|
-
"
|
|
1023
|
-
"hubVersionBar": "BiQ1zG_hubVersionBar",
|
|
1012
|
+
"modalCmdCopy": "BiQ1zG_modalCmdCopy",
|
|
1013
|
+
"modalCloseIcon": "BiQ1zG_modalCloseIcon",
|
|
1014
|
+
"queueRowDesc": "BiQ1zG_queueRowDesc",
|
|
1015
|
+
"hubStateAvailable": "BiQ1zG_hubStateAvailable",
|
|
1024
1016
|
"detailRow": "BiQ1zG_detailRow",
|
|
1025
|
-
"
|
|
1026
|
-
"
|
|
1027
|
-
"
|
|
1028
|
-
"
|
|
1029
|
-
"
|
|
1017
|
+
"hubVersionNumber": "BiQ1zG_hubVersionNumber",
|
|
1018
|
+
"detailPathText": "BiQ1zG_detailPathText",
|
|
1019
|
+
"hubUpdateModal": "BiQ1zG_hubUpdateModal",
|
|
1020
|
+
"progressFillFail": "BiQ1zG_progressFillFail",
|
|
1021
|
+
"noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
|
|
1022
|
+
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
1023
|
+
"errorModal": "BiQ1zG_errorModal",
|
|
1024
|
+
"failList": "BiQ1zG_failList",
|
|
1025
|
+
"aboutModal": "BiQ1zG_aboutModal",
|
|
1026
|
+
"progress": "BiQ1zG_progress",
|
|
1027
|
+
"failMisjudgeLink": "BiQ1zG_failMisjudgeLink",
|
|
1028
|
+
"failEmpty": "BiQ1zG_failEmpty",
|
|
1029
|
+
"detailGrid": "BiQ1zG_detailGrid",
|
|
1030
|
+
"trustHint": "BiQ1zG_trustHint",
|
|
1031
|
+
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
1032
|
+
"modalTitle": "BiQ1zG_modalTitle",
|
|
1033
|
+
"result": "BiQ1zG_result",
|
|
1034
|
+
"modalBody": "BiQ1zG_modalBody",
|
|
1035
|
+
"modalTitleQueued": "BiQ1zG_modalTitleQueued",
|
|
1036
|
+
"modalCmd": "BiQ1zG_modalCmd",
|
|
1037
|
+
"noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
|
|
1038
|
+
"modalClose": "BiQ1zG_modalClose",
|
|
1039
|
+
"aboutContent": "BiQ1zG_aboutContent",
|
|
1040
|
+
"modalActions": "BiQ1zG_modalActions",
|
|
1041
|
+
"confirmIconWrap": "BiQ1zG_confirmIconWrap",
|
|
1042
|
+
"aboutMeta": "BiQ1zG_aboutMeta",
|
|
1043
|
+
"failKindInstall": "BiQ1zG_failKindInstall",
|
|
1044
|
+
"modalLabel": "BiQ1zG_modalLabel",
|
|
1045
|
+
"noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
|
|
1046
|
+
"detailPath": "BiQ1zG_detailPath",
|
|
1047
|
+
"detailStars": "BiQ1zG_detailStars",
|
|
1048
|
+
"uninstallConfirm": "BiQ1zG_uninstallConfirm",
|
|
1049
|
+
"noticeList": "BiQ1zG_noticeList",
|
|
1050
|
+
"queueRowPct": "BiQ1zG_queueRowPct",
|
|
1051
|
+
"resultDesc": "BiQ1zG_resultDesc",
|
|
1030
1052
|
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
1053
|
+
"queuedHint": "BiQ1zG_queuedHint",
|
|
1054
|
+
"restartLater": "BiQ1zG_restartLater",
|
|
1055
|
+
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
1031
1056
|
"toastIn": "BiQ1zG_toastIn",
|
|
1032
|
-
"
|
|
1033
|
-
"
|
|
1057
|
+
"modalHead": "BiQ1zG_modalHead",
|
|
1058
|
+
"hubStateChip": "BiQ1zG_hubStateChip",
|
|
1034
1059
|
"failReason": "BiQ1zG_failReason",
|
|
1035
|
-
"
|
|
1036
|
-
"
|
|
1037
|
-
"
|
|
1060
|
+
"progressTrack": "BiQ1zG_progressTrack",
|
|
1061
|
+
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
1062
|
+
"toast": "BiQ1zG_toast",
|
|
1063
|
+
"modalCopy": "BiQ1zG_modalCopy",
|
|
1064
|
+
"progressText": "BiQ1zG_progressText",
|
|
1065
|
+
"failClear": "BiQ1zG_failClear",
|
|
1066
|
+
"hubVersionBar": "BiQ1zG_hubVersionBar",
|
|
1067
|
+
"pendingRowStatus": "BiQ1zG_pendingRowStatus",
|
|
1068
|
+
"hubVersionDate": "BiQ1zG_hubVersionDate",
|
|
1038
1069
|
"detailLabel": "BiQ1zG_detailLabel",
|
|
1039
|
-
"
|
|
1040
|
-
"noticeHead": "BiQ1zG_noticeHead",
|
|
1070
|
+
"detailModal": "BiQ1zG_detailModal",
|
|
1041
1071
|
"hubStatePending": "BiQ1zG_hubStatePending",
|
|
1042
|
-
"
|
|
1043
|
-
"
|
|
1072
|
+
"confirmIconDanger": "BiQ1zG_confirmIconDanger",
|
|
1073
|
+
"errorTitle": "BiQ1zG_errorTitle",
|
|
1074
|
+
"overlay": "BiQ1zG_overlay",
|
|
1075
|
+
"helpModal": "BiQ1zG_helpModal",
|
|
1076
|
+
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
1077
|
+
"modalTitleBusy": "BiQ1zG_modalTitleBusy",
|
|
1078
|
+
"modalLink": "BiQ1zG_modalLink",
|
|
1079
|
+
"noticeVersion": "BiQ1zG_noticeVersion",
|
|
1080
|
+
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
1081
|
+
"confirmIcon": "BiQ1zG_confirmIcon",
|
|
1082
|
+
"errorHint": "BiQ1zG_errorHint",
|
|
1083
|
+
"modalRow": "BiQ1zG_modalRow",
|
|
1084
|
+
"resultRestarting": "BiQ1zG_resultRestarting",
|
|
1085
|
+
"failHead": "BiQ1zG_failHead",
|
|
1086
|
+
"failRepoUrl": "BiQ1zG_failRepoUrl",
|
|
1087
|
+
"detailLink": "BiQ1zG_detailLink",
|
|
1044
1088
|
"detailStatusRunning": "BiQ1zG_detailStatusRunning",
|
|
1089
|
+
"queueSection": "BiQ1zG_queueSection",
|
|
1090
|
+
"modalCancel": "BiQ1zG_modalCancel",
|
|
1091
|
+
"resultCheck": "BiQ1zG_resultCheck",
|
|
1045
1092
|
"overlayIn": "BiQ1zG_overlayIn",
|
|
1093
|
+
"detailMono": "BiQ1zG_detailMono",
|
|
1094
|
+
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
1095
|
+
"failKindTitle": "BiQ1zG_failKindTitle",
|
|
1096
|
+
"failPrepareHint": "BiQ1zG_failPrepareHint",
|
|
1097
|
+
"modalIn": "BiQ1zG_modalIn",
|
|
1098
|
+
"queueRowStatus": "BiQ1zG_queueRowStatus",
|
|
1099
|
+
"resultCheckIcon": "BiQ1zG_resultCheckIcon",
|
|
1100
|
+
"hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
|
|
1101
|
+
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
1102
|
+
"modalValue": "BiQ1zG_modalValue",
|
|
1103
|
+
"toastFail": "BiQ1zG_toastFail",
|
|
1104
|
+
"stripCancel": "BiQ1zG_stripCancel",
|
|
1105
|
+
"bundleDeselectedHint": "BiQ1zG_bundleDeselectedHint",
|
|
1106
|
+
"failRepo": "BiQ1zG_failRepo",
|
|
1107
|
+
"failDiagBtn": "BiQ1zG_failDiagBtn",
|
|
1108
|
+
"failRepoLabel": "BiQ1zG_failRepoLabel",
|
|
1109
|
+
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
1110
|
+
"detailValue": "BiQ1zG_detailValue",
|
|
1111
|
+
"restartNowWarning": "BiQ1zG_restartNowWarning",
|
|
1046
1112
|
"errorBox": "BiQ1zG_errorBox",
|
|
1047
|
-
"errorHint": "BiQ1zG_errorHint",
|
|
1048
|
-
"modalTitleQueued": "BiQ1zG_modalTitleQueued",
|
|
1049
|
-
"failMisjudgeLink": "BiQ1zG_failMisjudgeLink",
|
|
1050
|
-
"hubStateChip": "BiQ1zG_hubStateChip",
|
|
1051
|
-
"failRepoUrl": "BiQ1zG_failRepoUrl",
|
|
1052
|
-
"noticeRow": "BiQ1zG_noticeRow",
|
|
1053
1113
|
"modalInstall": "BiQ1zG_modalInstall",
|
|
1054
|
-
"
|
|
1114
|
+
"modalWide": "BiQ1zG_modalWide",
|
|
1115
|
+
"modal": "BiQ1zG_modal",
|
|
1116
|
+
"progressFill": "BiQ1zG_progressFill",
|
|
1117
|
+
"detailUpdateHint": "BiQ1zG_detailUpdateHint",
|
|
1055
1118
|
"linkIcon": "BiQ1zG_linkIcon",
|
|
1056
|
-
"
|
|
1057
|
-
"
|
|
1058
|
-
"queueRowHead": "BiQ1zG_queueRowHead",
|
|
1059
|
-
"hubUpdateModal": "BiQ1zG_hubUpdateModal",
|
|
1060
|
-
"confirmIconWrap": "BiQ1zG_confirmIconWrap",
|
|
1061
|
-
"noticeList": "BiQ1zG_noticeList",
|
|
1062
|
-
"modalCopy": "BiQ1zG_modalCopy",
|
|
1063
|
-
"trustHint": "BiQ1zG_trustHint",
|
|
1064
|
-
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
1065
|
-
"confirmIcon": "BiQ1zG_confirmIcon",
|
|
1066
|
-
"noticeTextFail": "BiQ1zG_noticeTextFail",
|
|
1067
|
-
"restartLater": "BiQ1zG_restartLater",
|
|
1068
|
-
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
1069
|
-
"modalTitle": "BiQ1zG_modalTitle",
|
|
1070
|
-
"detailArrow": "BiQ1zG_detailArrow",
|
|
1071
|
-
"aboutModal": "BiQ1zG_aboutModal",
|
|
1072
|
-
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
1073
|
-
"noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
|
|
1074
|
-
"pendingRowStatus": "BiQ1zG_pendingRowStatus",
|
|
1075
|
-
"progressText": "BiQ1zG_progressText",
|
|
1076
|
-
"modalIn": "BiQ1zG_modalIn",
|
|
1077
|
-
"failKindInstall": "BiQ1zG_failKindInstall",
|
|
1078
|
-
"modalCloseIcon": "BiQ1zG_modalCloseIcon",
|
|
1119
|
+
"noticeMain": "BiQ1zG_noticeMain",
|
|
1120
|
+
"queueSectionTitle": "BiQ1zG_queueSectionTitle",
|
|
1079
1121
|
"pendingRowActions": "BiQ1zG_pendingRowActions",
|
|
1080
|
-
"hubVersionNumber": "BiQ1zG_hubVersionNumber",
|
|
1081
|
-
"resultTitle": "BiQ1zG_resultTitle",
|
|
1082
1122
|
"failKindUninstall": "BiQ1zG_failKindUninstall",
|
|
1083
|
-
"
|
|
1084
|
-
"queueRow": "BiQ1zG_queueRow",
|
|
1085
|
-
"failPrepareHint": "BiQ1zG_failPrepareHint",
|
|
1086
|
-
"queueSectionTitle": "BiQ1zG_queueSectionTitle",
|
|
1087
|
-
"failKind": "BiQ1zG_failKind",
|
|
1088
|
-
"detailPath": "BiQ1zG_detailPath",
|
|
1089
|
-
"failList": "BiQ1zG_failList",
|
|
1090
|
-
"failDiagBtn": "BiQ1zG_failDiagBtn",
|
|
1091
|
-
"modalHead": "BiQ1zG_modalHead",
|
|
1092
|
-
"modalCancel": "BiQ1zG_modalCancel",
|
|
1093
|
-
"logModal": "BiQ1zG_logModal",
|
|
1094
|
-
"modalDesc": "BiQ1zG_modalDesc",
|
|
1095
|
-
"uninstallConfirm": "BiQ1zG_uninstallConfirm",
|
|
1096
|
-
"failKindTitle": "BiQ1zG_failKindTitle",
|
|
1097
|
-
"detailStatusText": "BiQ1zG_detailStatusText",
|
|
1098
|
-
"noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
|
|
1099
|
-
"modalCmdCopy": "BiQ1zG_modalCmdCopy",
|
|
1123
|
+
"queueRowHead": "BiQ1zG_queueRowHead",
|
|
1100
1124
|
"noticeFoot": "BiQ1zG_noticeFoot",
|
|
1101
|
-
"
|
|
1102
|
-
"
|
|
1103
|
-
"
|
|
1104
|
-
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
1105
|
-
"aboutMeta": "BiQ1zG_aboutMeta",
|
|
1106
|
-
"failHead": "BiQ1zG_failHead",
|
|
1107
|
-
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
1108
|
-
"modalClose": "BiQ1zG_modalClose",
|
|
1109
|
-
"progressFillFail": "BiQ1zG_progressFillFail",
|
|
1110
|
-
"hubStateAvailable": "BiQ1zG_hubStateAvailable",
|
|
1111
|
-
"aboutContent": "BiQ1zG_aboutContent",
|
|
1112
|
-
"overlay": "BiQ1zG_overlay",
|
|
1113
|
-
"modalWide": "BiQ1zG_modalWide",
|
|
1114
|
-
"confirmPrimary": "BiQ1zG_confirmPrimary",
|
|
1125
|
+
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
1126
|
+
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
1127
|
+
"modalCmdText": "BiQ1zG_modalCmdText",
|
|
1115
1128
|
"failRow": "BiQ1zG_failRow",
|
|
1116
|
-
"
|
|
1117
|
-
"progressFill": "BiQ1zG_progressFill",
|
|
1118
|
-
"detailDim": "BiQ1zG_detailDim",
|
|
1119
|
-
"queueSection": "BiQ1zG_queueSection",
|
|
1120
|
-
"queueRowPct": "BiQ1zG_queueRowPct",
|
|
1121
|
-
"detailUpdateHint": "BiQ1zG_detailUpdateHint",
|
|
1122
|
-
"detailLink": "BiQ1zG_detailLink",
|
|
1123
|
-
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
1124
|
-
"result": "BiQ1zG_result",
|
|
1125
|
-
"modalActions": "BiQ1zG_modalActions"
|
|
1129
|
+
"queueRow": "BiQ1zG_queueRow"
|
|
1126
1130
|
};
|
|
1127
1131
|
//#endregion
|
|
1128
1132
|
//#region src/server/services/install/release-target.ts
|
|
@@ -1167,11 +1171,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1167
1171
|
}
|
|
1168
1172
|
/** 展示用安装命令(复制/弹窗):目录下发的权威命令优先(CLI-only 插件如 dsh-tui
|
|
1169
1173
|
* 需专属 profile(--profile dsh-tui),无法从 npm 包名推断,必须用官方命令);
|
|
1170
|
-
* 常规插件无目录命令时用 npm 包名回退生成。
|
|
1171
|
-
|
|
1174
|
+
* 常规插件无目录命令时用 npm 包名回退生成。
|
|
1175
|
+
* version 为已过供应链门禁的版本:带上它,手抄命令与原位安装的执行结果一致,
|
|
1176
|
+
* 不会因 pnpm 门禁静默回退到很旧的版本。 */
|
|
1177
|
+
function installCommandOf(p, withProfile = false, version) {
|
|
1172
1178
|
const cmd = p.install?.command;
|
|
1173
1179
|
if (cmd) return cmd;
|
|
1174
|
-
|
|
1180
|
+
const prefix = `dsh plugin${withProfile ? " --profile web" : ""} add `;
|
|
1181
|
+
const target = installTargetOf(p);
|
|
1182
|
+
return `${prefix}${version === void 0 || version === "" ? target : `${target}@${version}`}`;
|
|
1175
1183
|
}
|
|
1176
1184
|
/** 把任务/安装目标归一化为 owner/repo 展示身份。 */
|
|
1177
1185
|
function repoFromInstallTarget(value) {
|
|
@@ -1212,7 +1220,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1212
1220
|
* tsdown 构建时用 define 把 __PLUGIN_VERSION__ 替换成 package.json 的版本号;
|
|
1213
1221
|
* node --test 直接 import 本模块时该标识符不存在,typeof 守卫兜底为空串。
|
|
1214
1222
|
*/
|
|
1215
|
-
const PLUGIN_VERSION = "2.3.
|
|
1223
|
+
const PLUGIN_VERSION = "2.3.2";
|
|
1216
1224
|
const CATEGORY_ORDER = [
|
|
1217
1225
|
"interface",
|
|
1218
1226
|
"session",
|
|
@@ -2133,7 +2141,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2133
2141
|
* registry 真实发布时间下发(同源),据此判断最准。门槛命中要单列成 `pending` 而不是
|
|
2134
2142
|
* 落回「无更新」——回落会让弹窗在本机版本落后时谎称「已是最新」。
|
|
2135
2143
|
*/
|
|
2136
|
-
const hubCurrentVersion = "2.3.
|
|
2144
|
+
const hubCurrentVersion = "2.3.2";
|
|
2137
2145
|
const hubUpdateResult = hubUpdateInfo === null ? {
|
|
2138
2146
|
state: "none",
|
|
2139
2147
|
target: null
|
|
@@ -3352,7 +3360,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3352
3360
|
desc: p.description,
|
|
3353
3361
|
version: p.version,
|
|
3354
3362
|
updatedAt: p.dates?.repoUpdatedAt,
|
|
3355
|
-
command: installCommandOf(p, true),
|
|
3363
|
+
command: installCommandOf(p, true, opts?.pinVersion),
|
|
3356
3364
|
source: "catalog",
|
|
3357
3365
|
update: opts?.update,
|
|
3358
3366
|
pinVersion: opts?.pinVersion
|
|
@@ -4039,7 +4047,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4039
4047
|
* 目录插件与命令行安装(customTarget 模式)共用同一套确认/进度/结果流程。
|
|
4040
4048
|
*/
|
|
4041
4049
|
function InstallModal(props) {
|
|
4042
|
-
const { plugin, customTarget, globalNpm, done, task, t, langPath, restarting, submitting, update, cliOnly, needsRestart, needsReload, bundleDeselected, onClose, onCopy, onInstall, onRestart } = props;
|
|
4050
|
+
const { plugin, customTarget, globalNpm, done, task, t, langPath, restarting, submitting, update, pinVersion, cliOnly, needsRestart, needsReload, bundleDeselected, onClose, onCopy, onInstall, onRestart } = props;
|
|
4043
4051
|
const busy = submitting || task !== null && (task.status === "pending" || task.status === "running");
|
|
4044
4052
|
const name = customTarget ?? (globalNpm !== void 0 && globalNpm.length > 0 ? globalNpm.join(" ") : void 0) ?? plugin?.displayName ?? plugin?.slug ?? "";
|
|
4045
4053
|
const busyTitle = (label) => langPath === "zh/" ? `${name} 插件${label}` : `${label} ${name}`;
|
|
@@ -4082,7 +4090,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4082
4090
|
title: t("copyInstallCommand"),
|
|
4083
4091
|
role: "button",
|
|
4084
4092
|
tabIndex: 0
|
|
4085
|
-
}, (0, react.createElement)("span", { className: Modal_module_css_default.modalCmdText }, globalNpm !== void 0 && globalNpm.length > 0 ? `npm install -g ${globalNpm.join(" ")}` : customTarget ? `pnpm add ${customTarget}` : installCommandOf(plugin)), (0, react.createElement)("span", { className: Modal_module_css_default.modalCmdCopy }, (0, react.createElement)(CopyIcon), t("copyCmdLabel"))), globalNpm !== void 0 && globalNpm.length > 0 ? (0, react.createElement)("div", { className: Modal_module_css_default.cliOnlyHint }, t("globalNpmHint")) : null, cliOnly ? (0, react.createElement)("div", { className: Modal_module_css_default.cliOnlyHint }, t(plugin?.install?.manualInstall === true ? "manualInstallOnlyHint" : "cliOnlyHint")) : null, task && task.status === "pending" ? (0, react.createElement)("div", { className: Modal_module_css_default.queuedHint }, t("queuedHint")) : null, task ? (0, react.createElement)(ProgressView, { task }) : null, task && task.status === "failed" ? (0, react.createElement)("div", { className: Modal_module_css_default.failedCopyHint }, t("failedCopyHint")) : null, (0, react.createElement)("div", { className: Modal_module_css_default.modalActions }, (0, react.createElement)("button", {
|
|
4093
|
+
}, (0, react.createElement)("span", { className: Modal_module_css_default.modalCmdText }, globalNpm !== void 0 && globalNpm.length > 0 ? `npm install -g ${globalNpm.join(" ")}` : customTarget ? `pnpm add ${customTarget}` : installCommandOf(plugin, false, pinVersion)), (0, react.createElement)("span", { className: Modal_module_css_default.modalCmdCopy }, (0, react.createElement)(CopyIcon), t("copyCmdLabel"))), globalNpm !== void 0 && globalNpm.length > 0 ? (0, react.createElement)("div", { className: Modal_module_css_default.cliOnlyHint }, t("globalNpmHint")) : null, cliOnly ? (0, react.createElement)("div", { className: Modal_module_css_default.cliOnlyHint }, t(plugin?.install?.manualInstall === true ? "manualInstallOnlyHint" : "cliOnlyHint")) : null, task && task.status === "pending" ? (0, react.createElement)("div", { className: Modal_module_css_default.queuedHint }, t("queuedHint")) : null, task ? (0, react.createElement)(ProgressView, { task }) : null, task && task.status === "failed" ? (0, react.createElement)("div", { className: Modal_module_css_default.failedCopyHint }, t("failedCopyHint")) : null, (0, react.createElement)("div", { className: Modal_module_css_default.modalActions }, (0, react.createElement)("button", {
|
|
4086
4094
|
className: Modal_module_css_default.modalCopy,
|
|
4087
4095
|
disabled: busy,
|
|
4088
4096
|
onClick: onCopy
|
|
@@ -5190,7 +5198,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5190
5198
|
}
|
|
5191
5199
|
//#endregion
|
|
5192
5200
|
//#region \0dsh-css:src/client/styles/List.module.css.mjs
|
|
5193
|
-
const css$9 = "._3XaZHa_body{flex-direction:column;flex:1;min-height:0;display:flex}._3XaZHa_list{flex-direction:column;flex:1;gap:6px;min-height:0;padding:2px 4px 4px 2px;display:flex;overflow-y:auto}._3XaZHa_moreSentinel{flex-shrink:0;height:1px}._3XaZHa_card{border:1px solid var(--hub-border-2);background:var(--hub-bg-1);border-radius:8px;justify-content:space-between;align-items:stretch;gap:12px;padding:9px 12px;transition:border-color .12s,background .12s;display:flex}._3XaZHa_card:hover{border-color:var(--hub-brand);background:var(--hub-bg-2)}._3XaZHa_cardMain{flex-direction:column;gap:4px;min-width:0;display:flex}.
|
|
5201
|
+
const css$9 = "._3XaZHa_body{flex-direction:column;flex:1;min-height:0;display:flex}._3XaZHa_list{flex-direction:column;flex:1;gap:6px;min-height:0;padding:2px 4px 4px 2px;display:flex;overflow-y:auto}._3XaZHa_moreSentinel{flex-shrink:0;height:1px}._3XaZHa_card{border:1px solid var(--hub-border-2);background:var(--hub-bg-1);border-radius:8px;justify-content:space-between;align-items:stretch;gap:12px;padding:9px 12px;transition:border-color .12s,background .12s;display:flex}._3XaZHa_card:hover{border-color:var(--hub-brand);background:var(--hub-bg-2)}._3XaZHa_cardMain{flex-direction:column;gap:4px;min-width:0;display:flex}._3XaZHa_cardTitleRow{align-items:center;gap:6px;min-width:0;display:flex}._3XaZHa_cardTitle{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:inherit;flex:0 auto;font-size:13px;font-weight:600;line-height:18px;text-decoration:none;transition:color .12s;overflow:hidden}a._3XaZHa_cardTitle:hover{color:var(--hub-brand);text-decoration:underline}._3XaZHa_cardBadgeRow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}._3XaZHa_categoryBadge,._3XaZHa_verified,._3XaZHa_authorBadge,._3XaZHa_versionBadge,._3XaZHa_updateBadge{border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;line-height:14px}._3XaZHa_authorBadge{color:var(--hub-text-tertiary);border-color:var(--hub-border-ghost);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}._3XaZHa_categoryBadge{color:var(--hub-brand);border-color:var(--hub-border-ghost)}._3XaZHa_verified{color:var(--hub-success);border-color:var(--hub-success-border)}._3XaZHa_versionBadge{color:var(--hub-text-secondary);border-color:var(--hub-border-input)}._3XaZHa_updateBadge{color:var(--hub-warn);border-color:var(--hub-warn-border);background:var(--hub-warn-tint)}._3XaZHa_desc{color:var(--hub-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:18px;display:-webkit-box;overflow:hidden}._3XaZHa_topics{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}._3XaZHa_topic{color:var(--hub-text-tertiary);background:var(--hub-bg-3);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px;line-height:16px}._3XaZHa_cardSide{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:6px;display:flex}._3XaZHa_stats{flex-direction:column;align-items:flex-end;gap:1px;display:flex}._3XaZHa_star{color:var(--hub-warn);white-space:nowrap;font-size:11px;line-height:16px}._3XaZHa_fork{color:var(--hub-text-tertiary);white-space:nowrap;font-size:11px;line-height:16px}._3XaZHa_date{color:var(--hub-text-tertiary);white-space:nowrap;font-size:10px;line-height:14px}._3XaZHa_installBtn,._3XaZHa_installBtnCopied,._3XaZHa_installBtnInstalled,._3XaZHa_installBtnUpdate,._3XaZHa_uninstallBtn,._3XaZHa_detailBtn{cursor:pointer;border-radius:6px;padding:2px 10px;font-size:11px;line-height:18px;transition:color .12s,border-color .12s,background .12s}._3XaZHa_installBtnInstalled{color:var(--hub-success);background:var(--hub-success-tint);cursor:default;-webkit-user-select:none;user-select:none;border:none}._3XaZHa_installBtnUpdate{color:#fff;background:var(--hub-warn);-webkit-user-select:none;user-select:none;border:none;font-weight:500}._3XaZHa_installBtnUpdate:hover{background:var(--hub-warn-strong)}._3XaZHa_uninstallBtn{color:var(--hub-danger);background:var(--hub-danger-tint);-webkit-user-select:none;user-select:none;border:none}._3XaZHa_uninstallBtn:hover{color:#fff;background:var(--hub-danger-hover)}body[data-ds-dark-theme] ._3XaZHa_uninstallBtn{color:#fff;background:var(--hub-danger)}body[data-ds-dark-theme] ._3XaZHa_uninstallBtn:hover{background:var(--hub-danger-hover)}._3XaZHa_installBtn{color:var(--hub-text-on-fill);background:var(--hub-btn-fill);-webkit-user-select:none;user-select:none;border:none;font-weight:500}._3XaZHa_installBtn:hover{background:var(--hub-btn-hover)}._3XaZHa_detailBtn{color:var(--hub-text-secondary);-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;text-decoration:none;display:inline-flex}._3XaZHa_detailBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._3XaZHa_actions{align-items:center;gap:6px;display:flex}._3XaZHa_installBtnCopied{color:var(--hub-success);background:var(--hub-success-tint);-webkit-user-select:none;user-select:none;border:none}._3XaZHa_state{text-align:center;min-height:160px;color:var(--hub-text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:12px;line-height:18px;display:flex}._3XaZHa_stateTitle{color:var(--hub-text-primary);font-size:13px;font-weight:600}._3XaZHa_stateDesc{max-width:420px}._3XaZHa_retryBtn{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-size:12px;line-height:18px}._3XaZHa_retryBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._3XaZHa_stateActions{align-items:center;gap:8px;margin-top:4px;display:flex}._3XaZHa_diagBtn{color:#fff;background:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:4px 12px;font-size:12px;line-height:18px}._3XaZHa_diagBtn:hover{background:var(--hub-brand-hover)}._3XaZHa_footer{border-top:1px solid var(--hub-border-1);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:6px 4px 0;display:flex}._3XaZHa_footLink{color:var(--hub-brand);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;line-height:16px;text-decoration:none}._3XaZHa_footLink:hover{text-decoration:underline}";
|
|
5194
5202
|
const tagId$9 = "dsh-plugin/List.module.css";
|
|
5195
5203
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$9) + "]") === null) {
|
|
5196
5204
|
const tag = document.createElement("style");
|
|
@@ -5205,40 +5213,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5205
5213
|
css: css$9
|
|
5206
5214
|
});
|
|
5207
5215
|
var List_module_css_default = {
|
|
5208
|
-
"
|
|
5209
|
-
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
5210
|
-
"verified": "_3XaZHa_verified",
|
|
5211
|
-
"topic": "_3XaZHa_topic",
|
|
5212
|
-
"cardSide": "_3XaZHa_cardSide",
|
|
5213
|
-
"cardHead": "_3XaZHa_cardHead",
|
|
5216
|
+
"cardBadgeRow": "_3XaZHa_cardBadgeRow",
|
|
5214
5217
|
"fork": "_3XaZHa_fork",
|
|
5215
|
-
"
|
|
5216
|
-
"
|
|
5217
|
-
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
5218
|
-
"card": "_3XaZHa_card",
|
|
5219
|
-
"footLink": "_3XaZHa_footLink",
|
|
5218
|
+
"detailBtn": "_3XaZHa_detailBtn",
|
|
5219
|
+
"installBtnCopied": "_3XaZHa_installBtnCopied",
|
|
5220
5220
|
"diagBtn": "_3XaZHa_diagBtn",
|
|
5221
|
-
"
|
|
5222
|
-
"
|
|
5223
|
-
"
|
|
5224
|
-
"versionBadge": "_3XaZHa_versionBadge",
|
|
5221
|
+
"footLink": "_3XaZHa_footLink",
|
|
5222
|
+
"verified": "_3XaZHa_verified",
|
|
5223
|
+
"desc": "_3XaZHa_desc",
|
|
5225
5224
|
"cardTitle": "_3XaZHa_cardTitle",
|
|
5226
|
-
"
|
|
5225
|
+
"cardMain": "_3XaZHa_cardMain",
|
|
5226
|
+
"versionBadge": "_3XaZHa_versionBadge",
|
|
5227
|
+
"card": "_3XaZHa_card",
|
|
5227
5228
|
"body": "_3XaZHa_body",
|
|
5229
|
+
"installBtn": "_3XaZHa_installBtn",
|
|
5230
|
+
"installBtnInstalled": "_3XaZHa_installBtnInstalled",
|
|
5231
|
+
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
5232
|
+
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
5233
|
+
"footer": "_3XaZHa_footer",
|
|
5234
|
+
"topic": "_3XaZHa_topic",
|
|
5228
5235
|
"categoryBadge": "_3XaZHa_categoryBadge",
|
|
5229
|
-
"
|
|
5236
|
+
"topics": "_3XaZHa_topics",
|
|
5237
|
+
"state": "_3XaZHa_state",
|
|
5238
|
+
"cardTitleRow": "_3XaZHa_cardTitleRow",
|
|
5239
|
+
"authorBadge": "_3XaZHa_authorBadge",
|
|
5240
|
+
"stateActions": "_3XaZHa_stateActions",
|
|
5241
|
+
"cardSide": "_3XaZHa_cardSide",
|
|
5242
|
+
"date": "_3XaZHa_date",
|
|
5230
5243
|
"updateBadge": "_3XaZHa_updateBadge",
|
|
5231
|
-
"
|
|
5232
|
-
"
|
|
5244
|
+
"stats": "_3XaZHa_stats",
|
|
5245
|
+
"stateTitle": "_3XaZHa_stateTitle",
|
|
5246
|
+
"stateDesc": "_3XaZHa_stateDesc",
|
|
5233
5247
|
"star": "_3XaZHa_star",
|
|
5234
|
-
"state": "_3XaZHa_state",
|
|
5235
5248
|
"retryBtn": "_3XaZHa_retryBtn",
|
|
5236
|
-
"
|
|
5237
|
-
"cardMain": "_3XaZHa_cardMain",
|
|
5238
|
-
"desc": "_3XaZHa_desc",
|
|
5239
|
-
"list": "_3XaZHa_list",
|
|
5249
|
+
"moreSentinel": "_3XaZHa_moreSentinel",
|
|
5240
5250
|
"actions": "_3XaZHa_actions",
|
|
5241
|
-
"
|
|
5251
|
+
"list": "_3XaZHa_list"
|
|
5242
5252
|
};
|
|
5243
5253
|
//#endregion
|
|
5244
5254
|
//#region src/client/hooks/useIncrementalList.ts
|
|
@@ -5293,7 +5303,14 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5293
5303
|
const update = hasUpdate(p);
|
|
5294
5304
|
const pendingUntil = isInstalled && !update ? updatePendingUntil(p) : null;
|
|
5295
5305
|
const versionShown = isInstalled ? installedVersion(p) : p.version;
|
|
5296
|
-
|
|
5306
|
+
const author = p.ownerSlug ?? repo.split("/")[0]?.toLowerCase() ?? "";
|
|
5307
|
+
return (0, react.createElement)("div", { className: List_module_css_default.card }, (0, react.createElement)("div", { className: List_module_css_default.cardMain }, (0, react.createElement)("div", { className: List_module_css_default.cardTitleRow }, repo ? (0, react.createElement)("a", {
|
|
5308
|
+
className: List_module_css_default.cardTitle,
|
|
5309
|
+
href: pluginDetailUrl(p, langPath),
|
|
5310
|
+
target: "_blank",
|
|
5311
|
+
rel: "noopener noreferrer",
|
|
5312
|
+
title: p.description ?? ""
|
|
5313
|
+
}, p.displayName ?? p.slug) : (0, react.createElement)("div", {
|
|
5297
5314
|
className: List_module_css_default.cardTitle,
|
|
5298
5315
|
title: p.description ?? ""
|
|
5299
5316
|
}, p.displayName ?? p.slug), versionShown ? (0, react.createElement)("span", {
|
|
@@ -5305,7 +5322,10 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5305
5322
|
}, t("updateAvailable")) : null, pendingUntil !== null ? (0, react.createElement)("span", {
|
|
5306
5323
|
className: List_module_css_default.updateBadge,
|
|
5307
5324
|
title: t("updatePendingHint")
|
|
5308
|
-
}, t("updatePending", { time: clockTime(pendingUntil) })) : null
|
|
5325
|
+
}, t("updatePending", { time: clockTime(pendingUntil) })) : null), author || p.category || p.compatibility?.status === "verified" ? (0, react.createElement)("div", { className: List_module_css_default.cardBadgeRow }, author ? (0, react.createElement)("span", {
|
|
5326
|
+
className: List_module_css_default.authorBadge,
|
|
5327
|
+
title: t("author")
|
|
5328
|
+
}, `@${author}`) : null, p.category ? (0, react.createElement)("span", { className: List_module_css_default.categoryBadge }, categoryLabel(CATEGORY_LABELS, p.category, langKey)) : null, p.compatibility?.status === "verified" ? (0, react.createElement)("span", { className: List_module_css_default.verified }, t("verified")) : null) : null, p.description ? (0, react.createElement)("p", { className: List_module_css_default.desc }, p.description) : null, (p.topics?.length ?? 0) > 0 ? (0, react.createElement)("div", { className: List_module_css_default.topics }, p.topics.slice(0, 3).map((topic) => (0, react.createElement)("span", {
|
|
5309
5329
|
key: topic,
|
|
5310
5330
|
className: List_module_css_default.topic
|
|
5311
5331
|
}, topic))) : null), (0, react.createElement)("div", { className: List_module_css_default.cardSide }, (0, react.createElement)("div", { className: List_module_css_default.stats }, (0, react.createElement)("span", { className: List_module_css_default.star }, "★ ", fmtStars(p.stats?.stargazers_count)), (0, react.createElement)("span", { className: List_module_css_default.fork }, t("fork"), " ", fmtStars(p.stats?.forks_count)), (0, react.createElement)("span", { className: List_module_css_default.date }, relTime(p.dates?.repoUpdatedAt, t))), repo ? (0, react.createElement)("div", { className: List_module_css_default.actions }, (0, react.createElement)("a", {
|
|
@@ -5449,16 +5469,16 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5449
5469
|
css: css$8
|
|
5450
5470
|
});
|
|
5451
5471
|
var SectionTabs_module_css_default = {
|
|
5452
|
-
"
|
|
5472
|
+
"tabLabel": "_7tvizq_tabLabel",
|
|
5473
|
+
"tab": "_7tvizq_tab",
|
|
5474
|
+
"root": "_7tvizq_root",
|
|
5453
5475
|
"tabIcon": "_7tvizq_tabIcon",
|
|
5454
5476
|
"tabCount": "_7tvizq_tabCount",
|
|
5455
|
-
"
|
|
5477
|
+
"tabActive": "_7tvizq_tabActive",
|
|
5456
5478
|
"noticeBtn": "_7tvizq_noticeBtn",
|
|
5457
|
-
"
|
|
5479
|
+
"noticeIcon": "_7tvizq_noticeIcon",
|
|
5458
5480
|
"noticeCount": "_7tvizq_noticeCount",
|
|
5459
|
-
"
|
|
5460
|
-
"tabActive": "_7tvizq_tabActive",
|
|
5461
|
-
"tabLabel": "_7tvizq_tabLabel"
|
|
5481
|
+
"tabCountActive": "_7tvizq_tabCountActive"
|
|
5462
5482
|
};
|
|
5463
5483
|
//#endregion
|
|
5464
5484
|
//#region src/client/components/layout/SectionTabs.tsx
|
|
@@ -5519,7 +5539,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5519
5539
|
}
|
|
5520
5540
|
//#endregion
|
|
5521
5541
|
//#region \0dsh-css:src/client/styles/InstalledView.module.css.mjs
|
|
5522
|
-
const css$7 = "._1nXeGW_root{flex-direction:column;gap:8px;min-width:0;display:flex}._1nXeGW_toolbar{border-bottom:1px solid var(--hub-border-1);flex-direction:column;flex-shrink:0;gap:8px;padding:0 2px 10px;display:flex}._1nXeGW_searchWrap{width:100%;min-width:0;height:28px}._1nXeGW_searchInput{width:100%;height:28px;color:var(--hub-text-primary);border:1px solid var(--hub-border-2);background:0 0;border-radius:6px;outline:none;padding:0 9px;font-size:12px;line-height:26px;transition:border-color .12s}._1nXeGW_searchInput::placeholder{color:var(--hub-text-tertiary)}._1nXeGW_searchInput:focus{border-color:var(--hub-brand)}._1nXeGW_segRow{align-items:center;gap:8px;min-width:0;display:flex}._1nXeGW_segLabel{color:var(--hub-text-tertiary);flex-shrink:0;font-size:11px;line-height:16px}._1nXeGW_segGroup{border:1px solid var(--hub-border-2);border-radius:6px;flex-shrink:0;align-items:center;display:inline-flex;overflow:hidden}._1nXeGW_segBtn{height:24px;color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-family:inherit;font-size:12px;line-height:24px;transition:color .12s,background .12s;display:inline-flex}._1nXeGW_segBtn svg{flex-shrink:0;display:block}._1nXeGW_segBtn+._1nXeGW_segBtn{border-left:1px solid var(--hub-border-2)}._1nXeGW_segBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._1nXeGW_segBtnActive,._1nXeGW_segBtnActive:hover{color:#fff;background:var(--hub-brand)}._1nXeGW_empty{color:var(--hub-text-tertiary);text-align:center;border:1px dashed var(--hub-border-2);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:36px 12px;font-size:12px;line-height:18px;display:flex}._1nXeGW_emptyTitle{color:var(--hub-text-secondary);font-size:13px;font-weight:600}._1nXeGW_emptyDesc{color:var(--hub-text-tertiary)}._1nXeGW_list{border:1px solid var(--hub-border-1);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}._1nXeGW_row{background:var(--hub-bg-1);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;padding:8px 10px;transition:background .12s;display:flex}._1nXeGW_row+._1nXeGW_row{border-top:1px solid var(--hub-border-1)}._1nXeGW_row:hover{background:var(--hub-bg-2)}._1nXeGW_rowTitleLine{align-items:center;gap:8px;min-width:0;display:flex}._1nXeGW_rowDesc{color:var(--hub-text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;padding-left:16px;font-size:11px;line-height:16px;overflow:hidden}._1nXeGW_statusDot{background:var(--hub-success);border-radius:50%;flex-shrink:0;width:8px;height:8px}._1nXeGW_statusDot._1nXeGW_statusPending{background:var(--hub-warning)}._1nXeGW_statusDot._1nXeGW_statusInactive{background:var(--hub-text-tertiary)}._1nXeGW_rowMain{flex:auto;align-items:baseline;gap:6px;min-width:0;display:flex}._1nXeGW_rowTitle{color:var(--hub-text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:600;line-height:18px;overflow:hidden}._1nXeGW_versionBadge{color:var(--hub-text-tertiary);background:var(--hub-bg-hover);border-radius:4px;flex-shrink:0;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:
|
|
5542
|
+
const css$7 = "._1nXeGW_root{flex-direction:column;gap:8px;min-width:0;display:flex}._1nXeGW_toolbar{border-bottom:1px solid var(--hub-border-1);flex-direction:column;flex-shrink:0;gap:8px;padding:0 2px 10px;display:flex}._1nXeGW_searchWrap{width:100%;min-width:0;height:28px}._1nXeGW_searchInput{width:100%;height:28px;color:var(--hub-text-primary);border:1px solid var(--hub-border-2);background:0 0;border-radius:6px;outline:none;padding:0 9px;font-size:12px;line-height:26px;transition:border-color .12s}._1nXeGW_searchInput::placeholder{color:var(--hub-text-tertiary)}._1nXeGW_searchInput:focus{border-color:var(--hub-brand)}._1nXeGW_segRow{align-items:center;gap:8px;min-width:0;display:flex}._1nXeGW_segLabel{color:var(--hub-text-tertiary);flex-shrink:0;font-size:11px;line-height:16px}._1nXeGW_segGroup{border:1px solid var(--hub-border-2);border-radius:6px;flex-shrink:0;align-items:center;display:inline-flex;overflow:hidden}._1nXeGW_segBtn{height:24px;color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-family:inherit;font-size:12px;line-height:24px;transition:color .12s,background .12s;display:inline-flex}._1nXeGW_segBtn svg{flex-shrink:0;display:block}._1nXeGW_segBtn+._1nXeGW_segBtn{border-left:1px solid var(--hub-border-2)}._1nXeGW_segBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._1nXeGW_segBtnActive,._1nXeGW_segBtnActive:hover{color:#fff;background:var(--hub-brand)}._1nXeGW_empty{color:var(--hub-text-tertiary);text-align:center;border:1px dashed var(--hub-border-2);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:36px 12px;font-size:12px;line-height:18px;display:flex}._1nXeGW_emptyTitle{color:var(--hub-text-secondary);font-size:13px;font-weight:600}._1nXeGW_emptyDesc{color:var(--hub-text-tertiary)}._1nXeGW_list{border:1px solid var(--hub-border-1);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}._1nXeGW_row{background:var(--hub-bg-1);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;padding:8px 10px;transition:background .12s;display:flex}._1nXeGW_row+._1nXeGW_row{border-top:1px solid var(--hub-border-1)}._1nXeGW_row:hover{background:var(--hub-bg-2)}._1nXeGW_rowTitleLine{align-items:center;gap:8px;min-width:0;display:flex}._1nXeGW_rowDesc{color:var(--hub-text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;padding-left:16px;font-size:11px;line-height:16px;overflow:hidden}._1nXeGW_statusDot{background:var(--hub-success);border-radius:50%;flex-shrink:0;width:8px;height:8px}._1nXeGW_statusDot._1nXeGW_statusPending{background:var(--hub-warning)}._1nXeGW_statusDot._1nXeGW_statusInactive{background:var(--hub-text-tertiary)}._1nXeGW_rowMain{flex:auto;align-items:baseline;gap:6px;min-width:0;display:flex}._1nXeGW_rowStats{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}._1nXeGW_rowStar{color:var(--hub-warn);font-size:11px;line-height:16px}._1nXeGW_rowFork{color:var(--hub-text-tertiary);font-size:11px;line-height:16px}._1nXeGW_rowTitle{color:var(--hub-text-primary);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:12px;font-weight:600;line-height:18px;text-decoration:none;overflow:hidden}a._1nXeGW_rowTitle:hover{color:var(--hub-brand);text-decoration:underline}._1nXeGW_versionBadge{color:var(--hub-text-tertiary);background:var(--hub-bg-hover);border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;line-height:14px}._1nXeGW_updateBadge{color:var(--hub-warn);background:var(--hub-warn-tint);border:1px solid var(--hub-warn-border);border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:500;line-height:14px}._1nXeGW_rowSourceTag{box-sizing:border-box;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;flex-shrink:0;width:60px;padding:0 4px;font-size:10px;font-weight:500;line-height:14px;overflow:hidden}._1nXeGW_rowSourceTagHub{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft)}._1nXeGW_rowSourceTagManual{color:var(--hub-warning);background:var(--hub-warning-tint);border:1px solid var(--hub-warning-border)}._1nXeGW_exampleBadge{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:500;line-height:14px}._1nXeGW_exampleRow{align-items:center;min-width:0;padding-left:16px;display:flex}._1nXeGW_rowMeta{align-items:center;gap:8px;min-width:0;padding-left:16px;display:flex;overflow:hidden}._1nXeGW_rowRepo{color:var(--hub-text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:16px;text-decoration:none;overflow:hidden}a._1nXeGW_rowRepo:hover{color:var(--hub-brand);text-decoration:underline}._1nXeGW_rowCategory{color:var(--hub-text-tertiary);background:var(--hub-bg-hover);border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;line-height:14px}._1nXeGW_rowActionLine{justify-content:flex-end;align-items:center;gap:8px;min-width:0;padding-left:16px;display:flex}._1nXeGW_rowActions{flex-shrink:0;align-items:center;gap:4px;display:flex}._1nXeGW_rowDetail{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowDetail:hover{color:var(--hub-text-primary);border-color:var(--hub-border-2);background:var(--hub-bg-hover)}._1nXeGW_rowRestart{color:var(--hub-warning);background:var(--hub-warning-tint);border:1px solid var(--hub-warning-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowRestart:hover{color:#fff;background:var(--hub-warning);border-color:var(--hub-warning)}._1nXeGW_rowUpdate{color:#fff;background:var(--hub-warn);border:1px solid var(--hub-warn);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:background .12s}._1nXeGW_rowUpdate:hover{background:var(--hub-warn-strong)}._1nXeGW_rowUninstall{color:var(--hub-danger);border:1px solid var(--hub-danger-border-soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowUninstall:hover,body[data-ds-dark-theme] ._1nXeGW_rowUninstall{color:#fff;background:var(--hub-danger);border-color:var(--hub-danger)}body[data-ds-dark-theme] ._1nXeGW_rowUninstall:hover{background:var(--hub-danger-hover);border-color:var(--hub-danger-hover)}";
|
|
5523
5543
|
const tagId$7 = "dsh-plugin/InstalledView.module.css";
|
|
5524
5544
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$7) + "]") === null) {
|
|
5525
5545
|
const tag = document.createElement("style");
|
|
@@ -5534,42 +5554,46 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5534
5554
|
css: css$7
|
|
5535
5555
|
});
|
|
5536
5556
|
var InstalledView_module_css_default = {
|
|
5537
|
-
"searchInput": "_1nXeGW_searchInput",
|
|
5538
|
-
"segLabel": "_1nXeGW_segLabel",
|
|
5539
|
-
"segGroup": "_1nXeGW_segGroup",
|
|
5540
|
-
"statusInactive": "_1nXeGW_statusInactive",
|
|
5541
|
-
"emptyTitle": "_1nXeGW_emptyTitle",
|
|
5542
|
-
"rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
|
|
5543
|
-
"segBtn": "_1nXeGW_segBtn",
|
|
5544
|
-
"rowTitle": "_1nXeGW_rowTitle",
|
|
5545
|
-
"rowSourceTag": "_1nXeGW_rowSourceTag",
|
|
5546
|
-
"rowRestart": "_1nXeGW_rowRestart",
|
|
5547
|
-
"rowMain": "_1nXeGW_rowMain",
|
|
5548
|
-
"rowMeta": "_1nXeGW_rowMeta",
|
|
5549
|
-
"rowRepo": "_1nXeGW_rowRepo",
|
|
5550
|
-
"rowCategory": "_1nXeGW_rowCategory",
|
|
5551
|
-
"rowDetail": "_1nXeGW_rowDetail",
|
|
5552
5557
|
"exampleBadge": "_1nXeGW_exampleBadge",
|
|
5553
|
-
"
|
|
5558
|
+
"statusInactive": "_1nXeGW_statusInactive",
|
|
5559
|
+
"rowDesc": "_1nXeGW_rowDesc",
|
|
5560
|
+
"emptyDesc": "_1nXeGW_emptyDesc",
|
|
5554
5561
|
"statusDot": "_1nXeGW_statusDot",
|
|
5555
5562
|
"segRow": "_1nXeGW_segRow",
|
|
5556
|
-
"
|
|
5557
|
-
"
|
|
5558
|
-
"
|
|
5559
|
-
"exampleRow": "_1nXeGW_exampleRow",
|
|
5563
|
+
"rowMain": "_1nXeGW_rowMain",
|
|
5564
|
+
"emptyTitle": "_1nXeGW_emptyTitle",
|
|
5565
|
+
"rowStats": "_1nXeGW_rowStats",
|
|
5560
5566
|
"list": "_1nXeGW_list",
|
|
5561
|
-
"
|
|
5567
|
+
"rowFork": "_1nXeGW_rowFork",
|
|
5562
5568
|
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
5569
|
+
"rowCategory": "_1nXeGW_rowCategory",
|
|
5563
5570
|
"toolbar": "_1nXeGW_toolbar",
|
|
5564
|
-
"
|
|
5565
|
-
"
|
|
5566
|
-
"
|
|
5571
|
+
"searchInput": "_1nXeGW_searchInput",
|
|
5572
|
+
"row": "_1nXeGW_row",
|
|
5573
|
+
"rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
|
|
5567
5574
|
"segBtnActive": "_1nXeGW_segBtnActive",
|
|
5568
5575
|
"updateBadge": "_1nXeGW_updateBadge",
|
|
5576
|
+
"rowActions": "_1nXeGW_rowActions",
|
|
5577
|
+
"rowRestart": "_1nXeGW_rowRestart",
|
|
5578
|
+
"statusPending": "_1nXeGW_statusPending",
|
|
5579
|
+
"searchWrap": "_1nXeGW_searchWrap",
|
|
5569
5580
|
"root": "_1nXeGW_root",
|
|
5570
|
-
"empty": "_1nXeGW_empty",
|
|
5571
5581
|
"rowTitleLine": "_1nXeGW_rowTitleLine",
|
|
5572
|
-
"
|
|
5582
|
+
"rowTitle": "_1nXeGW_rowTitle",
|
|
5583
|
+
"rowActionLine": "_1nXeGW_rowActionLine",
|
|
5584
|
+
"segBtn": "_1nXeGW_segBtn",
|
|
5585
|
+
"rowRepo": "_1nXeGW_rowRepo",
|
|
5586
|
+
"rowSourceTag": "_1nXeGW_rowSourceTag",
|
|
5587
|
+
"versionBadge": "_1nXeGW_versionBadge",
|
|
5588
|
+
"empty": "_1nXeGW_empty",
|
|
5589
|
+
"rowMeta": "_1nXeGW_rowMeta",
|
|
5590
|
+
"rowStar": "_1nXeGW_rowStar",
|
|
5591
|
+
"segLabel": "_1nXeGW_segLabel",
|
|
5592
|
+
"segGroup": "_1nXeGW_segGroup",
|
|
5593
|
+
"rowDetail": "_1nXeGW_rowDetail",
|
|
5594
|
+
"rowUpdate": "_1nXeGW_rowUpdate",
|
|
5595
|
+
"rowUninstall": "_1nXeGW_rowUninstall",
|
|
5596
|
+
"exampleRow": "_1nXeGW_exampleRow"
|
|
5573
5597
|
};
|
|
5574
5598
|
//#endregion
|
|
5575
5599
|
//#region src/client/components/views/InstalledView.tsx
|
|
@@ -5631,7 +5655,14 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5631
5655
|
className: item.loaded ? InstalledView_module_css_default.statusDot : item.dshCapable && pendingRestart ? `${InstalledView_module_css_default.statusDot} ${InstalledView_module_css_default.statusPending}` : `${InstalledView_module_css_default.statusDot} ${InstalledView_module_css_default.statusInactive}`,
|
|
5632
5656
|
title: item.loaded ? t("statusRunning") : item.dshCapable && pendingRestart ? t("statusPending") : item.dshCapable ? t("statusInactive") : t("exampleHint"),
|
|
5633
5657
|
"aria-label": item.loaded ? t("statusRunning") : item.dshCapable && pendingRestart ? t("statusPending") : item.dshCapable ? t("statusInactive") : t("exampleHint")
|
|
5634
|
-
}), (0, react.createElement)("div", { className: InstalledView_module_css_default.rowMain },
|
|
5658
|
+
}), (0, react.createElement)("div", { className: InstalledView_module_css_default.rowMain }, repo ? (0, react.createElement)("a", {
|
|
5659
|
+
className: InstalledView_module_css_default.rowTitle,
|
|
5660
|
+
href: pluginSiteUrl(repo),
|
|
5661
|
+
target: "_blank",
|
|
5662
|
+
rel: "noopener noreferrer",
|
|
5663
|
+
title: t("detail"),
|
|
5664
|
+
onClick: (e) => e.stopPropagation()
|
|
5665
|
+
}, name) : (0, react.createElement)("span", { className: InstalledView_module_css_default.rowTitle }, name), item.installedVersion ? (0, react.createElement)("span", {
|
|
5635
5666
|
className: InstalledView_module_css_default.versionBadge,
|
|
5636
5667
|
title: t("installedVersionLabel")
|
|
5637
5668
|
}, item.installedVersion) : null, item.hasUpdate ? (0, react.createElement)("span", {
|
|
@@ -5640,10 +5671,23 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5640
5671
|
}, t("updateAvailable")) : item.pendingUntil != null ? (0, react.createElement)("span", {
|
|
5641
5672
|
className: InstalledView_module_css_default.updateBadge,
|
|
5642
5673
|
title: t("updatePendingHint")
|
|
5643
|
-
}, t("updatePending", { time: clockTime(item.pendingUntil) })) : null), (0, react.createElement)("span", {
|
|
5674
|
+
}, t("updatePending", { time: clockTime(item.pendingUntil) })) : null), item.plugin ? (0, react.createElement)("div", { className: InstalledView_module_css_default.rowStats }, (0, react.createElement)("span", { className: InstalledView_module_css_default.rowStar }, "★ ", fmtStars(item.plugin.stats?.stargazers_count)), (0, react.createElement)("span", { className: InstalledView_module_css_default.rowFork }, t("fork"), " ", fmtStars(item.plugin.stats?.forks_count))) : null), !item.dshCapable ? (0, react.createElement)("div", { className: InstalledView_module_css_default.exampleRow }, (0, react.createElement)("span", {
|
|
5675
|
+
className: InstalledView_module_css_default.exampleBadge,
|
|
5676
|
+
title: t("exampleHint")
|
|
5677
|
+
}, t("exampleLabel"))) : null, (0, react.createElement)("div", { className: InstalledView_module_css_default.rowMeta }, item.repo ? (0, react.createElement)("a", {
|
|
5678
|
+
className: InstalledView_module_css_default.rowRepo,
|
|
5679
|
+
href: pluginSiteUrl(item.repo),
|
|
5680
|
+
target: "_blank",
|
|
5681
|
+
rel: "noopener noreferrer",
|
|
5682
|
+
title: t("detail"),
|
|
5683
|
+
onClick: (e) => e.stopPropagation()
|
|
5684
|
+
}, item.repo) : null, category ? (0, react.createElement)("span", { className: InstalledView_module_css_default.rowCategory }, categoryLabel(CATEGORY_LABELS, category, langKey)) : null, (0, react.createElement)("span", {
|
|
5644
5685
|
className: isCustom ? `${InstalledView_module_css_default.rowSourceTag} ${InstalledView_module_css_default.rowSourceTagManual}` : `${InstalledView_module_css_default.rowSourceTag} ${InstalledView_module_css_default.rowSourceTagHub}`,
|
|
5645
5686
|
title: isCustom ? t("manualInstallHint") : t("hubInstallHint")
|
|
5646
|
-
}, isCustom ? t("manualInstall") : t("hubInstall"))
|
|
5687
|
+
}, isCustom ? t("manualInstall") : t("hubInstall"))), desc ? (0, react.createElement)("div", {
|
|
5688
|
+
className: InstalledView_module_css_default.rowDesc,
|
|
5689
|
+
title: desc
|
|
5690
|
+
}, desc) : null, (0, react.createElement)("div", { className: InstalledView_module_css_default.rowActionLine }, (0, react.createElement)("div", { className: InstalledView_module_css_default.rowActions }, !item.loaded && item.dshCapable && pendingRestart ? (0, react.createElement)("button", {
|
|
5647
5691
|
className: InstalledView_module_css_default.rowRestart,
|
|
5648
5692
|
type: "button",
|
|
5649
5693
|
title: t("restartPendingHint"),
|
|
@@ -5658,7 +5702,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5658
5702
|
e.stopPropagation();
|
|
5659
5703
|
onReveal(item);
|
|
5660
5704
|
}
|
|
5661
|
-
}, revealLabel) : null,
|
|
5705
|
+
}, revealLabel) : null, (0, react.createElement)("button", {
|
|
5706
|
+
className: InstalledView_module_css_default.rowDetail,
|
|
5707
|
+
type: "button",
|
|
5708
|
+
title: t("detail"),
|
|
5709
|
+
onClick: (e) => {
|
|
5710
|
+
e.stopPropagation();
|
|
5711
|
+
onOpenDetail(item);
|
|
5712
|
+
}
|
|
5713
|
+
}, t("installDetail")), item.hasUpdate && item.plugin ? (0, react.createElement)("button", {
|
|
5662
5714
|
className: InstalledView_module_css_default.rowUpdate,
|
|
5663
5715
|
type: "button",
|
|
5664
5716
|
title: t("updateAvailableHint"),
|
|
@@ -5673,13 +5725,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5673
5725
|
e.stopPropagation();
|
|
5674
5726
|
onUninstall(item);
|
|
5675
5727
|
}
|
|
5676
|
-
}, t("uninstall"))))
|
|
5677
|
-
className: InstalledView_module_css_default.exampleBadge,
|
|
5678
|
-
title: t("exampleHint")
|
|
5679
|
-
}, t("exampleLabel"))) : null, repo || category ? (0, react.createElement)("div", { className: InstalledView_module_css_default.rowMeta }, item.repo ? (0, react.createElement)("span", { className: InstalledView_module_css_default.rowRepo }, item.repo) : null, category ? (0, react.createElement)("span", { className: InstalledView_module_css_default.rowCategory }, categoryLabel(CATEGORY_LABELS, category, langKey)) : null) : null, desc ? (0, react.createElement)("div", {
|
|
5680
|
-
className: InstalledView_module_css_default.rowDesc,
|
|
5681
|
-
title: desc
|
|
5682
|
-
}, desc) : null);
|
|
5728
|
+
}, t("uninstall")))));
|
|
5683
5729
|
}
|
|
5684
5730
|
/** 行列表:单个已安装列表(自定义安装与目录插件混排,靠徽标区分)。 */
|
|
5685
5731
|
function RowList({ items, t, langKey, canReveal, revealLabel, pendingRestarts, onOpenDetail, onReveal, onUpdate, onUninstall, onRestart }) {
|
|
@@ -5816,26 +5862,26 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5816
5862
|
css: css$6
|
|
5817
5863
|
});
|
|
5818
5864
|
var CustomInstallView_module_css_default = {
|
|
5819
|
-
"channelOffBtn": "zISxCG_channelOffBtn",
|
|
5820
|
-
"installCardHead": "zISxCG_installCardHead",
|
|
5821
|
-
"installError": "zISxCG_installError",
|
|
5822
|
-
"channelOff": "zISxCG_channelOff",
|
|
5823
|
-
"installRow": "zISxCG_installRow",
|
|
5824
|
-
"helpNote": "zISxCG_helpNote",
|
|
5825
|
-
"helpCmd": "zISxCG_helpCmd",
|
|
5826
|
-
"helpLine": "zISxCG_helpLine",
|
|
5827
|
-
"installLabel": "zISxCG_installLabel",
|
|
5828
|
-
"installCardDisabled": "zISxCG_installCardDisabled",
|
|
5829
|
-
"desc": "zISxCG_desc",
|
|
5830
|
-
"installCard": "zISxCG_installCard",
|
|
5831
|
-
"helpBody": "zISxCG_helpBody",
|
|
5832
|
-
"installCards": "zISxCG_installCards",
|
|
5833
5865
|
"installHelpBtn": "zISxCG_installHelpBtn",
|
|
5834
|
-
"
|
|
5866
|
+
"installBtn": "zISxCG_installBtn",
|
|
5867
|
+
"installCards": "zISxCG_installCards",
|
|
5835
5868
|
"installInputError": "zISxCG_installInputError",
|
|
5869
|
+
"installCard": "zISxCG_installCard",
|
|
5836
5870
|
"installInput": "zISxCG_installInput",
|
|
5837
|
-
"
|
|
5871
|
+
"installError": "zISxCG_installError",
|
|
5872
|
+
"desc": "zISxCG_desc",
|
|
5873
|
+
"channelOff": "zISxCG_channelOff",
|
|
5874
|
+
"channelOffText": "zISxCG_channelOffText",
|
|
5838
5875
|
"root": "zISxCG_root",
|
|
5876
|
+
"installCardHead": "zISxCG_installCardHead",
|
|
5877
|
+
"installLabel": "zISxCG_installLabel",
|
|
5878
|
+
"helpBody": "zISxCG_helpBody",
|
|
5879
|
+
"helpLine": "zISxCG_helpLine",
|
|
5880
|
+
"channelOffBtn": "zISxCG_channelOffBtn",
|
|
5881
|
+
"helpNote": "zISxCG_helpNote",
|
|
5882
|
+
"installRow": "zISxCG_installRow",
|
|
5883
|
+
"installCardDisabled": "zISxCG_installCardDisabled",
|
|
5884
|
+
"helpCmd": "zISxCG_helpCmd",
|
|
5839
5885
|
"installExample": "zISxCG_installExample"
|
|
5840
5886
|
};
|
|
5841
5887
|
//#endregion
|
|
@@ -5992,30 +6038,30 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5992
6038
|
css: css$5
|
|
5993
6039
|
});
|
|
5994
6040
|
var SettingsView_module_css_default = {
|
|
5995
|
-
"
|
|
5996
|
-
"navItemActive": "_506LLG_navItemActive",
|
|
5997
|
-
"settingLabel": "_506LLG_settingLabel",
|
|
5998
|
-
"card": "_506LLG_card",
|
|
6041
|
+
"pageTitle": "_506LLG_pageTitle",
|
|
5999
6042
|
"proxyHint": "_506LLG_proxyHint",
|
|
6000
|
-
"
|
|
6043
|
+
"settingDesc": "_506LLG_settingDesc",
|
|
6044
|
+
"card": "_506LLG_card",
|
|
6045
|
+
"pageHeader": "_506LLG_pageHeader",
|
|
6046
|
+
"settingControlStack": "_506LLG_settingControlStack",
|
|
6047
|
+
"textInput": "_506LLG_textInput",
|
|
6048
|
+
"proxyControl": "_506LLG_proxyControl",
|
|
6049
|
+
"sidebar": "_506LLG_sidebar",
|
|
6001
6050
|
"proxyHintFail": "_506LLG_proxyHintFail",
|
|
6002
|
-
"content": "_506LLG_content",
|
|
6003
6051
|
"settingRowStack": "_506LLG_settingRowStack",
|
|
6004
|
-
"settingDesc": "_506LLG_settingDesc",
|
|
6005
6052
|
"settingTitle": "_506LLG_settingTitle",
|
|
6006
|
-
"
|
|
6053
|
+
"settingControl": "_506LLG_settingControl",
|
|
6054
|
+
"resetBtn": "_506LLG_resetBtn",
|
|
6055
|
+
"content": "_506LLG_content",
|
|
6056
|
+
"controlDropdown": "_506LLG_controlDropdown",
|
|
6007
6057
|
"navIcon": "_506LLG_navIcon",
|
|
6008
|
-
"
|
|
6009
|
-
"
|
|
6010
|
-
"
|
|
6058
|
+
"navItemActive": "_506LLG_navItemActive",
|
|
6059
|
+
"navItem": "_506LLG_navItem",
|
|
6060
|
+
"pageDesc": "_506LLG_pageDesc",
|
|
6011
6061
|
"settingRow": "_506LLG_settingRow",
|
|
6012
|
-
"settingControlStack": "_506LLG_settingControlStack",
|
|
6013
6062
|
"root": "_506LLG_root",
|
|
6014
|
-
"
|
|
6015
|
-
"
|
|
6016
|
-
"settingControl": "_506LLG_settingControl",
|
|
6017
|
-
"pageHeader": "_506LLG_pageHeader",
|
|
6018
|
-
"proxyControl": "_506LLG_proxyControl"
|
|
6063
|
+
"settingLabel": "_506LLG_settingLabel",
|
|
6064
|
+
"proxyHintOk": "_506LLG_proxyHintOk"
|
|
6019
6065
|
};
|
|
6020
6066
|
//#endregion
|
|
6021
6067
|
//#region \0dsh-css:src/client/styles/Dropdown.module.css.mjs
|
|
@@ -6034,18 +6080,18 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6034
6080
|
css: css$4
|
|
6035
6081
|
});
|
|
6036
6082
|
var Dropdown_module_css_default = {
|
|
6083
|
+
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
6037
6084
|
"dropdownArrow": "B_Gxsq_dropdownArrow",
|
|
6038
|
-
"dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
|
|
6039
6085
|
"dropdownPanel": "B_Gxsq_dropdownPanel",
|
|
6040
|
-
"
|
|
6041
|
-
"dropdown": "B_Gxsq_dropdown",
|
|
6042
|
-
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
6086
|
+
"dropdownItemActive": "B_Gxsq_dropdownItemActive",
|
|
6043
6087
|
"dropdownLabel": "B_Gxsq_dropdownLabel",
|
|
6044
|
-
"
|
|
6088
|
+
"dropdown": "B_Gxsq_dropdown",
|
|
6089
|
+
"dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
|
|
6090
|
+
"dropdownCount": "B_Gxsq_dropdownCount",
|
|
6045
6091
|
"dropdownCountActive": "B_Gxsq_dropdownCountActive",
|
|
6046
|
-
"
|
|
6047
|
-
"
|
|
6048
|
-
"
|
|
6092
|
+
"dropdownItem": "B_Gxsq_dropdownItem",
|
|
6093
|
+
"dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen",
|
|
6094
|
+
"dropdownBtn": "B_Gxsq_dropdownBtn"
|
|
6049
6095
|
};
|
|
6050
6096
|
//#endregion
|
|
6051
6097
|
//#region \0dsh-css:src/client/styles/Toggle.module.css.mjs
|
|
@@ -6064,9 +6110,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6064
6110
|
css: css$3
|
|
6065
6111
|
});
|
|
6066
6112
|
var Toggle_module_css_default = {
|
|
6113
|
+
"toggleOn": "k-cD4G_toggleOn",
|
|
6067
6114
|
"knob": "k-cD4G_knob",
|
|
6068
|
-
"toggle": "k-cD4G_toggle"
|
|
6069
|
-
"toggleOn": "k-cD4G_toggleOn"
|
|
6115
|
+
"toggle": "k-cD4G_toggle"
|
|
6070
6116
|
};
|
|
6071
6117
|
//#endregion
|
|
6072
6118
|
//#region src/client/components/ui/Toggle.tsx
|
|
@@ -6163,29 +6209,29 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6163
6209
|
css: css$2
|
|
6164
6210
|
});
|
|
6165
6211
|
var DiagnosticsView_module_css_default = {
|
|
6166
|
-
"
|
|
6167
|
-
"
|
|
6212
|
+
"badgeIdle": "k9eRya_badgeIdle",
|
|
6213
|
+
"head": "k9eRya_head",
|
|
6214
|
+
"summary": "k9eRya_summary",
|
|
6215
|
+
"runBtn": "k9eRya_runBtn",
|
|
6216
|
+
"envRow": "k9eRya_envRow",
|
|
6168
6217
|
"display": "k9eRya_display",
|
|
6218
|
+
"envDesc": "k9eRya_envDesc",
|
|
6219
|
+
"summaryRunning": "k9eRya_summaryRunning",
|
|
6220
|
+
"meta": "k9eRya_meta",
|
|
6169
6221
|
"badge": "k9eRya_badge",
|
|
6170
|
-
"
|
|
6171
|
-
"
|
|
6222
|
+
"row": "k9eRya_row",
|
|
6223
|
+
"name": "k9eRya_name",
|
|
6224
|
+
"badgeFail": "k9eRya_badgeFail",
|
|
6225
|
+
"diagPulse": "k9eRya_diagPulse",
|
|
6172
6226
|
"summaryOk": "k9eRya_summaryOk",
|
|
6173
6227
|
"summaryFail": "k9eRya_summaryFail",
|
|
6228
|
+
"envCopyBtn": "k9eRya_envCopyBtn",
|
|
6229
|
+
"headHint": "k9eRya_headHint",
|
|
6174
6230
|
"envLabel": "k9eRya_envLabel",
|
|
6231
|
+
"panel": "k9eRya_panel",
|
|
6232
|
+
"envTitle": "k9eRya_envTitle",
|
|
6175
6233
|
"badgeOk": "k9eRya_badgeOk",
|
|
6176
|
-
"
|
|
6177
|
-
"name": "k9eRya_name",
|
|
6178
|
-
"badgeIdle": "k9eRya_badgeIdle",
|
|
6179
|
-
"meta": "k9eRya_meta",
|
|
6180
|
-
"runBtn": "k9eRya_runBtn",
|
|
6181
|
-
"row": "k9eRya_row",
|
|
6182
|
-
"envRow": "k9eRya_envRow",
|
|
6183
|
-
"badgeFail": "k9eRya_badgeFail",
|
|
6184
|
-
"diagPulse": "k9eRya_diagPulse",
|
|
6185
|
-
"summaryRunning": "k9eRya_summaryRunning",
|
|
6186
|
-
"summary": "k9eRya_summary",
|
|
6187
|
-
"head": "k9eRya_head",
|
|
6188
|
-
"envDesc": "k9eRya_envDesc"
|
|
6234
|
+
"badgeRunning": "k9eRya_badgeRunning"
|
|
6189
6235
|
};
|
|
6190
6236
|
//#endregion
|
|
6191
6237
|
//#region src/client/components/views/DiagnosticsView.tsx
|
|
@@ -6360,57 +6406,57 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6360
6406
|
css: css$1
|
|
6361
6407
|
});
|
|
6362
6408
|
var LogsView_module_css_default = {
|
|
6363
|
-
"
|
|
6364
|
-
"
|
|
6365
|
-
"
|
|
6366
|
-
"
|
|
6367
|
-
"
|
|
6368
|
-
"catSettings": "_3j77BW_catSettings",
|
|
6369
|
-
"badgeSuccess": "_3j77BW_badgeSuccess",
|
|
6370
|
-
"badgeInfo": "_3j77BW_badgeInfo",
|
|
6409
|
+
"filterChipActive": "_3j77BW_filterChipActive",
|
|
6410
|
+
"headActions": "_3j77BW_headActions",
|
|
6411
|
+
"pathLabel": "_3j77BW_pathLabel",
|
|
6412
|
+
"actions": "_3j77BW_actions",
|
|
6413
|
+
"pathDraft": "_3j77BW_pathDraft",
|
|
6371
6414
|
"btn": "_3j77BW_btn",
|
|
6372
|
-
"
|
|
6415
|
+
"list": "_3j77BW_list",
|
|
6373
6416
|
"entry": "_3j77BW_entry",
|
|
6374
|
-
"
|
|
6375
|
-
"
|
|
6376
|
-
"
|
|
6417
|
+
"footFail": "_3j77BW_footFail",
|
|
6418
|
+
"filterChip": "_3j77BW_filterChip",
|
|
6419
|
+
"more": "_3j77BW_more",
|
|
6377
6420
|
"moreEnd": "_3j77BW_moreEnd",
|
|
6378
|
-
"
|
|
6379
|
-
"
|
|
6380
|
-
"
|
|
6421
|
+
"pathDialogReset": "_3j77BW_pathDialogReset",
|
|
6422
|
+
"footCount": "_3j77BW_footCount",
|
|
6423
|
+
"badgeSuccess": "_3j77BW_badgeSuccess",
|
|
6424
|
+
"pathDialogDesc": "_3j77BW_pathDialogDesc",
|
|
6425
|
+
"badgeError": "_3j77BW_badgeError",
|
|
6426
|
+
"badgeWarn": "_3j77BW_badgeWarn",
|
|
6381
6427
|
"head": "_3j77BW_head",
|
|
6382
|
-
"catInstall": "_3j77BW_catInstall",
|
|
6383
|
-
"message": "_3j77BW_message",
|
|
6384
6428
|
"logList": "_3j77BW_logList",
|
|
6385
|
-
"footPath": "_3j77BW_footPath",
|
|
6386
|
-
"catBadge": "_3j77BW_catBadge",
|
|
6387
|
-
"list": "_3j77BW_list",
|
|
6388
|
-
"footFail": "_3j77BW_footFail",
|
|
6389
|
-
"catSystem": "_3j77BW_catSystem",
|
|
6390
6429
|
"badgeDebug": "_3j77BW_badgeDebug",
|
|
6391
|
-
"
|
|
6392
|
-
"
|
|
6393
|
-
"
|
|
6430
|
+
"catSettings": "_3j77BW_catSettings",
|
|
6431
|
+
"badge": "_3j77BW_badge",
|
|
6432
|
+
"empty": "_3j77BW_empty",
|
|
6433
|
+
"headHint": "_3j77BW_headHint",
|
|
6394
6434
|
"pathRow": "_3j77BW_pathRow",
|
|
6395
|
-
"pathLabel": "_3j77BW_pathLabel",
|
|
6396
|
-
"time": "_3j77BW_time",
|
|
6397
|
-
"pathDraft": "_3j77BW_pathDraft",
|
|
6398
|
-
"clearBtn": "_3j77BW_clearBtn",
|
|
6399
6435
|
"pathDialogRow": "_3j77BW_pathDialogRow",
|
|
6400
|
-
"
|
|
6401
|
-
"
|
|
6436
|
+
"time": "_3j77BW_time",
|
|
6437
|
+
"event": "_3j77BW_event",
|
|
6438
|
+
"footPath": "_3j77BW_footPath",
|
|
6439
|
+
"catDiagnostics": "_3j77BW_catDiagnostics",
|
|
6440
|
+
"badgeInfo": "_3j77BW_badgeInfo",
|
|
6441
|
+
"panel": "_3j77BW_panel",
|
|
6442
|
+
"catInstall": "_3j77BW_catInstall",
|
|
6443
|
+
"catSystem": "_3j77BW_catSystem",
|
|
6444
|
+
"catUpdate": "_3j77BW_catUpdate",
|
|
6445
|
+
"linkBtn": "_3j77BW_linkBtn",
|
|
6446
|
+
"pathDialogFoot": "_3j77BW_pathDialogFoot",
|
|
6447
|
+
"message": "_3j77BW_message",
|
|
6448
|
+
"filterBar": "_3j77BW_filterBar",
|
|
6449
|
+
"footActions": "_3j77BW_footActions",
|
|
6402
6450
|
"search": "_3j77BW_search",
|
|
6451
|
+
"previewRow": "_3j77BW_previewRow",
|
|
6452
|
+
"catBadge": "_3j77BW_catBadge",
|
|
6453
|
+
"clearBtn": "_3j77BW_clearBtn",
|
|
6454
|
+
"catUninstall": "_3j77BW_catUninstall",
|
|
6455
|
+
"foot": "_3j77BW_foot",
|
|
6403
6456
|
"searchInput": "_3j77BW_searchInput",
|
|
6404
6457
|
"pathText": "_3j77BW_pathText",
|
|
6405
|
-
"
|
|
6406
|
-
"
|
|
6407
|
-
"foot": "_3j77BW_foot",
|
|
6408
|
-
"footCount": "_3j77BW_footCount",
|
|
6409
|
-
"badgeError": "_3j77BW_badgeError",
|
|
6410
|
-
"badgeWarn": "_3j77BW_badgeWarn",
|
|
6411
|
-
"actions": "_3j77BW_actions",
|
|
6412
|
-
"linkBtn": "_3j77BW_linkBtn",
|
|
6413
|
-
"headHint": "_3j77BW_headHint"
|
|
6458
|
+
"pathDialog": "_3j77BW_pathDialog",
|
|
6459
|
+
"pathDialogHint": "_3j77BW_pathDialogHint"
|
|
6414
6460
|
};
|
|
6415
6461
|
//#endregion
|
|
6416
6462
|
//#region src/client/components/modals/LogsModal.tsx
|
|
@@ -7249,9 +7295,11 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7249
7295
|
const [confirmPlugin, setConfirmPlugin] = (0, react.useState)(null);
|
|
7250
7296
|
/** 弹窗动作是否为「更新」:已安装插件点「更新」→ 走同一条 add 命令原位覆盖重装,文案区分安装/更新 */
|
|
7251
7297
|
const [confirmIsUpdate, setConfirmIsUpdate] = (0, react.useState)(false);
|
|
7252
|
-
/** Hub
|
|
7253
|
-
*
|
|
7298
|
+
/** 安装要钉住的精确版本:Hub 连续发版时提示的旧一版、以及新安装的「已过供应链门禁」版本,
|
|
7299
|
+
* 都必须钉住,否则 @latest 会被 pnpm 门禁带回门禁内的版本或静默回退到很旧的版本。 */
|
|
7254
7300
|
const [confirmPinVersion, setConfirmPinVersion] = (0, react.useState)(null);
|
|
7301
|
+
/** 门禁版本查询的在途序号:只采用最后一次弹窗的查询结果,避免切换插件后旧结果覆盖 */
|
|
7302
|
+
const installPinSeq = (0, react.useRef)(0);
|
|
7255
7303
|
/** 命令行安装确认弹窗:记录待安装的裸目标(npm 包名)——
|
|
7256
7304
|
* 与应用商店同一套确认/进度/结果弹窗,提供时 plugin 传 null 走 customTarget 模式 */
|
|
7257
7305
|
const [confirmCustomTarget, setConfirmCustomTarget] = (0, react.useState)(null);
|
|
@@ -7501,9 +7549,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7501
7549
|
return catalog.installedItems.some((i) => i.name.toLowerCase() === pkg) || Object.keys(catalog.installed).some((k) => k.toLowerCase() === pkg);
|
|
7502
7550
|
};
|
|
7503
7551
|
/** 弹窗动作一:复制安装命令到剪贴板,引导去终端粘贴执行(npm 安装显示包名命令)。 */
|
|
7504
|
-
const copyCommand = async (p) => {
|
|
7552
|
+
const copyCommand = async (p, version) => {
|
|
7505
7553
|
const repo = p.source?.repo ?? "";
|
|
7506
|
-
if (await doCopy(installCommandOf(p))) {
|
|
7554
|
+
if (await doCopy(installCommandOf(p, false, version))) {
|
|
7507
7555
|
setCopied(repo);
|
|
7508
7556
|
setToast({
|
|
7509
7557
|
id: Date.now(),
|
|
@@ -7513,6 +7561,19 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7513
7561
|
}
|
|
7514
7562
|
setConfirmPlugin(null);
|
|
7515
7563
|
};
|
|
7564
|
+
/** 新安装先查「已过 pnpm 供应链门禁」的版本:命令条与执行都钉住它,
|
|
7565
|
+
* 否则 pnpm 会把发布未满 24h 的最新版静默回退成很旧的版本。查不到则不钉,由服务端兜底解析。 */
|
|
7566
|
+
const resolveInstallPin = (p) => {
|
|
7567
|
+
if (p.install?.command !== void 0 && p.install.command !== "") return;
|
|
7568
|
+
const pkg = installTargetOf(p);
|
|
7569
|
+
if (!pkg) return;
|
|
7570
|
+
const seq = ++installPinSeq.current;
|
|
7571
|
+
fetchNpmReleaseAge([pkg]).then((res) => {
|
|
7572
|
+
if (installPinSeq.current !== seq) return;
|
|
7573
|
+
const version = res?.[pkg]?.installable?.version;
|
|
7574
|
+
if (version !== void 0 && version !== "") setConfirmPinVersion(version);
|
|
7575
|
+
});
|
|
7576
|
+
};
|
|
7516
7577
|
/** 卸载弹窗动作:复制卸载命令,万一直接卸载失败可去终端手动执行。
|
|
7517
7578
|
* 自定义安装(无目录数据)按已安装项包名直卸,同样给复制通道。 */
|
|
7518
7579
|
const copyUninstallCommand = async () => {
|
|
@@ -7605,11 +7666,14 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7605
7666
|
copied,
|
|
7606
7667
|
resultText: catalog.plugins === null || catalog.failed ? null : catalog.category === "all" && count === total ? t("pluginsTotal", { n: count }) : t("filterResults", { n: count }),
|
|
7607
7668
|
onInstall: (p, opts) => {
|
|
7669
|
+
const update = opts?.update ?? false;
|
|
7608
7670
|
setInstallDone(false);
|
|
7609
|
-
setConfirmIsUpdate(
|
|
7671
|
+
setConfirmIsUpdate(update);
|
|
7610
7672
|
setConfirmPinVersion(null);
|
|
7673
|
+
++installPinSeq.current;
|
|
7611
7674
|
queue.clearModalTask();
|
|
7612
7675
|
setConfirmPlugin(p);
|
|
7676
|
+
if (!update) resolveInstallPin(p);
|
|
7613
7677
|
},
|
|
7614
7678
|
onUninstall: (p) => {
|
|
7615
7679
|
setUninstallDone(false);
|
|
@@ -7634,6 +7698,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7634
7698
|
setInstallDone(false);
|
|
7635
7699
|
setConfirmIsUpdate(true);
|
|
7636
7700
|
setConfirmPinVersion(null);
|
|
7701
|
+
++installPinSeq.current;
|
|
7637
7702
|
queue.clearModalTask();
|
|
7638
7703
|
setConfirmPlugin(item.plugin);
|
|
7639
7704
|
},
|
|
@@ -7684,7 +7749,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7684
7749
|
openSection: settingsSection,
|
|
7685
7750
|
onConsumedOpenSection: () => setSettingsSection(null)
|
|
7686
7751
|
}), showHubUpdate && (0, react.createElement)(HubUpdateModal, {
|
|
7687
|
-
info: catalog.hubUpdateTarget ?? catalog.hubUpdateInfo ?? { version: "2.3.
|
|
7752
|
+
info: catalog.hubUpdateTarget ?? catalog.hubUpdateInfo ?? { version: "2.3.2" },
|
|
7688
7753
|
state: catalog.hubUpdateState,
|
|
7689
7754
|
currentVersion: catalog.hubCurrentVersion,
|
|
7690
7755
|
lang,
|
|
@@ -7696,6 +7761,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7696
7761
|
setInstallDone(false);
|
|
7697
7762
|
setConfirmIsUpdate(true);
|
|
7698
7763
|
setConfirmPinVersion(catalog.hubUpdateTarget?.version ?? null);
|
|
7764
|
+
++installPinSeq.current;
|
|
7699
7765
|
queue.clearModalTask();
|
|
7700
7766
|
setConfirmPlugin(hubEntry);
|
|
7701
7767
|
}
|
|
@@ -7774,6 +7840,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7774
7840
|
langPath,
|
|
7775
7841
|
restarting,
|
|
7776
7842
|
update: confirmIsUpdate,
|
|
7843
|
+
pinVersion: confirmPinVersion ?? void 0,
|
|
7777
7844
|
cliOnly: confirmPlugin.install?.webInstallable === false || confirmPlugin.install?.manualInstall === true,
|
|
7778
7845
|
submitting: queue.submitting,
|
|
7779
7846
|
needsRestart: installNeedsRestart,
|
|
@@ -7785,11 +7852,11 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7785
7852
|
setInstallBundleDeselected(false);
|
|
7786
7853
|
if (reload) window.location.reload();
|
|
7787
7854
|
},
|
|
7788
|
-
onCopy: () => copyCommand(confirmPlugin),
|
|
7789
|
-
onInstall: () => queue.installNow(confirmPlugin,
|
|
7790
|
-
update:
|
|
7855
|
+
onCopy: () => copyCommand(confirmPlugin, confirmPinVersion ?? void 0),
|
|
7856
|
+
onInstall: () => queue.installNow(confirmPlugin, {
|
|
7857
|
+
update: confirmIsUpdate,
|
|
7791
7858
|
pinVersion: confirmPinVersion ?? void 0
|
|
7792
|
-
}
|
|
7859
|
+
}),
|
|
7793
7860
|
onRestart: () => setShowRestartConfirm(true)
|
|
7794
7861
|
}), confirmCustomTarget && (0, react.createElement)(InstallModal, {
|
|
7795
7862
|
plugin: null,
|