@lvce-editor/extension-detail-view 3.52.0 → 3.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,3 +14,7 @@ npm test
14
14
  ## Gitpod
15
15
 
16
16
  [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/lvce-editor/extension-detail-view)
17
+
18
+ ## Credits
19
+
20
+ The extension detail view is based on VSCode's extension detail view.
@@ -11,6 +11,7 @@ const i18nString = (key, placeholders = emptyObject) => {
11
11
  };
12
12
 
13
13
  const ActivationEvents$1 = 'Activation Events';
14
+ const RuntimeStatus$1 = 'Runtime Status';
14
15
  const Categories$1 = 'Categories';
15
16
  const Changelog$2 = 'Changelog';
16
17
  const Commands$1 = 'Commands';
@@ -28,7 +29,7 @@ const Installation = 'Installation';
28
29
  const JsonValidation$1 = 'Json Validation';
29
30
  const Label = 'Label';
30
31
  const Marketplace = 'Marketplace';
31
- const None$2 = 'None';
32
+ const None$3 = 'None';
32
33
  const NoReadmeFound = 'No Readme Found.';
33
34
  const EmptyCommandsArray = 'The extension contributed an empty commands array.';
34
35
  const OpenImageInNewTab = 'Open Image in New Tab';
@@ -79,7 +80,7 @@ const features$1 = () => {
79
80
  return i18nString(Features$2);
80
81
  };
81
82
  const none = () => {
82
- return i18nString(None$2);
83
+ return i18nString(None$3);
83
84
  };
