dsh-plugin 1.3.8 → 1.3.10
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 +385 -315
- package/client/client.js.map +1 -1
- package/lib/http/routes.js +29 -1
- package/lib/services/install/task-queue.js +55 -9
- package/lib/types/services/install/install-types.d.ts +4 -0
- package/lib/types/services/install/task-queue.d.ts +5 -0
- package/package.json +1 -1
- package/src/client/components/PluginHubSection.tsx +16 -3
- package/src/client/components/modals/NotificationsModal.tsx +16 -0
- package/src/client/components/modals/modals.tsx +14 -1
- package/src/client/components/views/CustomInstallView.tsx +9 -7
- package/src/client/hooks/useTaskQueue.ts +47 -11
- package/src/client/locales.ts +18 -0
- package/src/client/logic/failures.ts +33 -3
- package/src/client/logic/urls.ts +10 -0
- package/src/client/types.ts +10 -0
- package/src/server/http/routes.ts +28 -1
- package/src/server/services/install/install-types.ts +4 -1
- package/src/server/services/install/task-queue.ts +58 -9
package/client/client.js
CHANGED
|
@@ -290,6 +290,13 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
290
290
|
failNetworkHint: "安装前检测到网络不通:无法连接到安装源(可能是断网、DNS 解析失败、被防火墙拦截,或代理配置有问题)。这不是插件本身的问题 —— 请检查网络连接,或到「设置」里确认 HTTP 代理配置,再到「系统诊断」运行一次连通性检测,然后重试。",
|
|
291
291
|
failNetworkTarget: "无法访问 {url} —— 你的网络连接不通",
|
|
292
292
|
failNetworkRunDiag: "去系统诊断检测网络",
|
|
293
|
+
failDshMissingHint: "系统找不到 dsh 命令(dsh 未加入系统 PATH),无法调用安装器执行安装。请确认 DeepSeek Harness 已正确安装、dsh 已加入 PATH(或重新安装),然后重试。这不是插件本身的问题。",
|
|
294
|
+
failPnpmMissingHint: "安装器找到了 dsh,但系统里没有 pnpm 命令(dsh 用它来管理 profile 插件)。请先安装 pnpm(如 npm install -g pnpm),确认 pnpm 已加入 PATH 后重试。这不是插件本身的问题。",
|
|
295
|
+
failPnpmStoreHint: "安装器调用 pnpm 时报「store 位置不匹配」(ERR_PNPM_UNEXPECTED_STORE):你的 profile 目录里旧插件依赖是用另一个大版本的 pnpm 生成的,当前 pnpm 出于安全不认旧目录,导致任何插件装进该 profile 都会失败。请删除该 profile 目录下的 node_modules 与 pnpm-lock.yaml(可先到「系统日志」或 ~/.dsh/profiles/<profile>/hub.log 查看完整报错),再重新安装。这不是插件本身的问题。",
|
|
296
|
+
installChannelNpm: "NPM 包",
|
|
297
|
+
installChannelGit: "GitHub 源码",
|
|
298
|
+
installChannelDsh: "DSH 命令",
|
|
299
|
+
installEntryLine: "安装入口:{c}。",
|
|
293
300
|
reportIssue: "去插件仓库提交 Issue",
|
|
294
301
|
detail: "打开详情",
|
|
295
302
|
noResult: "没有找到匹配的插件",
|
|
@@ -606,6 +613,13 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
606
613
|
failNetworkHint: "The network could not be reached before install: the install source is unreachable (offline, DNS failure, firewall block, or a misconfigured proxy). This is not a problem with the plugin itself — please check your connection, confirm the HTTP proxy in Settings, run a connectivity check under System Diagnostics, then retry.",
|
|
607
614
|
failNetworkTarget: "Cannot reach {url} — your network connection is down",
|
|
608
615
|
failNetworkRunDiag: "Run a network diagnostic",
|
|
616
|
+
failDshMissingHint: "The dsh command could not be found (it is not on the system PATH), so the installer could not run. Please make sure DeepSeek Harness is installed correctly and dsh is on your PATH (or reinstall it), then retry. This is not a problem with the plugin itself.",
|
|
617
|
+
failPnpmMissingHint: "The installer found dsh, but pnpm is missing on this machine (dsh uses it to manage profile plugins). Please install pnpm first (e.g. npm install -g pnpm), make sure it is on your PATH, then retry. This is not a problem with the plugin itself.",
|
|
618
|
+
failPnpmStoreHint: "pnpm reported an unexpected store location (ERR_PNPM_UNEXPECTED_STORE): the profile directory was previously set up with a different major version of pnpm, and the current pnpm refuses to reuse it — no plugin can be installed into that profile. Delete node_modules and pnpm-lock.yaml under the profile directory (see System Logs or ~/.dsh/profiles/<profile>/hub.log for the full output), then reinstall. This is not a problem with the plugin itself.",
|
|
619
|
+
installChannelNpm: "NPM package",
|
|
620
|
+
installChannelGit: "GitHub source",
|
|
621
|
+
installChannelDsh: "DSH command",
|
|
622
|
+
installEntryLine: "Install entry: {c}.",
|
|
609
623
|
reportIssue: "Report an Issue to the plugin repo",
|
|
610
624
|
detail: "Open details",
|
|
611
625
|
noResult: "No plugins match your search",
|
|
@@ -658,42 +672,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
658
672
|
css: css$11
|
|
659
673
|
});
|
|
660
674
|
var Header_module_css_default = {
|
|
661
|
-
"
|
|
675
|
+
"headerTitleRow": "qikqja_headerTitleRow",
|
|
676
|
+
"tabs": "qikqja_tabs",
|
|
677
|
+
"adText": "qikqja_adText",
|
|
662
678
|
"resultCount": "qikqja_resultCount",
|
|
679
|
+
"logoIcon": "qikqja_logoIcon",
|
|
680
|
+
"tabCount": "qikqja_tabCount",
|
|
681
|
+
"tabActive": "qikqja_tabActive",
|
|
663
682
|
"adBanner": "qikqja_adBanner",
|
|
664
683
|
"segLabel": "qikqja_segLabel",
|
|
665
|
-
"
|
|
666
|
-
"search": "qikqja_search",
|
|
667
|
-
"root": "qikqja_root",
|
|
668
|
-
"headerTitleRow": "qikqja_headerTitleRow",
|
|
669
|
-
"resultSeg": "qikqja_resultSeg",
|
|
670
|
-
"tabCount": "qikqja_tabCount",
|
|
684
|
+
"segGroup": "qikqja_segGroup",
|
|
671
685
|
"githubIcon": "qikqja_githubIcon",
|
|
672
|
-
"
|
|
673
|
-
"segBtn": "qikqja_segBtn",
|
|
674
|
-
"tabs": "qikqja_tabs",
|
|
675
|
-
"versionBtn": "qikqja_versionBtn",
|
|
686
|
+
"tagline": "qikqja_tagline",
|
|
676
687
|
"aboutBtn": "qikqja_aboutBtn",
|
|
677
|
-
"
|
|
678
|
-
"
|
|
679
|
-
"taglineLink": "qikqja_taglineLink",
|
|
680
|
-
"hubUpdateBadge": "qikqja_hubUpdateBadge",
|
|
681
|
-
"copyIcon": "qikqja_copyIcon",
|
|
682
|
-
"segBtnActive": "qikqja_segBtnActive",
|
|
688
|
+
"root": "qikqja_root",
|
|
689
|
+
"versionBtn": "qikqja_versionBtn",
|
|
683
690
|
"searchRow": "qikqja_searchRow",
|
|
684
|
-
"
|
|
685
|
-
"
|
|
686
|
-
"
|
|
691
|
+
"segBtnActive": "qikqja_segBtnActive",
|
|
692
|
+
"version": "qikqja_version",
|
|
693
|
+
"tab": "qikqja_tab",
|
|
694
|
+
"langBtn": "qikqja_langBtn",
|
|
695
|
+
"adArrow": "qikqja_adArrow",
|
|
696
|
+
"headerRight": "qikqja_headerRight",
|
|
687
697
|
"tabsRow": "qikqja_tabsRow",
|
|
688
|
-
"
|
|
698
|
+
"search": "qikqja_search",
|
|
699
|
+
"title": "qikqja_title",
|
|
689
700
|
"header": "qikqja_header",
|
|
690
|
-
"
|
|
701
|
+
"hubUpdateBadge": "qikqja_hubUpdateBadge",
|
|
702
|
+
"controls": "qikqja_controls",
|
|
691
703
|
"brandTitle": "qikqja_brandTitle",
|
|
692
|
-
"
|
|
693
|
-
"
|
|
694
|
-
"
|
|
695
|
-
"
|
|
696
|
-
"
|
|
704
|
+
"resultSeg": "qikqja_resultSeg",
|
|
705
|
+
"segBtn": "qikqja_segBtn",
|
|
706
|
+
"adBadge": "qikqja_adBadge",
|
|
707
|
+
"sortGroup": "qikqja_sortGroup",
|
|
708
|
+
"taglineLink": "qikqja_taglineLink",
|
|
709
|
+
"copyIcon": "qikqja_copyIcon",
|
|
710
|
+
"githubLink": "qikqja_githubLink"
|
|
697
711
|
};
|
|
698
712
|
//#endregion
|
|
699
713
|
//#region \0dsh-css:src/client/styles/Modal.module.css.mjs
|
|
@@ -712,136 +726,136 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
712
726
|
css: css$10
|
|
713
727
|
});
|
|
714
728
|
var Modal_module_css_default = {
|
|
715
|
-
"
|
|
716
|
-
"
|
|
729
|
+
"helpModal": "BiQ1zG_helpModal",
|
|
730
|
+
"aboutModal": "BiQ1zG_aboutModal",
|
|
731
|
+
"noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
|
|
732
|
+
"detailLink": "BiQ1zG_detailLink",
|
|
733
|
+
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
734
|
+
"pendingRowStatus": "BiQ1zG_pendingRowStatus",
|
|
735
|
+
"detailUpdateHint": "BiQ1zG_detailUpdateHint",
|
|
736
|
+
"noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
|
|
737
|
+
"queueRow": "BiQ1zG_queueRow",
|
|
738
|
+
"noticeRowMain": "BiQ1zG_noticeRowMain",
|
|
739
|
+
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
717
740
|
"resultCheckIcon": "BiQ1zG_resultCheckIcon",
|
|
718
|
-
"
|
|
741
|
+
"progressTrack": "BiQ1zG_progressTrack",
|
|
742
|
+
"detailStatusRunning": "BiQ1zG_detailStatusRunning",
|
|
743
|
+
"linkIcon": "BiQ1zG_linkIcon",
|
|
744
|
+
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
719
745
|
"logModal": "BiQ1zG_logModal",
|
|
720
|
-
"
|
|
721
|
-
"
|
|
722
|
-
"
|
|
723
|
-
"
|
|
724
|
-
"
|
|
746
|
+
"modalCmdText": "BiQ1zG_modalCmdText",
|
|
747
|
+
"aboutContent": "BiQ1zG_aboutContent",
|
|
748
|
+
"noticeFoot": "BiQ1zG_noticeFoot",
|
|
749
|
+
"queuedHint": "BiQ1zG_queuedHint",
|
|
750
|
+
"modalInstall": "BiQ1zG_modalInstall",
|
|
751
|
+
"resultDesc": "BiQ1zG_resultDesc",
|
|
752
|
+
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
753
|
+
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
754
|
+
"result": "BiQ1zG_result",
|
|
755
|
+
"modalCmdCopy": "BiQ1zG_modalCmdCopy",
|
|
756
|
+
"modalWide": "BiQ1zG_modalWide",
|
|
757
|
+
"resultCheck": "BiQ1zG_resultCheck",
|
|
725
758
|
"noticeList": "BiQ1zG_noticeList",
|
|
726
|
-
"
|
|
727
|
-
"modalTitleBusy": "BiQ1zG_modalTitleBusy",
|
|
759
|
+
"failEmpty": "BiQ1zG_failEmpty",
|
|
728
760
|
"detailLabel": "BiQ1zG_detailLabel",
|
|
729
|
-
"
|
|
730
|
-
"modalDesc": "BiQ1zG_modalDesc",
|
|
731
|
-
"modalCloseIcon": "BiQ1zG_modalCloseIcon",
|
|
732
|
-
"noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
|
|
761
|
+
"noticeRow": "BiQ1zG_noticeRow",
|
|
733
762
|
"modalLabel": "BiQ1zG_modalLabel",
|
|
734
|
-
"
|
|
735
|
-
"
|
|
736
|
-
"
|
|
737
|
-
"
|
|
738
|
-
"
|
|
763
|
+
"detailValue": "BiQ1zG_detailValue",
|
|
764
|
+
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
765
|
+
"failKindUninstall": "BiQ1zG_failKindUninstall",
|
|
766
|
+
"toastFail": "BiQ1zG_toastFail",
|
|
767
|
+
"detailPath": "BiQ1zG_detailPath",
|
|
768
|
+
"noticeMain": "BiQ1zG_noticeMain",
|
|
769
|
+
"confirmIconWrap": "BiQ1zG_confirmIconWrap",
|
|
739
770
|
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
740
|
-
"
|
|
741
|
-
"
|
|
771
|
+
"restartLater": "BiQ1zG_restartLater",
|
|
772
|
+
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
773
|
+
"modalDesc": "BiQ1zG_modalDesc",
|
|
774
|
+
"hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
|
|
775
|
+
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
776
|
+
"progressFill": "BiQ1zG_progressFill",
|
|
777
|
+
"detailMono": "BiQ1zG_detailMono",
|
|
778
|
+
"detailStars": "BiQ1zG_detailStars",
|
|
779
|
+
"queueRowStatus": "BiQ1zG_queueRowStatus",
|
|
780
|
+
"progress": "BiQ1zG_progress",
|
|
781
|
+
"noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
|
|
782
|
+
"queueRowHead": "BiQ1zG_queueRowHead",
|
|
783
|
+
"errorHint": "BiQ1zG_errorHint",
|
|
784
|
+
"failDiagBtn": "BiQ1zG_failDiagBtn",
|
|
785
|
+
"overlayIn": "BiQ1zG_overlayIn",
|
|
742
786
|
"progressHead": "BiQ1zG_progressHead",
|
|
787
|
+
"failHead": "BiQ1zG_failHead",
|
|
743
788
|
"detailPathBtn": "BiQ1zG_detailPathBtn",
|
|
744
|
-
"progress": "BiQ1zG_progress",
|
|
745
|
-
"hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
|
|
746
|
-
"resultDesc": "BiQ1zG_resultDesc",
|
|
747
789
|
"confirmPrimary": "BiQ1zG_confirmPrimary",
|
|
748
|
-
"
|
|
749
|
-
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
750
|
-
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
751
|
-
"noticeVersion": "BiQ1zG_noticeVersion",
|
|
790
|
+
"modalCopy": "BiQ1zG_modalCopy",
|
|
752
791
|
"modal": "BiQ1zG_modal",
|
|
753
|
-
"
|
|
754
|
-
"
|
|
755
|
-
"
|
|
756
|
-
"modalCancel": "BiQ1zG_modalCancel",
|
|
757
|
-
"result": "BiQ1zG_result",
|
|
758
|
-
"errorTitle": "BiQ1zG_errorTitle",
|
|
759
|
-
"modalCmdText": "BiQ1zG_modalCmdText",
|
|
760
|
-
"progressFill": "BiQ1zG_progressFill",
|
|
761
|
-
"toastIn": "BiQ1zG_toastIn",
|
|
762
|
-
"confirmIconDanger": "BiQ1zG_confirmIconDanger",
|
|
763
|
-
"noticeRow": "BiQ1zG_noticeRow",
|
|
764
|
-
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
765
|
-
"modalIn": "BiQ1zG_modalIn",
|
|
792
|
+
"modalActions": "BiQ1zG_modalActions",
|
|
793
|
+
"resultTitle": "BiQ1zG_resultTitle",
|
|
794
|
+
"errorBox": "BiQ1zG_errorBox",
|
|
766
795
|
"cliOnlyHint": "BiQ1zG_cliOnlyHint",
|
|
767
|
-
"queueRowStatus": "BiQ1zG_queueRowStatus",
|
|
768
|
-
"failEmpty": "BiQ1zG_failEmpty",
|
|
769
|
-
"detailMono": "BiQ1zG_detailMono",
|
|
770
|
-
"stripCancel": "BiQ1zG_stripCancel",
|
|
771
|
-
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
772
|
-
"toastFail": "BiQ1zG_toastFail",
|
|
773
|
-
"resultCheck": "BiQ1zG_resultCheck",
|
|
774
|
-
"helpModal": "BiQ1zG_helpModal",
|
|
775
|
-
"modalCmdCopy": "BiQ1zG_modalCmdCopy",
|
|
776
|
-
"hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
|
|
777
|
-
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
778
|
-
"queueRow": "BiQ1zG_queueRow",
|
|
779
796
|
"confirmIcon": "BiQ1zG_confirmIcon",
|
|
780
|
-
"
|
|
781
|
-
"
|
|
782
|
-
"
|
|
783
|
-
"
|
|
797
|
+
"detailModal": "BiQ1zG_detailModal",
|
|
798
|
+
"modalTitleQueued": "BiQ1zG_modalTitleQueued",
|
|
799
|
+
"modalHead": "BiQ1zG_modalHead",
|
|
800
|
+
"failCopy": "BiQ1zG_failCopy",
|
|
801
|
+
"modalIn": "BiQ1zG_modalIn",
|
|
802
|
+
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
803
|
+
"modalLink": "BiQ1zG_modalLink",
|
|
804
|
+
"noticeVersion": "BiQ1zG_noticeVersion",
|
|
805
|
+
"failList": "BiQ1zG_failList",
|
|
806
|
+
"failRepo": "BiQ1zG_failRepo",
|
|
807
|
+
"trustHint": "BiQ1zG_trustHint",
|
|
808
|
+
"detailPathActions": "BiQ1zG_detailPathActions",
|
|
809
|
+
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
810
|
+
"modalTitleBusy": "BiQ1zG_modalTitleBusy",
|
|
811
|
+
"restartNow": "BiQ1zG_restartNow",
|
|
812
|
+
"errorTitle": "BiQ1zG_errorTitle",
|
|
784
813
|
"aboutMeta": "BiQ1zG_aboutMeta",
|
|
785
|
-
"
|
|
786
|
-
"
|
|
787
|
-
"
|
|
788
|
-
"failClear": "BiQ1zG_failClear",
|
|
789
|
-
"errorHint": "BiQ1zG_errorHint",
|
|
790
|
-
"modalValue": "BiQ1zG_modalValue",
|
|
791
|
-
"toast": "BiQ1zG_toast",
|
|
814
|
+
"noticeTime": "BiQ1zG_noticeTime",
|
|
815
|
+
"noticeTextOk": "BiQ1zG_noticeTextOk",
|
|
816
|
+
"progressFillFail": "BiQ1zG_progressFillFail",
|
|
792
817
|
"queueRowDesc": "BiQ1zG_queueRowDesc",
|
|
793
|
-
"
|
|
794
|
-
"
|
|
818
|
+
"failRow": "BiQ1zG_failRow",
|
|
819
|
+
"pendingRowActions": "BiQ1zG_pendingRowActions",
|
|
795
820
|
"errorModal": "BiQ1zG_errorModal",
|
|
796
|
-
"
|
|
821
|
+
"detailArrow": "BiQ1zG_detailArrow",
|
|
822
|
+
"modalCancel": "BiQ1zG_modalCancel",
|
|
823
|
+
"restartNowWarning": "BiQ1zG_restartNowWarning",
|
|
824
|
+
"modalCloseIcon": "BiQ1zG_modalCloseIcon",
|
|
825
|
+
"toastIn": "BiQ1zG_toastIn",
|
|
826
|
+
"hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
|
|
827
|
+
"detailGrid": "BiQ1zG_detailGrid",
|
|
828
|
+
"failClear": "BiQ1zG_failClear",
|
|
829
|
+
"overlay": "BiQ1zG_overlay",
|
|
830
|
+
"modalValue": "BiQ1zG_modalValue",
|
|
831
|
+
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
797
832
|
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
798
|
-
"errorBox": "BiQ1zG_errorBox",
|
|
799
833
|
"queueSection": "BiQ1zG_queueSection",
|
|
800
|
-
"
|
|
801
|
-
"
|
|
802
|
-
"
|
|
834
|
+
"failKind": "BiQ1zG_failKind",
|
|
835
|
+
"modalClose": "BiQ1zG_modalClose",
|
|
836
|
+
"modalBody": "BiQ1zG_modalBody",
|
|
837
|
+
"queueRowPct": "BiQ1zG_queueRowPct",
|
|
838
|
+
"toast": "BiQ1zG_toast",
|
|
839
|
+
"hubUpdateModal": "BiQ1zG_hubUpdateModal",
|
|
803
840
|
"failPrepareHint": "BiQ1zG_failPrepareHint",
|
|
841
|
+
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
804
842
|
"noticeHead": "BiQ1zG_noticeHead",
|
|
805
|
-
"
|
|
806
|
-
"resultTitle": "BiQ1zG_resultTitle",
|
|
807
|
-
"noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
|
|
808
|
-
"progressTrack": "BiQ1zG_progressTrack",
|
|
809
|
-
"failKind": "BiQ1zG_failKind",
|
|
810
|
-
"detailPath": "BiQ1zG_detailPath",
|
|
811
|
-
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
843
|
+
"detailRow": "BiQ1zG_detailRow",
|
|
812
844
|
"detailDim": "BiQ1zG_detailDim",
|
|
813
|
-
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
814
|
-
"modalInstall": "BiQ1zG_modalInstall",
|
|
815
|
-
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
816
|
-
"queueRowPct": "BiQ1zG_queueRowPct",
|
|
817
|
-
"overlay": "BiQ1zG_overlay",
|
|
818
|
-
"uninstallConfirm": "BiQ1zG_uninstallConfirm",
|
|
819
|
-
"confirmIconWrap": "BiQ1zG_confirmIconWrap",
|
|
820
|
-
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
821
|
-
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
822
|
-
"detailArrow": "BiQ1zG_detailArrow",
|
|
823
|
-
"detailLink": "BiQ1zG_detailLink",
|
|
824
|
-
"detailValue": "BiQ1zG_detailValue",
|
|
825
|
-
"detailModal": "BiQ1zG_detailModal",
|
|
826
845
|
"modalCmd": "BiQ1zG_modalCmd",
|
|
827
|
-
"
|
|
828
|
-
"
|
|
829
|
-
"
|
|
830
|
-
"
|
|
831
|
-
"
|
|
832
|
-
"overlayIn": "BiQ1zG_overlayIn",
|
|
833
|
-
"restartNow": "BiQ1zG_restartNow",
|
|
834
|
-
"failRow": "BiQ1zG_failRow",
|
|
846
|
+
"uninstallConfirm": "BiQ1zG_uninstallConfirm",
|
|
847
|
+
"detailPathText": "BiQ1zG_detailPathText",
|
|
848
|
+
"stripCancel": "BiQ1zG_stripCancel",
|
|
849
|
+
"failKindInstall": "BiQ1zG_failKindInstall",
|
|
850
|
+
"resultRestarting": "BiQ1zG_resultRestarting",
|
|
835
851
|
"modalTitle": "BiQ1zG_modalTitle",
|
|
836
|
-
"
|
|
837
|
-
"
|
|
838
|
-
"
|
|
839
|
-
"
|
|
840
|
-
"
|
|
841
|
-
"
|
|
842
|
-
"
|
|
843
|
-
"failKindUninstall": "BiQ1zG_failKindUninstall",
|
|
844
|
-
"queueRowHead": "BiQ1zG_queueRowHead"
|
|
852
|
+
"noticeTextFail": "BiQ1zG_noticeTextFail",
|
|
853
|
+
"hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
|
|
854
|
+
"progressText": "BiQ1zG_progressText",
|
|
855
|
+
"queueSectionTitle": "BiQ1zG_queueSectionTitle",
|
|
856
|
+
"detailStatusText": "BiQ1zG_detailStatusText",
|
|
857
|
+
"modalRow": "BiQ1zG_modalRow",
|
|
858
|
+
"confirmIconDanger": "BiQ1zG_confirmIconDanger"
|
|
845
859
|
};
|
|
846
860
|
//#endregion
|
|
847
861
|
//#region src/client/logic/install-command.ts
|
|
@@ -911,7 +925,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
911
925
|
* tsdown 构建时用 define 把 __PLUGIN_VERSION__ 替换成 package.json 的版本号;
|
|
912
926
|
* node --test 直接 import 本模块时该标识符不存在,typeof 守卫兜底为空串。
|
|
913
927
|
*/
|
|
914
|
-
const PLUGIN_VERSION = "1.3.
|
|
928
|
+
const PLUGIN_VERSION = "1.3.10";
|
|
915
929
|
const CATEGORY_ORDER = [
|
|
916
930
|
"interface",
|
|
917
931
|
"session",
|
|
@@ -1544,7 +1558,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1544
1558
|
*/
|
|
1545
1559
|
const hubHasUpdate = (() => {
|
|
1546
1560
|
if (!hubUpdateInfo) return false;
|
|
1547
|
-
return hubUpdateInfo.version !== "1.3.
|
|
1561
|
+
return hubUpdateInfo.version !== "1.3.10";
|
|
1548
1562
|
})();
|
|
1549
1563
|
(0, react.useMemo)(() => {
|
|
1550
1564
|
if (!plugins) return [];
|
|
@@ -1723,12 +1737,23 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1723
1737
|
return next;
|
|
1724
1738
|
}
|
|
1725
1739
|
/**
|
|
1726
|
-
*
|
|
1740
|
+
* 失败归类,七态。无论底层机制如何(pnpm 白名单拦截 / 构建脚本被忽略 / prepare 失败),
|
|
1727
1741
|
* 对用户而言结果都一样 —— 当前安装通道(npm 或 git)装不上,就是插件分发/依赖的问题,
|
|
1728
|
-
* 一律引导提 Issue
|
|
1742
|
+
* 一律引导提 Issue;唯一的例外是本机环境问题(npm 版本过低 / 找不到 dsh / 找不到 pnpm / 网络不通):
|
|
1729
1743
|
* - npmTooOld:失败输出含 npm arborist 的 `edgesOut` 崩溃特征(build-ideal-tree.js 解 peer 依赖时
|
|
1730
1744
|
* 内部抛错,npm 11.6.0 前必现的已知缺陷,npm/cli#8261、#9787),或服务端已核实本机版本低于
|
|
1731
1745
|
* 阈值并打了 `[npm-too-low]` 标记 —— 是本机 npm 版本过低/自身缺陷,不是插件问题 → 引导升级 npm
|
|
1746
|
+
* - dshMissing:安装器 spawn 的 `dsh` 命令找不到(Windows cmd「不是内部或外部命令」/ POSIX
|
|
1747
|
+
* 「command not found」/ spawn ENOENT)—— 是本机 DSH 未正确安装或不在 PATH,不是插件问题
|
|
1748
|
+
* → 提示检查 PATH/重装 DSH,不引导提 Issue
|
|
1749
|
+
* - pnpmMissing:dsh 存在但调用的 `pnpm` 找不到(dsh 报 `pnpm not found on PATH`/POSIX
|
|
1750
|
+
* 「pnpm: command not found」/ spawn ENOENT)—— 本机缺 pnpm(dsh 用 pnpm 管理 profile 插件),
|
|
1751
|
+
* 不是插件问题(dsh-plugin-hub#13:Linux 下 `dsh: pnpm not found on PATH` 被误归插件侧失败)
|
|
1752
|
+
* → 提示安装/开启 pnpm,不引导提 Issue
|
|
1753
|
+
* - pnpmStore:pnpm 存在但报 store 位置不匹配(`ERR_PNPM_UNEXPECTED_STORE` / `Unexpected store
|
|
1754
|
+
* location`)—— profile 目录的 node_modules 是用不同大版本的 pnpm 生成的,当前 pnpm 不认,
|
|
1755
|
+
* 任何插件装进该 profile 都会失败;不是插件问题(dsh-plugin-hub#14:macOS 下
|
|
1756
|
+
* `ERR_PNPM_UNEXPECTED_STORE` 被误归插件侧失败)→ 提示清理 profile 依赖目录重建,不引导提 Issue
|
|
1732
1757
|
* - network:安装前连通性预检拦截(服务端 `[network]` 标记)或底层连接失败
|
|
1733
1758
|
* (ERR_PNPM_GIT_FETCH_FAILED / ETIMEDOUT / DNS 解析 / TLS 握手 / 代理拒绝)——
|
|
1734
1759
|
* 是本机网络不通/被墙/代理有问题,不是插件问题 → 提示检查网络,不引导提 Issue
|
|
@@ -1742,6 +1767,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1742
1767
|
*/
|
|
1743
1768
|
function classifyFailure(message) {
|
|
1744
1769
|
if (/\[npm-too-low\]|edgesOut/i.test(message)) return "npmTooOld";
|
|
1770
|
+
if (/\[pnpm-missing\]|pnpm not found|pnpm: command not found|spawn pnpm ENOENT|'pnpm' 不是内部或外部命令|"pnpm" 不是内部或外部命令|pnpm['"]?\s*is not recognized/i.test(message)) return "pnpmMissing";
|
|
1771
|
+
if (/\[dsh-missing\]|不是内部或外部命令|is not recognized as an internal or external command|command not found|spawn dsh ENOENT/i.test(message)) return "dshMissing";
|
|
1772
|
+
if (/ERR_PNPM_UNEXPECTED_STORE|Unexpected store location/i.test(message)) return "pnpmStore";
|
|
1745
1773
|
if (/ERR_PNPM_IGNORED_BUILDS|Ignored build scripts:|ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED/i.test(message)) return "pnpmIgnoredBuild";
|
|
1746
1774
|
if (/\[network\]|ERR_PNPM_GIT_FETCH_FAILED|ETIMEDOUT|ECONNREFUSED|ECONNRESET|ENOTFOUND|EAI_AGAIN|EPIPE|EHOSTUNREACH|ENETUNREACH|getaddrinfo|Could not connect|Could not resolve host|Network unreachable|Failed to connect|socket hang up|CERT_HAS_EXPIRED|SSL certificate problem|\bTLS\b|\bSSL\b/i.test(message)) return "network";
|
|
1747
1775
|
if (/\[packaging\]|entry file missing/i.test(message)) return "pluginPrepare";
|
|
@@ -1834,6 +1862,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1834
1862
|
function reasonTitleOf(kind) {
|
|
1835
1863
|
switch (kind) {
|
|
1836
1864
|
case "npmTooOld": return "npm too old to install";
|
|
1865
|
+
case "dshMissing": return "dsh command not found on the user machine";
|
|
1866
|
+
case "pnpmMissing": return "pnpm command not found on the user machine";
|
|
1867
|
+
case "pnpmStore": return "pnpm store version mismatch on the user machine";
|
|
1837
1868
|
case "pnpmIgnoredBuild": return "build scripts blocked by pnpm allowlist";
|
|
1838
1869
|
case "pluginPrepare": return "plugin distribution incomplete";
|
|
1839
1870
|
case "network": return "network failure on the user side";
|
|
@@ -1881,9 +1912,13 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1881
1912
|
`- DSH: ${env.dshVersion ? `v${env.dshVersion}` : "unknown"}`,
|
|
1882
1913
|
`- Plugin Hub: v${PLUGIN_VERSION}`,
|
|
1883
1914
|
`- Node: ${env.nodeVersion}`,
|
|
1915
|
+
`- pnpm: ${env.pnpmVersion ? `v${env.pnpmVersion}` : "unknown"}`,
|
|
1916
|
+
`- npm: ${env.npmVersion ? `v${env.npmVersion}` : "unknown"}`,
|
|
1917
|
+
`- git: ${env.gitVersion ? `v${env.gitVersion}` : "unknown"}`,
|
|
1884
1918
|
`- OS: ${env.platform} ${env.arch} (${env.release})`,
|
|
1885
1919
|
`- Profile: \`${env.profile}\``,
|
|
1886
|
-
`- DSH Home: \`${env.dshHome}
|
|
1920
|
+
`- DSH Home: \`${env.dshHome}\``,
|
|
1921
|
+
`- Full log: \`~/.dsh/profiles/${env.profile}/hub.log\` (paste or attach for the full output)`
|
|
1887
1922
|
] : [],
|
|
1888
1923
|
`- Catalog: [${pluginSiteUrl(repo)}](${pluginSiteUrl(repo)})`,
|
|
1889
1924
|
"",
|
|
@@ -2035,6 +2070,11 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2035
2070
|
/** 安装/卸载请求超时(ms):服务端 preflight + npm 反查可能耗时(各自都有超时,合计约 20~30s),
|
|
2036
2071
|
* 给足余量;超时主动中止,避免服务端 preflight 网络挂起时前端永久卡「安装中 0%」。 */
|
|
2037
2072
|
const REQUEST_TIMEOUT_MS = 6e4;
|
|
2073
|
+
/** 入口渠道的 i18n key:NPM 包 / GitHub 源码 / DSH 命令。 */
|
|
2074
|
+
const channelKeyOf = (channel) => channel === "git" ? "installChannelGit" : channel === "dsh" ? "installChannelDsh" : "installChannelNpm";
|
|
2075
|
+
/** 失败消息的入口溯源前缀:自定义安装(带渠道)在错误正文顶部精准指出从哪张卡片发起;
|
|
2076
|
+
* 目录插件安装(无渠道)返回 null,错误正文保持原样。 */
|
|
2077
|
+
const entryLineOf = (t, channel) => channel ? t("installEntryLine", { c: t(channelKeyOf(channel)) }) : null;
|
|
2038
2078
|
function useTaskQueue(opts) {
|
|
2039
2079
|
const { t, langKey, refreshInstalled, onInstallDone, onUninstallDone, onError, installPlugin, installCustomTarget, installGlobalTarget, uninstallPlugin, uninstallName, installedName, resolvePending } = opts;
|
|
2040
2080
|
const [queue, setQueue] = (0, react.useState)([]);
|
|
@@ -2148,8 +2188,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2148
2188
|
onInstallDone(modalTaskRef.current === q.id, q.repo, q.needsRestart, q.action === "update");
|
|
2149
2189
|
}
|
|
2150
2190
|
} else {
|
|
2151
|
-
const
|
|
2152
|
-
|
|
2191
|
+
const rawDetail = lines.length > 0 ? [...lines].reverse().join("\n") : q.kind === "uninstall" ? t("uninstallFail") : t("installFail");
|
|
2192
|
+
const entry = entryLineOf(t, q.channel);
|
|
2193
|
+
onError(entry ? `${entry}\n${rawDetail}` : rawDetail, q.repo, q.kind, q.command, q.attempts, q.action === "update");
|
|
2153
2194
|
}
|
|
2154
2195
|
maybeStopPoll();
|
|
2155
2196
|
};
|
|
@@ -2247,7 +2288,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2247
2288
|
progress: typeof a.progress === "number" ? a.progress : prevTask?.progress ?? 0,
|
|
2248
2289
|
lines: Array.isArray(a.lines) ? a.lines : prevTask?.lines ?? [],
|
|
2249
2290
|
attempts: Array.isArray(a.attempts) ? a.attempts : prevTask?.attempts ?? [],
|
|
2250
|
-
needsRestart: typeof a.needsRestart === "boolean" ? a.needsRestart : prevTask?.needsRestart ?? true
|
|
2291
|
+
needsRestart: typeof a.needsRestart === "boolean" ? a.needsRestart : prevTask?.needsRestart ?? true,
|
|
2292
|
+
channel: a.installChannel === "npm" || a.installChannel === "git" || a.installChannel === "dsh" ? a.installChannel : prevTask?.channel
|
|
2251
2293
|
});
|
|
2252
2294
|
}
|
|
2253
2295
|
const keepOpt = prev.filter((q) => q.optimistic && !next.some((x) => x.id === q.id));
|
|
@@ -2292,7 +2334,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2292
2334
|
progress: typeof a.progress === "number" ? a.progress : 0,
|
|
2293
2335
|
lines: Array.isArray(a.lines) ? a.lines : [],
|
|
2294
2336
|
attempts: Array.isArray(a.attempts) ? a.attempts : [],
|
|
2295
|
-
needsRestart: typeof a.needsRestart === "boolean" ? a.needsRestart : true
|
|
2337
|
+
needsRestart: typeof a.needsRestart === "boolean" ? a.needsRestart : true,
|
|
2338
|
+
channel: a.installChannel === "npm" || a.installChannel === "git" || a.installChannel === "dsh" ? a.installChannel : void 0
|
|
2296
2339
|
};
|
|
2297
2340
|
});
|
|
2298
2341
|
if (items.length > 0 || pendingRef.current.length > 0) {
|
|
@@ -2330,6 +2373,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2330
2373
|
lines: [],
|
|
2331
2374
|
optimistic: true,
|
|
2332
2375
|
command: input.command,
|
|
2376
|
+
channel: input.channel,
|
|
2333
2377
|
action: input.update ? "update" : "add",
|
|
2334
2378
|
attempts: [],
|
|
2335
2379
|
needsRestart: true
|
|
@@ -2347,6 +2391,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2347
2391
|
source: input.source,
|
|
2348
2392
|
mode: input.update ? "update" : void 0,
|
|
2349
2393
|
...langKey ? { lang: langKey } : {},
|
|
2394
|
+
...input.channel ? { installChannel: input.channel } : {},
|
|
2350
2395
|
...input.globalNpm && input.globalNpm.length > 0 ? { globalNpm: input.globalNpm } : {}
|
|
2351
2396
|
}),
|
|
2352
2397
|
signal: controller.signal
|
|
@@ -2354,7 +2399,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2354
2399
|
const data = await res.json();
|
|
2355
2400
|
if (!data.ok || typeof data.task !== "number") {
|
|
2356
2401
|
applyQueue((prev) => prev.filter((x) => x.id !== tempId));
|
|
2357
|
-
|
|
2402
|
+
const entry = entryLineOf(t, input.channel);
|
|
2403
|
+
const msg = data.error || `HTTP ${res.status}`;
|
|
2404
|
+
onError(entry ? `${entry}\n${msg}` : msg, input.repo, "install", input.command, data.attempts);
|
|
2358
2405
|
return;
|
|
2359
2406
|
}
|
|
2360
2407
|
const taskId = data.task;
|
|
@@ -2372,7 +2419,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2372
2419
|
} catch (err) {
|
|
2373
2420
|
applyQueue((prev) => prev.filter((x) => x.id !== tempId));
|
|
2374
2421
|
const reason = err?.name === "AbortError" ? t("requestTimeout") : err instanceof Error && err.message ? err.message : String(err ?? "");
|
|
2375
|
-
|
|
2422
|
+
const entry = entryLineOf(t, input.channel);
|
|
2423
|
+
const msg = reason ? `${t("installFail")} — ${reason}` : t("installFail");
|
|
2424
|
+
onError(entry ? `${entry}\n${msg}` : msg, input.repo, "install", input.command);
|
|
2376
2425
|
} finally {
|
|
2377
2426
|
window.clearTimeout(timeout);
|
|
2378
2427
|
submittingRef.current.delete(input.repo);
|
|
@@ -2398,6 +2447,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2398
2447
|
};
|
|
2399
2448
|
/** 命令行安装:用户手输 npm 包名或 GitHub 地址,走 custom 源(受安全开关控制)。
|
|
2400
2449
|
* update=true 时对已安装目标放行覆盖重装(与目录插件「更新」同一语义)。
|
|
2450
|
+
* channel=入口渠道(NPM 包 / GitHub 源码 / DSH 命令卡片):上报服务端落日志,
|
|
2451
|
+
* 失败弹窗/通知据此精准溯源。
|
|
2401
2452
|
* 队列展示/防重一律用归一化身份(owner/repo 或 npm 包名):与服务端 /active 合并、
|
|
2402
2453
|
* 弹窗目标匹配同口径,npm 包名透传不受影响。 */
|
|
2403
2454
|
const installCustom = async (raw, opts) => {
|
|
@@ -2409,11 +2460,12 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2409
2460
|
repo,
|
|
2410
2461
|
command: `pnpm add ${target}`,
|
|
2411
2462
|
source: "custom",
|
|
2412
|
-
update: opts?.update
|
|
2463
|
+
update: opts?.update,
|
|
2464
|
+
channel: opts?.channel
|
|
2413
2465
|
});
|
|
2414
2466
|
};
|
|
2415
2467
|
/** 全局 npm 安装(官方 README 的 `npm install -g <pkgs>`):不进任何 profile、无需宿主重启。
|
|
2416
|
-
* 队列展示/防重用包列表空格拼接的身份(与服务端 target
|
|
2468
|
+
* 队列展示/防重用包列表空格拼接的身份(与服务端 target 同口径);入口渠道固定为 npm(NPM 包卡片)。 */
|
|
2417
2469
|
const installGlobalNpm = async (pkgs, opts) => {
|
|
2418
2470
|
const list = (pkgs ?? []).map((p) => p.trim()).filter((p) => p !== "");
|
|
2419
2471
|
if (list.length === 0) return;
|
|
@@ -2424,7 +2476,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2424
2476
|
command: `npm install -g ${identity}`,
|
|
2425
2477
|
source: "custom",
|
|
2426
2478
|
globalNpm: list,
|
|
2427
|
-
update: opts?.update
|
|
2479
|
+
update: opts?.update,
|
|
2480
|
+
channel: opts?.channel ?? "npm"
|
|
2428
2481
|
});
|
|
2429
2482
|
};
|
|
2430
2483
|
/** 卸载入队核心:按 npm 包名直卸(目录插件与自定义安装共用,弹窗进度匹配同源)。 */
|
|
@@ -3212,7 +3265,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3212
3265
|
}, repo) : null, (0, react.createElement)("button", {
|
|
3213
3266
|
className: Modal_module_css_default.errorCopySoft,
|
|
3214
3267
|
onClick: () => onCopy(copyText)
|
|
3215
|
-
}, t("errorCopy"))), (0, react.createElement)("pre", { className: Modal_module_css_default.errorBox }, message), failureKind === "npmTooOld" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t(npmVersion ? "failNpmTooLowV" : "failNpmTooLow", npmVersion ? { v: npmVersion } : void 0)) : failureKind === "network" ? (0, react.createElement)("div", null, [
|
|
3268
|
+
}, t("errorCopy"))), (0, react.createElement)("pre", { className: Modal_module_css_default.errorBox }, message), failureKind === "npmTooOld" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t(npmVersion ? "failNpmTooLowV" : "failNpmTooLow", npmVersion ? { v: npmVersion } : void 0)) : failureKind === "dshMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failDshMissingHint")) : failureKind === "pnpmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmMissingHint")) : failureKind === "pnpmStore" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmStoreHint")) : failureKind === "network" ? (0, react.createElement)("div", null, [
|
|
3216
3269
|
(() => {
|
|
3217
3270
|
const target = unreachableTargetOf(message);
|
|
3218
3271
|
return target ? (0, react.createElement)("div", { className: Modal_module_css_default.failNetworkTarget }, t("failNetworkTarget", { url: target })) : null;
|
|
@@ -3763,6 +3816,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3763
3816
|
const v = npmTooLowVersion(r.message);
|
|
3764
3817
|
return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t(v ? "failNpmTooLowV" : "failNpmTooLow", v ? { v } : void 0));
|
|
3765
3818
|
}
|
|
3819
|
+
if (kind === "dshMissing") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failDshMissingHint"));
|
|
3820
|
+
if (kind === "pnpmMissing") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmMissingHint"));
|
|
3821
|
+
if (kind === "pnpmStore") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmStoreHint"));
|
|
3766
3822
|
if (kind === "network") return (0, react.createElement)("div", null, [
|
|
3767
3823
|
(() => {
|
|
3768
3824
|
const target = unreachableTargetOf(r.message);
|
|
@@ -3968,40 +4024,40 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3968
4024
|
css: css$9
|
|
3969
4025
|
});
|
|
3970
4026
|
var List_module_css_default = {
|
|
3971
|
-
"
|
|
3972
|
-
"fork": "_3XaZHa_fork",
|
|
3973
|
-
"installBtn": "_3XaZHa_installBtn",
|
|
4027
|
+
"date": "_3XaZHa_date",
|
|
3974
4028
|
"retryBtn": "_3XaZHa_retryBtn",
|
|
3975
4029
|
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
3976
|
-
"
|
|
4030
|
+
"installBtn": "_3XaZHa_installBtn",
|
|
3977
4031
|
"state": "_3XaZHa_state",
|
|
3978
|
-
"
|
|
4032
|
+
"stateTitle": "_3XaZHa_stateTitle",
|
|
3979
4033
|
"cardMain": "_3XaZHa_cardMain",
|
|
3980
|
-
"
|
|
4034
|
+
"stats": "_3XaZHa_stats",
|
|
3981
4035
|
"topics": "_3XaZHa_topics",
|
|
3982
|
-
"
|
|
3983
|
-
"cardHead": "_3XaZHa_cardHead",
|
|
3984
|
-
"stateActions": "_3XaZHa_stateActions",
|
|
3985
|
-
"footer": "_3XaZHa_footer",
|
|
3986
|
-
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
3987
|
-
"actions": "_3XaZHa_actions",
|
|
3988
|
-
"list": "_3XaZHa_list",
|
|
3989
|
-
"stateTitle": "_3XaZHa_stateTitle",
|
|
4036
|
+
"body": "_3XaZHa_body",
|
|
3990
4037
|
"updateBadge": "_3XaZHa_updateBadge",
|
|
3991
|
-
"topic": "_3XaZHa_topic",
|
|
3992
|
-
"star": "_3XaZHa_star",
|
|
3993
|
-
"stateDesc": "_3XaZHa_stateDesc",
|
|
3994
|
-
"verified": "_3XaZHa_verified",
|
|
3995
|
-
"stats": "_3XaZHa_stats",
|
|
3996
|
-
"date": "_3XaZHa_date",
|
|
3997
4038
|
"card": "_3XaZHa_card",
|
|
3998
|
-
"
|
|
3999
|
-
"
|
|
4039
|
+
"installBtnCopied": "_3XaZHa_installBtnCopied",
|
|
4040
|
+
"diagBtn": "_3XaZHa_diagBtn",
|
|
4041
|
+
"desc": "_3XaZHa_desc",
|
|
4042
|
+
"verified": "_3XaZHa_verified",
|
|
4043
|
+
"list": "_3XaZHa_list",
|
|
4000
4044
|
"footLink": "_3XaZHa_footLink",
|
|
4001
|
-
"
|
|
4045
|
+
"star": "_3XaZHa_star",
|
|
4046
|
+
"topic": "_3XaZHa_topic",
|
|
4047
|
+
"cardSide": "_3XaZHa_cardSide",
|
|
4048
|
+
"installBtnInstalled": "_3XaZHa_installBtnInstalled",
|
|
4002
4049
|
"moreSentinel": "_3XaZHa_moreSentinel",
|
|
4050
|
+
"cardHead": "_3XaZHa_cardHead",
|
|
4051
|
+
"footer": "_3XaZHa_footer",
|
|
4052
|
+
"stateDesc": "_3XaZHa_stateDesc",
|
|
4003
4053
|
"versionBadge": "_3XaZHa_versionBadge",
|
|
4004
|
-
"
|
|
4054
|
+
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
4055
|
+
"stateActions": "_3XaZHa_stateActions",
|
|
4056
|
+
"detailBtn": "_3XaZHa_detailBtn",
|
|
4057
|
+
"actions": "_3XaZHa_actions",
|
|
4058
|
+
"categoryBadge": "_3XaZHa_categoryBadge",
|
|
4059
|
+
"fork": "_3XaZHa_fork",
|
|
4060
|
+
"cardTitle": "_3XaZHa_cardTitle"
|
|
4005
4061
|
};
|
|
4006
4062
|
//#endregion
|
|
4007
4063
|
//#region src/client/hooks/useIncrementalList.ts
|
|
@@ -4209,14 +4265,14 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4209
4265
|
});
|
|
4210
4266
|
var SectionTabs_module_css_default = {
|
|
4211
4267
|
"tabCountActive": "_7tvizq_tabCountActive",
|
|
4212
|
-
"tabActive": "_7tvizq_tabActive",
|
|
4213
|
-
"noticeIcon": "_7tvizq_noticeIcon",
|
|
4214
|
-
"tabIcon": "_7tvizq_tabIcon",
|
|
4215
4268
|
"noticeBtn": "_7tvizq_noticeBtn",
|
|
4216
|
-
"
|
|
4269
|
+
"tab": "_7tvizq_tab",
|
|
4270
|
+
"tabIcon": "_7tvizq_tabIcon",
|
|
4217
4271
|
"root": "_7tvizq_root",
|
|
4272
|
+
"tabActive": "_7tvizq_tabActive",
|
|
4218
4273
|
"tabCount": "_7tvizq_tabCount",
|
|
4219
|
-
"
|
|
4274
|
+
"noticeIcon": "_7tvizq_noticeIcon",
|
|
4275
|
+
"noticeCount": "_7tvizq_noticeCount"
|
|
4220
4276
|
};
|
|
4221
4277
|
//#endregion
|
|
4222
4278
|
//#region src/client/components/layout/SectionTabs.tsx
|
|
@@ -4293,42 +4349,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4293
4349
|
css: css$7
|
|
4294
4350
|
});
|
|
4295
4351
|
var InstalledView_module_css_default = {
|
|
4296
|
-
"
|
|
4297
|
-
"
|
|
4298
|
-
"rowMain": "_1nXeGW_rowMain",
|
|
4299
|
-
"exampleBadge": "_1nXeGW_exampleBadge",
|
|
4352
|
+
"toolbar": "_1nXeGW_toolbar",
|
|
4353
|
+
"segBtnActive": "_1nXeGW_segBtnActive",
|
|
4300
4354
|
"emptyTitle": "_1nXeGW_emptyTitle",
|
|
4301
|
-
"
|
|
4302
|
-
"
|
|
4355
|
+
"rowDesc": "_1nXeGW_rowDesc",
|
|
4356
|
+
"statusInactive": "_1nXeGW_statusInactive",
|
|
4357
|
+
"exampleRow": "_1nXeGW_exampleRow",
|
|
4358
|
+
"rowCategory": "_1nXeGW_rowCategory",
|
|
4359
|
+
"rowActions": "_1nXeGW_rowActions",
|
|
4360
|
+
"rowUpdate": "_1nXeGW_rowUpdate",
|
|
4361
|
+
"versionBadge": "_1nXeGW_versionBadge",
|
|
4362
|
+
"updateBadge": "_1nXeGW_updateBadge",
|
|
4303
4363
|
"root": "_1nXeGW_root",
|
|
4304
|
-
"rowRepo": "_1nXeGW_rowRepo",
|
|
4305
|
-
"rowRestart": "_1nXeGW_rowRestart",
|
|
4306
|
-
"emptyDesc": "_1nXeGW_emptyDesc",
|
|
4307
4364
|
"row": "_1nXeGW_row",
|
|
4308
|
-
"
|
|
4309
|
-
"rowUninstall": "_1nXeGW_rowUninstall",
|
|
4310
|
-
"searchInput": "_1nXeGW_searchInput",
|
|
4311
|
-
"versionBadge": "_1nXeGW_versionBadge",
|
|
4312
|
-
"rowUpdate": "_1nXeGW_rowUpdate",
|
|
4313
|
-
"exampleRow": "_1nXeGW_exampleRow",
|
|
4314
|
-
"searchWrap": "_1nXeGW_searchWrap",
|
|
4315
|
-
"segLabel": "_1nXeGW_segLabel",
|
|
4365
|
+
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
4316
4366
|
"rowMeta": "_1nXeGW_rowMeta",
|
|
4317
|
-
"toolbar": "_1nXeGW_toolbar",
|
|
4318
|
-
"updateBadge": "_1nXeGW_updateBadge",
|
|
4319
|
-
"rowActions": "_1nXeGW_rowActions",
|
|
4320
|
-
"segBtnActive": "_1nXeGW_segBtnActive",
|
|
4321
4367
|
"statusPending": "_1nXeGW_statusPending",
|
|
4322
|
-
"segRow": "_1nXeGW_segRow",
|
|
4323
|
-
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
4324
|
-
"rowTitleLine": "_1nXeGW_rowTitleLine",
|
|
4325
|
-
"empty": "_1nXeGW_empty",
|
|
4326
|
-
"rowDesc": "_1nXeGW_rowDesc",
|
|
4327
|
-
"statusInactive": "_1nXeGW_statusInactive",
|
|
4328
4368
|
"rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
|
|
4329
|
-
"
|
|
4369
|
+
"rowDetail": "_1nXeGW_rowDetail",
|
|
4370
|
+
"emptyDesc": "_1nXeGW_emptyDesc",
|
|
4371
|
+
"rowUninstall": "_1nXeGW_rowUninstall",
|
|
4372
|
+
"rowTitleLine": "_1nXeGW_rowTitleLine",
|
|
4373
|
+
"rowSourceTag": "_1nXeGW_rowSourceTag",
|
|
4330
4374
|
"statusDot": "_1nXeGW_statusDot",
|
|
4331
|
-
"
|
|
4375
|
+
"segRow": "_1nXeGW_segRow",
|
|
4376
|
+
"segGroup": "_1nXeGW_segGroup",
|
|
4377
|
+
"rowTitle": "_1nXeGW_rowTitle",
|
|
4378
|
+
"rowRestart": "_1nXeGW_rowRestart",
|
|
4379
|
+
"rowRepo": "_1nXeGW_rowRepo",
|
|
4380
|
+
"segLabel": "_1nXeGW_segLabel",
|
|
4381
|
+
"empty": "_1nXeGW_empty",
|
|
4382
|
+
"segBtn": "_1nXeGW_segBtn",
|
|
4383
|
+
"exampleBadge": "_1nXeGW_exampleBadge",
|
|
4384
|
+
"searchWrap": "_1nXeGW_searchWrap",
|
|
4385
|
+
"list": "_1nXeGW_list",
|
|
4386
|
+
"rowMain": "_1nXeGW_rowMain",
|
|
4387
|
+
"searchInput": "_1nXeGW_searchInput"
|
|
4332
4388
|
};
|
|
4333
4389
|
//#endregion
|
|
4334
4390
|
//#region src/client/components/views/InstalledView.tsx
|
|
@@ -4574,28 +4630,28 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4574
4630
|
css: css$6
|
|
4575
4631
|
});
|
|
4576
4632
|
var CustomInstallView_module_css_default = {
|
|
4577
|
-
"
|
|
4578
|
-
"
|
|
4633
|
+
"installBtn": "zISxCG_installBtn",
|
|
4634
|
+
"helpLine": "zISxCG_helpLine",
|
|
4635
|
+
"channelOffText": "zISxCG_channelOffText",
|
|
4636
|
+
"installInputError": "zISxCG_installInputError",
|
|
4579
4637
|
"installInsertBtn": "zISxCG_installInsertBtn",
|
|
4580
4638
|
"installExample": "zISxCG_installExample",
|
|
4581
|
-
"
|
|
4582
|
-
"channelOff": "zISxCG_channelOff",
|
|
4583
|
-
"helpBody": "zISxCG_helpBody",
|
|
4639
|
+
"installCardDisabled": "zISxCG_installCardDisabled",
|
|
4584
4640
|
"installCards": "zISxCG_installCards",
|
|
4585
|
-
"
|
|
4586
|
-
"
|
|
4587
|
-
"
|
|
4588
|
-
"helpCmd": "zISxCG_helpCmd",
|
|
4641
|
+
"installCardHead": "zISxCG_installCardHead",
|
|
4642
|
+
"channelOff": "zISxCG_channelOff",
|
|
4643
|
+
"desc": "zISxCG_desc",
|
|
4589
4644
|
"installCard": "zISxCG_installCard",
|
|
4590
|
-
"
|
|
4591
|
-
"
|
|
4645
|
+
"helpCmd": "zISxCG_helpCmd",
|
|
4646
|
+
"channelOffBtn": "zISxCG_channelOffBtn",
|
|
4592
4647
|
"installHelpBtn": "zISxCG_installHelpBtn",
|
|
4593
|
-
"
|
|
4594
|
-
"
|
|
4595
|
-
"
|
|
4596
|
-
"installInputError": "zISxCG_installInputError",
|
|
4648
|
+
"installRow": "zISxCG_installRow",
|
|
4649
|
+
"installLabel": "zISxCG_installLabel",
|
|
4650
|
+
"installInput": "zISxCG_installInput",
|
|
4597
4651
|
"installError": "zISxCG_installError",
|
|
4598
|
-
"
|
|
4652
|
+
"root": "zISxCG_root",
|
|
4653
|
+
"helpBody": "zISxCG_helpBody",
|
|
4654
|
+
"helpNote": "zISxCG_helpNote"
|
|
4599
4655
|
};
|
|
4600
4656
|
//#endregion
|
|
4601
4657
|
//#region src/client/components/views/CustomInstallView.tsx
|
|
@@ -4723,8 +4779,11 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4723
4779
|
setNpmError(t("npmInstallInvalid"));
|
|
4724
4780
|
return;
|
|
4725
4781
|
}
|
|
4726
|
-
if (parsed.kind === "global") onInstallCustom(raw, {
|
|
4727
|
-
|
|
4782
|
+
if (parsed.kind === "global") onInstallCustom(raw, {
|
|
4783
|
+
installChannel: "npm",
|
|
4784
|
+
globalNpm: parsed.pkgs
|
|
4785
|
+
});
|
|
4786
|
+
else onInstallCustom(parsed.target, { installChannel: "npm" });
|
|
4728
4787
|
setNpmQuery("");
|
|
4729
4788
|
setNpmError("");
|
|
4730
4789
|
};
|
|
@@ -4735,7 +4794,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4735
4794
|
setGitError(t("gitInstallInvalid"));
|
|
4736
4795
|
return;
|
|
4737
4796
|
}
|
|
4738
|
-
onInstallCustom(target);
|
|
4797
|
+
onInstallCustom(target, { installChannel: "git" });
|
|
4739
4798
|
setGitQuery("");
|
|
4740
4799
|
setGitError("");
|
|
4741
4800
|
};
|
|
@@ -4747,7 +4806,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4747
4806
|
setCmdError(t("dshCmdInvalid"));
|
|
4748
4807
|
return;
|
|
4749
4808
|
}
|
|
4750
|
-
onInstallCustom(parsed.target);
|
|
4809
|
+
onInstallCustom(parsed.target, { installChannel: "dsh" });
|
|
4751
4810
|
setCmdQuery("");
|
|
4752
4811
|
setCmdError("");
|
|
4753
4812
|
};
|
|
@@ -4882,30 +4941,30 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4882
4941
|
css: css$5
|
|
4883
4942
|
});
|
|
4884
4943
|
var SettingsView_module_css_default = {
|
|
4885
|
-
"proxyControl": "_506LLG_proxyControl",
|
|
4886
|
-
"settingRowStack": "_506LLG_settingRowStack",
|
|
4887
|
-
"settingDesc": "_506LLG_settingDesc",
|
|
4888
|
-
"pageDesc": "_506LLG_pageDesc",
|
|
4889
|
-
"proxyHintFail": "_506LLG_proxyHintFail",
|
|
4890
|
-
"controlDropdown": "_506LLG_controlDropdown",
|
|
4891
|
-
"pageHeader": "_506LLG_pageHeader",
|
|
4892
|
-
"root": "_506LLG_root",
|
|
4893
|
-
"navItem": "_506LLG_navItem",
|
|
4894
|
-
"content": "_506LLG_content",
|
|
4895
|
-
"settingControl": "_506LLG_settingControl",
|
|
4896
|
-
"textInput": "_506LLG_textInput",
|
|
4897
|
-
"navIcon": "_506LLG_navIcon",
|
|
4898
4944
|
"proxyHint": "_506LLG_proxyHint",
|
|
4899
4945
|
"proxyHintOk": "_506LLG_proxyHintOk",
|
|
4900
|
-
"navItemActive": "_506LLG_navItemActive",
|
|
4901
|
-
"card": "_506LLG_card",
|
|
4902
4946
|
"resetBtn": "_506LLG_resetBtn",
|
|
4947
|
+
"proxyControl": "_506LLG_proxyControl",
|
|
4903
4948
|
"settingTitle": "_506LLG_settingTitle",
|
|
4904
4949
|
"settingLabel": "_506LLG_settingLabel",
|
|
4950
|
+
"navIcon": "_506LLG_navIcon",
|
|
4951
|
+
"card": "_506LLG_card",
|
|
4952
|
+
"navItemActive": "_506LLG_navItemActive",
|
|
4905
4953
|
"pageTitle": "_506LLG_pageTitle",
|
|
4954
|
+
"navItem": "_506LLG_navItem",
|
|
4955
|
+
"settingControlStack": "_506LLG_settingControlStack",
|
|
4956
|
+
"pageDesc": "_506LLG_pageDesc",
|
|
4957
|
+
"textInput": "_506LLG_textInput",
|
|
4958
|
+
"controlDropdown": "_506LLG_controlDropdown",
|
|
4959
|
+
"proxyHintFail": "_506LLG_proxyHintFail",
|
|
4960
|
+
"pageHeader": "_506LLG_pageHeader",
|
|
4906
4961
|
"sidebar": "_506LLG_sidebar",
|
|
4907
4962
|
"settingRow": "_506LLG_settingRow",
|
|
4908
|
-
"
|
|
4963
|
+
"content": "_506LLG_content",
|
|
4964
|
+
"settingRowStack": "_506LLG_settingRowStack",
|
|
4965
|
+
"settingDesc": "_506LLG_settingDesc",
|
|
4966
|
+
"root": "_506LLG_root",
|
|
4967
|
+
"settingControl": "_506LLG_settingControl"
|
|
4909
4968
|
};
|
|
4910
4969
|
//#endregion
|
|
4911
4970
|
//#region \0dsh-css:src/client/styles/Dropdown.module.css.mjs
|
|
@@ -4924,18 +4983,18 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4924
4983
|
css: css$4
|
|
4925
4984
|
});
|
|
4926
4985
|
var Dropdown_module_css_default = {
|
|
4927
|
-
"
|
|
4928
|
-
"
|
|
4986
|
+
"dropdownItem": "B_Gxsq_dropdownItem",
|
|
4987
|
+
"dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
|
|
4988
|
+
"dropdownPanel": "B_Gxsq_dropdownPanel",
|
|
4929
4989
|
"dropdownCountActive": "B_Gxsq_dropdownCountActive",
|
|
4930
|
-
"dropdownItemActive": "B_Gxsq_dropdownItemActive",
|
|
4931
|
-
"dropdownLabel": "B_Gxsq_dropdownLabel",
|
|
4932
|
-
"dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen",
|
|
4933
4990
|
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
4934
|
-
"
|
|
4991
|
+
"dropdownItemActive": "B_Gxsq_dropdownItemActive",
|
|
4935
4992
|
"dropdown": "B_Gxsq_dropdown",
|
|
4936
|
-
"dropdownPanel": "B_Gxsq_dropdownPanel",
|
|
4937
4993
|
"dropdownArrow": "B_Gxsq_dropdownArrow",
|
|
4938
|
-
"
|
|
4994
|
+
"dropdownBtn": "B_Gxsq_dropdownBtn",
|
|
4995
|
+
"dropdownCount": "B_Gxsq_dropdownCount",
|
|
4996
|
+
"dropdownLabel": "B_Gxsq_dropdownLabel",
|
|
4997
|
+
"dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen"
|
|
4939
4998
|
};
|
|
4940
4999
|
//#endregion
|
|
4941
5000
|
//#region \0dsh-css:src/client/styles/Toggle.module.css.mjs
|
|
@@ -5056,29 +5115,29 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5056
5115
|
css: css$2
|
|
5057
5116
|
});
|
|
5058
5117
|
var DiagnosticsView_module_css_default = {
|
|
5059
|
-
"envLabel": "k9eRya_envLabel",
|
|
5060
|
-
"runBtn": "k9eRya_runBtn",
|
|
5061
|
-
"panel": "k9eRya_panel",
|
|
5062
|
-
"row": "k9eRya_row",
|
|
5063
|
-
"summaryFail": "k9eRya_summaryFail",
|
|
5064
|
-
"head": "k9eRya_head",
|
|
5065
|
-
"display": "k9eRya_display",
|
|
5066
|
-
"diagPulse": "k9eRya_diagPulse",
|
|
5067
|
-
"badgeRunning": "k9eRya_badgeRunning",
|
|
5068
|
-
"badgeIdle": "k9eRya_badgeIdle",
|
|
5069
|
-
"envCopyBtn": "k9eRya_envCopyBtn",
|
|
5070
5118
|
"badgeOk": "k9eRya_badgeOk",
|
|
5071
|
-
"
|
|
5072
|
-
"envTitle": "k9eRya_envTitle",
|
|
5073
|
-
"name": "k9eRya_name",
|
|
5119
|
+
"envRow": "k9eRya_envRow",
|
|
5074
5120
|
"meta": "k9eRya_meta",
|
|
5075
|
-
"
|
|
5076
|
-
"
|
|
5121
|
+
"badgeRunning": "k9eRya_badgeRunning",
|
|
5122
|
+
"badgeFail": "k9eRya_badgeFail",
|
|
5077
5123
|
"summary": "k9eRya_summary",
|
|
5078
|
-
"
|
|
5124
|
+
"head": "k9eRya_head",
|
|
5079
5125
|
"headHint": "k9eRya_headHint",
|
|
5080
|
-
"
|
|
5081
|
-
"
|
|
5126
|
+
"name": "k9eRya_name",
|
|
5127
|
+
"summaryRunning": "k9eRya_summaryRunning",
|
|
5128
|
+
"envCopyBtn": "k9eRya_envCopyBtn",
|
|
5129
|
+
"row": "k9eRya_row",
|
|
5130
|
+
"summaryFail": "k9eRya_summaryFail",
|
|
5131
|
+
"envDesc": "k9eRya_envDesc",
|
|
5132
|
+
"runBtn": "k9eRya_runBtn",
|
|
5133
|
+
"diagPulse": "k9eRya_diagPulse",
|
|
5134
|
+
"envTitle": "k9eRya_envTitle",
|
|
5135
|
+
"display": "k9eRya_display",
|
|
5136
|
+
"envLabel": "k9eRya_envLabel",
|
|
5137
|
+
"badge": "k9eRya_badge",
|
|
5138
|
+
"badgeIdle": "k9eRya_badgeIdle",
|
|
5139
|
+
"panel": "k9eRya_panel",
|
|
5140
|
+
"summaryOk": "k9eRya_summaryOk"
|
|
5082
5141
|
};
|
|
5083
5142
|
//#endregion
|
|
5084
5143
|
//#region src/client/components/views/DiagnosticsView.tsx
|
|
@@ -5253,57 +5312,57 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5253
5312
|
css: css$1
|
|
5254
5313
|
});
|
|
5255
5314
|
var LogsView_module_css_default = {
|
|
5256
|
-
"
|
|
5257
|
-
"list": "_3j77BW_list",
|
|
5258
|
-
"pathDialogRow": "_3j77BW_pathDialogRow",
|
|
5315
|
+
"footActions": "_3j77BW_footActions",
|
|
5259
5316
|
"pathLabel": "_3j77BW_pathLabel",
|
|
5260
|
-
"pathText": "_3j77BW_pathText",
|
|
5261
|
-
"badge": "_3j77BW_badge",
|
|
5262
|
-
"badgeSuccess": "_3j77BW_badgeSuccess",
|
|
5263
5317
|
"badgeError": "_3j77BW_badgeError",
|
|
5264
|
-
"
|
|
5265
|
-
"empty": "_3j77BW_empty",
|
|
5266
|
-
"pathDialogReset": "_3j77BW_pathDialogReset",
|
|
5267
|
-
"previewRow": "_3j77BW_previewRow",
|
|
5268
|
-
"filterChip": "_3j77BW_filterChip",
|
|
5269
|
-
"actions": "_3j77BW_actions",
|
|
5270
|
-
"time": "_3j77BW_time",
|
|
5271
|
-
"headHint": "_3j77BW_headHint",
|
|
5272
|
-
"panel": "_3j77BW_panel",
|
|
5273
|
-
"headActions": "_3j77BW_headActions",
|
|
5274
|
-
"linkBtn": "_3j77BW_linkBtn",
|
|
5275
|
-
"pathDialogFoot": "_3j77BW_pathDialogFoot",
|
|
5276
|
-
"foot": "_3j77BW_foot",
|
|
5277
|
-
"catInstall": "_3j77BW_catInstall",
|
|
5278
|
-
"catDiagnostics": "_3j77BW_catDiagnostics",
|
|
5279
|
-
"pathDraft": "_3j77BW_pathDraft",
|
|
5318
|
+
"btn": "_3j77BW_btn",
|
|
5280
5319
|
"clearBtn": "_3j77BW_clearBtn",
|
|
5281
|
-
"
|
|
5320
|
+
"foot": "_3j77BW_foot",
|
|
5321
|
+
"pathDialog": "_3j77BW_pathDialog",
|
|
5282
5322
|
"head": "_3j77BW_head",
|
|
5283
|
-
"footFail": "_3j77BW_footFail",
|
|
5284
|
-
"entry": "_3j77BW_entry",
|
|
5285
5323
|
"logList": "_3j77BW_logList",
|
|
5286
|
-
"more": "_3j77BW_more",
|
|
5287
|
-
"badgeDebug": "_3j77BW_badgeDebug",
|
|
5288
|
-
"footCount": "_3j77BW_footCount",
|
|
5289
|
-
"catSettings": "_3j77BW_catSettings",
|
|
5290
|
-
"btn": "_3j77BW_btn",
|
|
5291
5324
|
"event": "_3j77BW_event",
|
|
5292
|
-
"search": "_3j77BW_search",
|
|
5293
|
-
"pathRow": "_3j77BW_pathRow",
|
|
5294
|
-
"badgeWarn": "_3j77BW_badgeWarn",
|
|
5295
|
-
"message": "_3j77BW_message",
|
|
5296
|
-
"filterChipActive": "_3j77BW_filterChipActive",
|
|
5297
|
-
"pathDialogDesc": "_3j77BW_pathDialogDesc",
|
|
5298
5325
|
"moreEnd": "_3j77BW_moreEnd",
|
|
5299
|
-
"
|
|
5300
|
-
"
|
|
5326
|
+
"badge": "_3j77BW_badge",
|
|
5327
|
+
"actions": "_3j77BW_actions",
|
|
5301
5328
|
"badgeInfo": "_3j77BW_badgeInfo",
|
|
5329
|
+
"catUninstall": "_3j77BW_catUninstall",
|
|
5330
|
+
"catSettings": "_3j77BW_catSettings",
|
|
5331
|
+
"pathDialogDesc": "_3j77BW_pathDialogDesc",
|
|
5332
|
+
"search": "_3j77BW_search",
|
|
5333
|
+
"headHint": "_3j77BW_headHint",
|
|
5334
|
+
"footCount": "_3j77BW_footCount",
|
|
5335
|
+
"catInstall": "_3j77BW_catInstall",
|
|
5336
|
+
"catSystem": "_3j77BW_catSystem",
|
|
5337
|
+
"filterChip": "_3j77BW_filterChip",
|
|
5338
|
+
"empty": "_3j77BW_empty",
|
|
5339
|
+
"more": "_3j77BW_more",
|
|
5340
|
+
"pathDialogRow": "_3j77BW_pathDialogRow",
|
|
5341
|
+
"time": "_3j77BW_time",
|
|
5342
|
+
"filterChipActive": "_3j77BW_filterChipActive",
|
|
5343
|
+
"pathDialogFoot": "_3j77BW_pathDialogFoot",
|
|
5344
|
+
"filterBar": "_3j77BW_filterBar",
|
|
5345
|
+
"badgeSuccess": "_3j77BW_badgeSuccess",
|
|
5346
|
+
"previewRow": "_3j77BW_previewRow",
|
|
5347
|
+
"list": "_3j77BW_list",
|
|
5348
|
+
"badgeWarn": "_3j77BW_badgeWarn",
|
|
5349
|
+
"panel": "_3j77BW_panel",
|
|
5350
|
+
"footFail": "_3j77BW_footFail",
|
|
5302
5351
|
"catUpdate": "_3j77BW_catUpdate",
|
|
5303
|
-
"
|
|
5352
|
+
"pathDialogHint": "_3j77BW_pathDialogHint",
|
|
5353
|
+
"badgeDebug": "_3j77BW_badgeDebug",
|
|
5304
5354
|
"catBadge": "_3j77BW_catBadge",
|
|
5305
|
-
"
|
|
5306
|
-
"
|
|
5355
|
+
"catDiagnostics": "_3j77BW_catDiagnostics",
|
|
5356
|
+
"footPath": "_3j77BW_footPath",
|
|
5357
|
+
"searchInput": "_3j77BW_searchInput",
|
|
5358
|
+
"headActions": "_3j77BW_headActions",
|
|
5359
|
+
"entry": "_3j77BW_entry",
|
|
5360
|
+
"message": "_3j77BW_message",
|
|
5361
|
+
"pathText": "_3j77BW_pathText",
|
|
5362
|
+
"linkBtn": "_3j77BW_linkBtn",
|
|
5363
|
+
"pathDraft": "_3j77BW_pathDraft",
|
|
5364
|
+
"pathRow": "_3j77BW_pathRow",
|
|
5365
|
+
"pathDialogReset": "_3j77BW_pathDialogReset"
|
|
5307
5366
|
};
|
|
5308
5367
|
//#endregion
|
|
5309
5368
|
//#region src/client/components/modals/LogsModal.tsx
|
|
@@ -6154,6 +6213,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6154
6213
|
/** 命令行安装确认弹窗:记录待安装的裸目标(npm 包名 / GitHub 地址,DSH 命令已剥成裸目标)——
|
|
6155
6214
|
* 与应用商店同一套确认/进度/结果弹窗,提供时 plugin 传 null 走 customTarget 模式 */
|
|
6156
6215
|
const [confirmCustomTarget, setConfirmCustomTarget] = (0, react.useState)(null);
|
|
6216
|
+
/** 自定义安装入口渠道(三张卡片之一):随确认弹窗记录,提交时上报服务端,
|
|
6217
|
+
* 报错/日志据此精准溯源「从哪个入口发起」(npm 全局安装固定为 'npm') */
|
|
6218
|
+
const [confirmCustomChannel, setConfirmCustomChannel] = (0, react.useState)(null);
|
|
6157
6219
|
/** 全局 npm 安装确认弹窗(官方 `npm install -g <pkgs>`):记录原始命令 + 解析出的包列表,
|
|
6158
6220
|
* 走与应用商店同一套确认/进度/结果弹窗(plugin 传 null,InstallModal 走 globalNpm 模式) */
|
|
6159
6221
|
const [confirmGlobalNpm, setConfirmGlobalNpm] = (0, react.useState)(null);
|
|
@@ -6306,6 +6368,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6306
6368
|
if (e.key === "Escape") {
|
|
6307
6369
|
setConfirmPlugin(null);
|
|
6308
6370
|
setConfirmCustomTarget(null);
|
|
6371
|
+
setConfirmCustomChannel(null);
|
|
6309
6372
|
setConfirmGlobalNpm(null);
|
|
6310
6373
|
setUninstallPlugin(null);
|
|
6311
6374
|
setUninstallItem(null);
|
|
@@ -6515,6 +6578,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6515
6578
|
queue.clearModalTask();
|
|
6516
6579
|
if (opts?.globalNpm && opts.globalNpm.length > 0) {
|
|
6517
6580
|
setConfirmCustomTarget(null);
|
|
6581
|
+
setConfirmCustomChannel(null);
|
|
6518
6582
|
setConfirmIsUpdate(false);
|
|
6519
6583
|
setConfirmGlobalNpm({
|
|
6520
6584
|
raw,
|
|
@@ -6523,6 +6587,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6523
6587
|
return;
|
|
6524
6588
|
}
|
|
6525
6589
|
setConfirmGlobalNpm(null);
|
|
6590
|
+
setConfirmCustomChannel(opts.installChannel);
|
|
6526
6591
|
setConfirmIsUpdate(customTargetInstalled(target));
|
|
6527
6592
|
setConfirmCustomTarget(target);
|
|
6528
6593
|
}
|
|
@@ -6542,7 +6607,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6542
6607
|
openSection: settingsSection,
|
|
6543
6608
|
onConsumedOpenSection: () => setSettingsSection(null)
|
|
6544
6609
|
}), showHubUpdate && (0, react.createElement)(HubUpdateModal, {
|
|
6545
|
-
info: catalog.hubUpdateInfo ?? { version: "1.3.
|
|
6610
|
+
info: catalog.hubUpdateInfo ?? { version: "1.3.10" },
|
|
6546
6611
|
lang,
|
|
6547
6612
|
t,
|
|
6548
6613
|
hasUpdate: catalog.hubHasUpdate,
|
|
@@ -6651,6 +6716,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6651
6716
|
onClose: () => {
|
|
6652
6717
|
setInstallDone(false);
|
|
6653
6718
|
setConfirmCustomTarget(null);
|
|
6719
|
+
setConfirmCustomChannel(null);
|
|
6654
6720
|
},
|
|
6655
6721
|
onCopy: () => {
|
|
6656
6722
|
doCopy(`pnpm add ${confirmCustomTarget}`);
|
|
@@ -6659,7 +6725,10 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6659
6725
|
kind: "copied"
|
|
6660
6726
|
});
|
|
6661
6727
|
},
|
|
6662
|
-
onInstall: () => void queue.installCustom(confirmCustomTarget,
|
|
6728
|
+
onInstall: () => void queue.installCustom(confirmCustomTarget, {
|
|
6729
|
+
update: confirmIsUpdate,
|
|
6730
|
+
channel: confirmCustomChannel ?? "npm"
|
|
6731
|
+
}),
|
|
6663
6732
|
onRestart: () => setShowRestartConfirm(true)
|
|
6664
6733
|
}), confirmGlobalNpm && (0, react.createElement)(InstallModal, {
|
|
6665
6734
|
plugin: null,
|
|
@@ -6676,6 +6745,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6676
6745
|
onClose: () => {
|
|
6677
6746
|
setInstallDone(false);
|
|
6678
6747
|
setConfirmGlobalNpm(null);
|
|
6748
|
+
setConfirmCustomChannel(null);
|
|
6679
6749
|
},
|
|
6680
6750
|
onCopy: () => {
|
|
6681
6751
|
doCopy(`npm install -g ${confirmGlobalNpm.pkgs.join(" ")}`);
|
|
@@ -6684,7 +6754,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6684
6754
|
kind: "copied"
|
|
6685
6755
|
});
|
|
6686
6756
|
},
|
|
6687
|
-
onInstall: () => void queue.installGlobalNpm(confirmGlobalNpm.pkgs),
|
|
6757
|
+
onInstall: () => void queue.installGlobalNpm(confirmGlobalNpm.pkgs, { channel: "npm" }),
|
|
6688
6758
|
onRestart: () => setShowRestartConfirm(true)
|
|
6689
6759
|
}), (uninstallPlugin || uninstallItem) && (0, react.createElement)(UninstallModal, {
|
|
6690
6760
|
plugin: uninstallPlugin ?? pluginOfItem(uninstallItem),
|