84
85
  const openInNewTab = () => {
85
86
  return i18nString(OpenInNewTab);
@@ -114,6 +115,9 @@ const webViews = () => {
114
115
  const activationEvents = () => {
115
116
  return i18nString(ActivationEvents$1);
116
117
  };
118
+ const runtimeStatus = () => {
119
+ return i18nString(RuntimeStatus$1);
120
+ };
117
121
  const jsonValidation = () => {
118
122
  return i18nString(JsonValidation$1);
119
123
  };
@@ -162,13 +166,13 @@ const featureActivationEventsEnabled = extension => {
162
166
  return Array.isArray(extension.activation);
163
167
  };
164
168
 
165
- const None$1 = 'none';
169
+ const None$2 = 'none';
166
170
  const Panel = 'panel';
167
171
  const Tab$1 = 'tab';
168
172
  const TabList = 'tablist';
169
173
  const AriaRoles = {
170
174
  __proto__: null,
171
- None: None$1,
175
+ None: None$2,
172
176
  Panel,
173
177
  Tab: Tab$1,
174
178
  TabList};
@@ -594,147 +598,6 @@ const getFeatureVirtualDomHandler = featureName => {
594
598
  return feature.getVirtualDom;
595
599
  };
596
600
 
597
- const getSettingsTableEntry = setting => {
598
- const {
599
- id,
600
- label
601
- } = setting;
602
- // TODO watch out for null/undefined/number/string/array
603
- return [{
604
- type: Text,
605
- value: id
606
- }, {
607
- type: Text,
608
- value: label
609
- }];
610
- };
611
-
612
- const getSettingsDetails = async extension => {
613
- const settings = extension.settings || [];
614
- const rows = settings.map(getSettingsTableEntry);
615
- return {
616
- settings: rows
617
- };
618
- };
619
-
620
- const featureSettingsEnabled = extension => {
621
- if (!extension || typeof extension !== 'object' || !('settings' in extension)) {
622
- return false;
623
- }
624
- return Array.isArray(extension.settings);
625
- };
626
-
627
- const getSettingsTableEntries = rows => {
628
- const textId = id$1();
629
- const textLabel = label();
630
- return {
631
- headings: [textId, textLabel],
632
- rows
633
- };
634
- };
635
-
636
- const getFeatureSettingsVirtualDom = rows => {
637
- const heading = settings();
638
- const tableInfo = getSettingsTableEntries(rows);
639
- return [{
640
- type: VirtualDomElements.Div,
641
- className: FeatureContent,
642
- childCount: 2
643
- }, ...getFeatureContentHeadingVirtualDom(heading), ...getTableVirtualDom(tableInfo)];
644
- };
645
-
646
- const getSettingsVirtualDom = state => {
647
- return getFeatureSettingsVirtualDom(state.settings);
648
- };
649
-
650
- class AssertionError extends Error {
651
- constructor(message) {
652
- super(message);
653
- this.name = 'AssertionError';
654
- }
655
- }
656
- const Object$1 = 1;
657
- const Number$1 = 2;
658
- const Array$1 = 3;
659
- const String = 4;
660
- const Boolean$1 = 5;
661
- const Function = 6;
662
- const Null = 7;
663
- const Unknown = 8;
664
- const getType = value => {
665
- switch (typeof value) {
666
- case 'number':
667
- return Number$1;
668
- case 'function':
669
- return Function;
670
- case 'string':
671
- return String;
672
- case 'object':
673
- if (value === null) {
674
- return Null;
675
- }
676
- if (Array.isArray(value)) {
677
- return Array$1;
678
- }
679
- return Object$1;
680
- case 'boolean':
681
- return Boolean$1;
682
- default:
683
- return Unknown;
684
- }
685
- };
686
- const string = value => {
687
- const type = getType(value);
688
- if (type !== String) {
689
- throw new AssertionError('expected value to be of type string');
690
- }
691
- };
692
-
693
- const HandleClickCategory = 'handleClickCategory';
694
- const HandleClickDisable = 'handleClickDisable';
695
- const HandleClickScrollToTop = 'handleClickScrollToTop';
696
- const HandleClickSetColorTheme = 'handleClickSetColorTheme';
697
- const HandleClickSettings = 'handleClickSettings';
698
- const HandleClickSize = 'handleClickSize';
699
- const HandleClickUninstall = 'handleClickUninstall';
700
- const HandleFeaturesClick = 'handleFeaturesClick';
701
- const HandleIconError = 'handleIconError';
702
- const HandleImageContextMenu = 'handleImageContextMenu';
703
- const HandleReadmeContextMenu = 'handleReadmeContextMenu';
704
- const HandleReadmeScroll = 'handleReadmeScroll';
705
- const HandleTabsClick = 'handleTabsClick';
706
-
707
- const ActivationEvents = 'ActivationEvents';
708
- const Changelog = 'Changelog';
709
- const Commands = 'Commands';
710
- const Details = 'Details';
711
- const Disable = 'Disable';
712
- const Features = 'Features';
713
- const JsonValidation = 'JsonValidation';
714
- const ProgrammingLanguages = 'ProgrammingLanguages';
715
- const ScrollToTop = 'scrolltotop';
716
- const SetColorTheme = 'SetColorTheme';
717
- const Settings = 'Settings';
718
- const Theme = 'Theme';
719
- const Uninstall = 'Uninstall';
720
- const WebViews = 'WebViews';
721
-
722
- const getScrollToTopVirtualDom = scrollToTopButtonEnabled => {
723
- return [{
724
- type: VirtualDomElements.Button,
725
- className: ScrollToTopButton,
726
- childCount: 1,
727
- onClick: HandleClickScrollToTop,
728
- ariaLabel: scrollToTop(),
729
- name: ScrollToTop
730
- }, {
731
- type: VirtualDomElements.Div,
732
- className: 'MaskIcon MaskIconChevronUp',
733
- childCount: 0,
734
- role: AriaRoles.None
735
- }];
736
- };
737
-
738
601
  const rpcs = Object.create(null);
739
602
  const set$g = (id, rpc) => {
740
603
  rpcs[id] = rpc;
@@ -773,9 +636,11 @@ const RendererWorker$1 = 1;
773
636
  const FileSystemWorker$1 = 209;
774
637
  const MarkdownWorker$1 = 300;
775
638
  const {
639
+ invoke: invoke$9,
776
640
  set: set$9} = create$7(ExtensionHostWorker);
777
641
  const ExtensionHost = {
778
642
  __proto__: null,
643
+ invoke: invoke$9,
779
644
  set: set$9
780
645
  };
781
646
  const {
@@ -890,6 +755,277 @@ const RendererWorker = {
890
755
 
891
756
  const {
892
757
  set: set$5,
758
+ invoke: invoke$2
759
+ } = ExtensionHost;
760
+
761
+ const getRuntimeStatus = async extensionId => {
762
+ // TODO simplify api
763
+ // @ts-ignore
764
+ const status = await invoke$2('ExtensionHost.getRuntimeStatus', extensionId);
765
+ // @ts-ignore
766
+ return status;
767
+ };
768
+
769
+ const getRuntimeStatusDetails = async extension => {
770
+ const {
771
+ activationEvent,
772
+ status,
773
+ activationTime,
774
+ importTime
775
+ } = await getRuntimeStatus(extension.id);
776
+ return {
777
+ wasActivatedByEvent: activationEvent,
778
+ activationTime,
779
+ status,
780
+ importTime
781
+ };
782
+ };
783
+
784
+ const featureRuntimeStatusEnabled = extension => {
785
+ if (!extension || typeof extension !== 'object') {
786
+ return false;
787
+ }
788
+ if ('main' in extension || 'browser' in extension) {
789
+ return true;
790
+ }
791
+ return false;
792
+ };
793
+
794
+ const formatTime = time => {
795
+ return time.toFixed(2) + 'ms';
796
+ };
797
+
798
+ const getActivationTimeVirtualDom = (importTime, activationTime) => {
799
+ if (!activationTime && !importTime) {
800
+ return [];
801
+ }
802
+ const formattedImportTime = formatTime(importTime);
803
+ const formattedTime = formatTime(activationTime);
804
+ return [{
805
+ type: VirtualDomElements.Dt,
806
+ childCount: 1
807
+ }, text('Import Time: '),
808
+ // i18n
809
+ {
810
+ type: VirtualDomElements.Dd,
811
+ childCount: 1
812
+ }, text(formattedImportTime), {
813
+ type: VirtualDomElements.Dt,
814
+ childCount: 1
815
+ }, text('Activation Time: '),
816
+ // i18n
817
+ {
818
+ type: VirtualDomElements.Dd,
819
+ childCount: 1
820
+ }, text(formattedTime)];
821
+ };
822
+
823
+ const None$1 = 0;
824
+ const Importing = 1;
825
+ const Activating = 2;
826
+ const Activated = 3;
827
+ const Error$1 = 4;
828
+
829
+ const getStatusMessage = statusType => {
830
+ switch (statusType) {
831
+ case Activated:
832
+ return 'activated';
833
+ case None$1:
834
+ return 'none';
835
+ case Activating:
836
+ return 'Activating';
837
+ case Error$1:
838
+ return 'error';
839
+ case Importing:
840
+ return 'importing';
841
+ default:
842
+ return 'unknown';
843
+ }
844
+ };
845
+
846
+ const getStatusVirtualDom = status => {
847
+ const statusString = getStatusMessage(status);
848
+ return [{
849
+ type: VirtualDomElements.Dt,
850
+ childCount: 1
851
+ }, text(`Status: `),
852
+ // i18n
853
+ {
854
+ type: VirtualDomElements.Dd,
855
+ childCount: 1
856
+ }, text(`${statusString}`)];
857
+ };
858
+
859
+ const getChildCount$1 = (status, activationTime, importTime) => {
860
+ let childCount = 0;
861
+ childCount += 2; // status
862
+ if (importTime || activationTime) {
863
+ childCount += 4;
864
+ }
865
+ return childCount;
866
+ };
867
+ const getRuntimeStatusVirtualDom = state => {
868
+ const {
869
+ status,
870
+ activationTime,
871
+ importTime
872
+ } = state;
873
+ const heading = runtimeStatus();
874
+ const childCount = getChildCount$1(status, activationTime, importTime);
875
+ return [{
876
+ type: VirtualDomElements.Div,
877
+ className: FeatureContent,
878
+ childCount: 2
879
+ }, ...getFeatureContentHeadingVirtualDom(heading), {
880
+ type: VirtualDomElements.Dl,
881
+ childCount
882
+ }, ...getStatusVirtualDom(status), ...getActivationTimeVirtualDom(activationTime, importTime)];
883
+ };
884
+
885
+ const getSettingsTableEntry = setting => {
886
+ const {
887
+ id,
888
+ label
889
+ } = setting;
890
+ // TODO watch out for null/undefined/number/string/array
891
+ return [{
892
+ type: Text,
893
+ value: id
894
+ }, {
895
+ type: Text,
896
+ value: label
897
+ }];
898
+ };
899
+
900
+ const getSettingsDetails = async extension => {
901
+ const settings = extension.settings || [];
902
+ const rows = settings.map(getSettingsTableEntry);
903
+ return {
904
+ settings: rows
905
+ };
906
+ };
907
+
908
+ const featureSettingsEnabled = extension => {
909
+ if (!extension || typeof extension !== 'object' || !('settings' in extension)) {
910
+ return false;
911
+ }
912
+ return Array.isArray(extension.settings);
913
+ };
914
+
915
+ const getSettingsTableEntries = rows => {
916
+ const textId = id$1();
917
+ const textLabel = label();
918
+ return {
919
+ headings: [textId, textLabel],
920
+ rows
921
+ };
922
+ };
923
+
924
+ const getFeatureSettingsVirtualDom = rows => {
925
+ const heading = settings();
926
+ const tableInfo = getSettingsTableEntries(rows);
927
+ return [{
928
+ type: VirtualDomElements.Div,
929
+ className: FeatureContent,
930
+ childCount: 2
931
+ }, ...getFeatureContentHeadingVirtualDom(heading), ...getTableVirtualDom(tableInfo)];
932
+ };
933
+
934
+ const getSettingsVirtualDom = state => {
935
+ return getFeatureSettingsVirtualDom(state.settings);
936
+ };
937
+
938
+ class AssertionError extends Error {
939
+ constructor(message) {
940
+ super(message);
941
+ this.name = 'AssertionError';
942
+ }
943
+ }
944
+ const Object$1 = 1;
945
+ const Number$1 = 2;
946
+ const Array$1 = 3;
947
+ const String = 4;
948
+ const Boolean$1 = 5;
949
+ const Function = 6;
950
+ const Null = 7;
951
+ const Unknown = 8;
952
+ const getType = value => {
953
+ switch (typeof value) {
954
+ case 'number':
955
+ return Number$1;
956
+ case 'function':
957
+ return Function;
958
+ case 'string':
959
+ return String;
960
+ case 'object':
961
+ if (value === null) {
962
+ return Null;
963
+ }
964
+ if (Array.isArray(value)) {
965
+ return Array$1;
966
+ }
967
+ return Object$1;
968
+ case 'boolean':
969
+ return Boolean$1;
970
+ default:
971
+ return Unknown;
972
+ }
973
+ };
974
+ const string = value => {
975
+ const type = getType(value);
976
+ if (type !== String) {
977
+ throw new AssertionError('expected value to be of type string');
978
+ }
979
+ };
980
+
981
+ const HandleClickCategory = 'handleClickCategory';
982
+ const HandleClickDisable = 'handleClickDisable';
983
+ const HandleClickScrollToTop = 'handleClickScrollToTop';
984
+ const HandleClickSetColorTheme = 'handleClickSetColorTheme';
985
+ const HandleClickSettings = 'handleClickSettings';
986
+ const HandleClickSize = 'handleClickSize';
987
+ const HandleClickUninstall = 'handleClickUninstall';
988
+ const HandleFeaturesClick = 'handleFeaturesClick';
989
+ const HandleIconError = 'handleIconError';
990
+ const HandleImageContextMenu = 'handleImageContextMenu';
991
+ const HandleReadmeContextMenu = 'handleReadmeContextMenu';
992
+ const HandleReadmeScroll = 'handleReadmeScroll';
993
+ const HandleTabsClick = 'handleTabsClick';
994
+
995
+ const ActivationEvents = 'ActivationEvents';
996
+ const Changelog = 'Changelog';
997
+ const Commands = 'Commands';
998
+ const Details = 'Details';
999
+ const Disable = 'Disable';
1000
+ const Features = 'Features';
1001
+ const JsonValidation = 'JsonValidation';
1002
+ const ProgrammingLanguages = 'ProgrammingLanguages';
1003
+ const RuntimeStatus = 'RuntimeStatus';
1004
+ const ScrollToTop = 'scrolltotop';
1005
+ const SetColorTheme = 'SetColorTheme';
1006
+ const Settings = 'Settings';
1007
+ const Theme = 'Theme';
1008
+ const Uninstall = 'Uninstall';
1009
+ const WebViews = 'WebViews';
1010
+
1011
+ const getScrollToTopVirtualDom = scrollToTopButtonEnabled => {
1012
+ return [{
1013
+ type: VirtualDomElements.Button,
1014
+ className: ScrollToTopButton,
1015
+ childCount: 1,
1016
+ onClick: HandleClickScrollToTop,
1017
+ ariaLabel: scrollToTop(),
1018
+ name: ScrollToTop
1019
+ }, {
1020
+ type: VirtualDomElements.Div,
1021
+ className: 'MaskIcon MaskIconChevronUp',
1022
+ childCount: 0,
1023
+ role: AriaRoles.None
1024
+ }];
1025
+ };
1026
+
1027
+ const {
1028
+ set: set$4,
893
1029
  getVirtualDom,
894
1030
  render
895
1031
  } = MarkdownWorker;
@@ -1150,6 +1286,13 @@ const registerAllFeatures = () => {
1150
1286
  getDetails: getActivationEventsDetails,
1151
1287
  getVirtualDom: getActivationEventsVirtualDom
1152
1288
  });
1289
+ register$1({
1290
+ id: RuntimeStatus,
1291
+ getLabel: runtimeStatus,
1292
+ isEnabled: featureRuntimeStatusEnabled,
1293
+ getDetails: getRuntimeStatusDetails,
1294
+ getVirtualDom: getRuntimeStatusVirtualDom
1295
+ });
1153
1296
  };
1154
1297
 
1155
1298
  const normalizeLine = line => {
@@ -1626,7 +1769,7 @@ const create$4 = (method, params) => {
1626
1769
  };
1627
1770
  };
1628
1771
  const callbacks = Object.create(null);
1629
- const set$4 = (id, fn) => {
1772
+ const set$3 = (id, fn) => {
1630
1773
  callbacks[id] = fn;
1631
1774
  };
1632
1775
  const get$1 = id => {
@@ -1645,7 +1788,7 @@ const registerPromise = () => {
1645
1788
  resolve,
1646
1789
  promise
1647
1790
  } = Promise.withResolvers();
1648
- set$4(id, resolve);
1791
+ set$3(id, resolve);
1649
1792
  return {
1650
1793
  id,
1651
1794
  promise
@@ -2205,7 +2348,7 @@ const {
2205
2348
  writeClipBoardText,
2206
2349
  sendMessagePortToFileSystemWorker: sendMessagePortToFileSystemWorker$1,
2207
2350
  sendMessagePortToMarkdownWorker: sendMessagePortToMarkdownWorker$1,
2208
- set: set$3,
2351
+ set: set$2,
2209
2352
  setColorTheme: setColorTheme$1,
2210
2353
  setExtensionsSearchValue,
2211
2354
  showContextMenu,
@@ -2222,7 +2365,7 @@ const writeText = async text => {
2222
2365
  };
2223
2366
 
2224
2367
  const {
2225
- set: set$2,
2368
+ set: set$1,
2226
2369
  exists,
2227
2370
  readFile: readFile$1,
2228
2371
  invoke
@@ -2262,7 +2405,7 @@ const copyImageUrl = async state => {
2262
2405
 
2263
2406
  const {
2264
2407
  get,
2265
- set: set$1,
2408
+ set,
2266
2409
  dispose: dispose$1,
2267
2410
  wrapCommand,
2268
2411
  wrapGetter,
@@ -2273,7 +2416,9 @@ const {
2273
2416
  const create = (uid, uri, x, y, width, height, platform, assetDir) => {
2274
2417
  const state = {
2275
2418
  wasActivatedByEvent: '',
2276
- status: '',
2419
+ activationTime: 0,
2420
+ importTime: 0,
2421
+ status: 0,
2277
2422
  uid,
2278
2423
  activationEvents: [],
2279
2424
  assetDir: assetDir || '',
@@ -2323,7 +2468,7 @@ const create = (uid, uri, x, y, width, height, platform, assetDir) => {
2323
2468
  width,
2324
2469
  readmeUrl: ''
2325
2470
  };
2326
- set$1(uid, state, state);
2471
+ set(uid, state, state);
2327
2472
  };
2328
2473
 
2329
2474
  const isEqual$2 = (oldState, newState) => {
@@ -2546,6 +2691,14 @@ const handleClickUninstall = async state => {
2546
2691
  return state;
2547
2692
  };
2548
2693
 
2694
+ const handleExtensionsStatusUpdate = async state => {
2695
+ const details = await getRuntimeStatusDetails(state.extension);
2696
+ return {
2697
+ ...state,
2698
+ ...details
2699
+ };
2700
+ };
2701
+
2549
2702
  const extensionDefaultIcon = assetDir => {
2550
2703
  return `${assetDir}/icons/extensionDefaultIcon.png`;
2551
2704
  };
@@ -2754,12 +2907,9 @@ const createExtensionHostWorkerRpc = async () => {
2754
2907
  }
2755
2908
  };
2756
2909
 
2757
- const {
2758
- set} = ExtensionHost;
2759
-
2760
2910
  const initializeExtensionHostWorker = async () => {
2761
2911
  const rpc = await createExtensionHostWorkerRpc();
2762
- set(rpc);
2912
+ set$5(rpc);
2763
2913
  };
2764
2914
 
2765
2915
  const sendMessagePortToFileSystemWorker = async port => {
@@ -2780,7 +2930,7 @@ const createFileSystemWorkerRpc = async () => {
2780
2930
 
2781
2931
  const initializeFileSystemWorker = async () => {
2782
2932
  const rpc = await createFileSystemWorkerRpc();
2783
- set$2(rpc);
2933
+ set$1(rpc);
2784
2934
  };
2785
2935
 
2786
2936
  const sendMessagePortToMarkdownWorker = async port => {
@@ -2801,7 +2951,7 @@ const createMarkdownWorkerRpc = async () => {
2801
2951
 
2802
2952
  const initializeMarkdownWorker = async () => {
2803
2953
  const rpc = await createMarkdownWorkerRpc();
2804
- set$5(rpc);
2954
+ set$4(rpc);
2805
2955
  };
2806
2956
 
2807
2957
  const initialize = async () => {
@@ -3248,7 +3398,10 @@ const restoreState = savedState => {
3248
3398
  };
3249
3399
  };
3250
3400
 
3251
- const loadContent = async (state, platform, savedState) => {
3401
+ const loadContent = async (state, platform, savedState, isTest = false) => {
3402
+ if (isTest) {
3403
+ savedState = undefined;
3404
+ }
3252
3405
  const {
3253
3406
  width,
3254
3407
  uri
@@ -3337,8 +3490,8 @@ const loadContent = async (state, platform, savedState) => {
3337
3490
  };
3338
3491
  };
3339
3492
 
3340
- const loadContent2 = async (state, savedState) => {
3341
- return loadContent(state, state.platform, savedState);
3493
+ const loadContent2 = async (state, savedState, isTest = false) => {
3494
+ return loadContent(state, state.platform, savedState, isTest);
3342
3495
  };
3343
3496
 
3344
3497
  const openUrl = async uri => {
@@ -3565,6 +3718,11 @@ const getFeatureListVirtualDom = features => {
3565
3718
  }, ...features.flatMap(getFeatureListItemVirtualDom)];
3566
3719
  };
3567
3720
 
3721
+ const sash = {
3722
+ type: VirtualDomElements.Div,
3723
+ className: mergeClassNames(Sash, SashVertical),
3724
+ childCount: 0
3725
+ };
3568
3726
  const getFeaturesVirtualDom = (features, selectedFeature, state) => {
3569
3727
  if (features.length === 0) {
3570
3728
  const none$1 = none();
@@ -3580,11 +3738,7 @@ const getFeaturesVirtualDom = (features, selectedFeature, state) => {
3580
3738
  type: VirtualDomElements.Div,
3581
3739
  className: Features$1,
3582
3740
  childCount: 3
3583
- }, ...getFeatureListVirtualDom(features), {
3584
- type: VirtualDomElements.Div,
3585
- className: mergeClassNames(Sash, SashVertical),
3586
- childCount: 0
3587
- }, ...featureVirtualDom];
3741
+ }, ...getFeatureListVirtualDom(features), sash, ...featureVirtualDom];
3588
3742
  };
3589
3743
 
3590
3744
  const getExtensionDetailContentVirtualDom = (sanitizedReadmeHtml, selectedTab, width, scrollToTopButtonEnabled, categories, resources, breakpoint, changelogDom, state) => {
@@ -3838,7 +3992,7 @@ const render2 = (uid, diffResult) => {
3838
3992
  oldState,
3839
3993
  newState
3840
3994
  } = get(uid);
3841
- set$1(uid, newState, newState);
3995
+ set(uid, newState, newState);
3842
3996
  const commands = applyRender(oldState, newState, diffResult);
3843
3997
  return commands;
3844
3998
  };
@@ -3927,6 +4081,7 @@ const commandMap = {
3927
4081
  'ExtensionDetail.handleClickSettings': wrapCommand(handleClickSettings),
3928
4082
  'ExtensionDetail.handleClickSize': wrapCommand(handleClickSize),
3929
4083
  'ExtensionDetail.handleClickUninstall': wrapCommand(handleClickUninstall),
4084
+ 'ExtensionDetail.handleExtensionsStatusUpdate': wrapCommand(handleExtensionsStatusUpdate),
3930
4085
  'ExtensionDetail.handleFeaturesClick': wrapCommand(handleClickFeatures),
3931
4086
  'ExtensionDetail.handleIconError': wrapCommand(handleIconError),
3932
4087
  'ExtensionDetail.handleImageContextMenu': wrapCommand(handleImageContextMenu),
@@ -3934,16 +4089,15 @@ const commandMap = {
3934
4089
  'ExtensionDetail.handleTabsClick': wrapCommand(handleTabsClick),
3935
4090
  'ExtensionDetail.handleWheel': wrapCommand(handleScroll),
3936
4091
  // deprecated
4092
+ 'ExtensionDetail.initialize': initialize,
3937
4093
  'ExtensionDetail.loadContent2': wrapCommand(loadContent2),
3938
4094
  'ExtensionDetail.openImageInNewTab': wrapCommand(openImageInNewTab),
3939
4095
  'ExtensionDetail.render2': render2,
3940
4096
  'ExtensionDetail.renderEventListeners': renderEventListeners,
3941
4097
  'ExtensionDetail.resize': wrapCommand(resize),
3942
- // @ts-ignore
3943
4098
  'ExtensionDetail.saveState': wrapGetter(saveState),
3944
4099
  'ExtensionDetail.selectTab': wrapCommand(selectTab),
3945
- 'ExtensionDetail.terminate': terminate,
3946
- 'ExtensionDetail.initialize': initialize
4100
+ 'ExtensionDetail.terminate': terminate
3947
4101
  };
3948
4102
 
3949
4103
  const listen = async () => {
@@ -3951,7 +4105,7 @@ const listen = async () => {
3951
4105
  const rpc = await WebWorkerRpcClient.create({
3952
4106
  commandMap: commandMap
3953
4107
  });
3954
- set$3(rpc);
4108
+ set$2(rpc);
3955
4109
  };
3956
4110
 
3957
4111
  const main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-detail-view",
3
- "version": "3.52.0",
3
+ "version": "3.54.0",
4
4
  "description": "Extension Detail View Worker",
5
5
  "license": "MIT",
6
6
  "author": "Lvce Editor",