@lvce-editor/extension-host-worker 5.8.0 → 5.10.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.
@@ -568,7 +568,7 @@ const registerMethod = ({
568
568
  }
569
569
  };
570
570
  };
571
- const create$c = ({
571
+ const create$d = ({
572
572
  name,
573
573
  resultShape,
574
574
  executeKey = '',
@@ -618,7 +618,7 @@ const String$1 = 'string';
618
618
 
619
619
  const {
620
620
  registerBraceCompletionProvider,
621
- executeBraceCompletionProvider} = create$c({
621
+ executeBraceCompletionProvider} = create$d({
622
622
  name: 'BraceCompletion',
623
623
  resultShape: {
624
624
  type: Boolean$1
@@ -628,7 +628,7 @@ const {
628
628
  const {
629
629
  registerClosingTagProvider,
630
630
  executeClosingTagProvider
631
- } = create$c({
631
+ } = create$d({
632
632
  name: 'ClosingTag',
633
633
  returnUndefinedWhenNoProviderFound: true,
634
634
  resultShape: {
@@ -640,7 +640,7 @@ const {
640
640
  const {
641
641
  registerCodeActionProvider,
642
642
  executeCodeActionProvider
643
- } = create$c({
643
+ } = create$d({
644
644
  name: 'CodeAction',
645
645
  resultShape: {
646
646
  type: Array$1,
@@ -723,7 +723,7 @@ const {
723
723
  registerCompletionProvider,
724
724
  executeCompletionProvider,
725
725
  executeresolveCompletionItemProvider
726
- } = create$c({
726
+ } = create$d({
727
727
  name: 'Completion',
728
728
  resultShape: {
729
729
  type: Array$1,
@@ -754,21 +754,48 @@ const setConfigurations = preferences => {
754
754
  };
755
755
 
756
756
  const rpcs$2 = Object.create(null);
757
- const set$a = (id, rpc) => {
757
+ const set$d = (id, rpc) => {
758
758
  rpcs$2[id] = rpc;
759
759
  };
760
760
  const get$a = id => {
761
761
  return rpcs$2[id];
762
762
  };
763
763
 
764
- const RendererWorker = 1;
765
- const DebugWorker = 55;
764
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
766
765
 
767
- // TODO use invoke
768
- const send$1 = async (method, ...params) => {
769
- const rpc = get$a(DebugWorker);
770
- rpc.send(method, ...params);
766
+ const create$c = rpcId => {
767
+ return {
768
+ // @ts-ignore
769
+ invoke(method, ...params) {
770
+ const rpc = get$a(rpcId);
771
+ // @ts-ignore
772
+ return rpc.invoke(method, ...params);
773
+ },
774
+ // @ts-ignore
775
+ invokeAndTransfer(method, ...params) {
776
+ const rpc = get$a(rpcId);
777
+ // @ts-ignore
778
+ return rpc.invokeAndTransfer(method, ...params);
779
+ },
780
+ set(rpc) {
781
+ set$d(rpcId, rpc);
782
+ },
783
+ async dispose() {
784
+ const rpc = get$a(rpcId);
785
+ await rpc.dispose();
786
+ }
787
+ };
771
788
  };
789
+ const DebugWorker$1 = 55;
790
+ const {
791
+ invoke: invoke$c} = create$c(DebugWorker$1);
792
+ const DebugWorker = {
793
+ __proto__: null,
794
+ invoke: invoke$c};
795
+
796
+ const {
797
+ invoke: invoke$3
798
+ } = DebugWorker;
772
799
 
773
800
  const state$a = {
774
801
  debugProviderMap: Object.create(null)
@@ -787,23 +814,33 @@ const registerDebugProvider = debugProvider => {
787
814
  }
788
815
  state$a.debugProviderMap[debugProvider.id] = debugProvider;
789
816
  };
817
+ const handlePaused = async params => {
818
+ // @ts-ignore
819
+ await invoke$3('Debug.paused', params);
820
+ };
821
+ const handleResumed = async () => {
822
+ // @ts-ignore
823
+ await invoke$3('Debug.resumed');
824
+ };
825
+ const handleScriptParsed = async parsedScript => {
826
+ // @ts-ignore
827
+ await invoke$3('Debug.scriptParsed', parsedScript);
828
+ };
829
+ const handleChange = async params => {
830
+ object(params);
831
+ // @ts-ignore
832
+ await invoke$3('Debug.handleChange', params);
833
+ };
790
834
  const start = async (protocol, path) => {
791
835
  try {
792
- const handlePaused = params => {
793
- send$1('Debug.paused', params);
794
- };
795
- const handleResumed = () => {
796
- send$1('Debug.resumed');
797
- };
798
- const handleScriptParsed = parsedScript => {
799
- send$1('Debug.scriptParsed', parsedScript);
800
- };
801
836
  const provider = getDebugProvider(protocol);
802
- await provider.start({
837
+ const emitter = {
803
838
  handlePaused,
804
839
  handleResumed,
805
- handleScriptParsed
806
- }, path);
840
+ handleScriptParsed,
841
+ handleChange
842
+ };
843
+ await provider.start(emitter, path);
807
844
  } catch (error) {
808
845
  throw new VError(error, 'Failed to execute debug provider');
809
846
  }
@@ -834,6 +871,49 @@ const pause = async protocol => {
834
871
  throw new VError(error, 'Failed to execute debug provider');
835
872
  }
836
873
  };
874
+ const getScriptSource = async (protocol, scriptId) => {
875
+ try {
876
+ const provider = getDebugProvider(protocol);
877
+ return await provider.getScriptSource(scriptId);
878
+ } catch (error) {
879
+ throw new VError(error, 'Failed to execute debug provider');
880
+ }
881
+ };
882
+
883
+ // TODO create direct connection from debug worker to extension, not needing extension host worker apis
884
+
885
+ const getStatus = async protocol => {
886
+ try {
887
+ const provider = getDebugProvider(protocol);
888
+ return await provider.getStatus();
889
+ } catch (error) {
890
+ throw new VError(error, 'Failed to execute debug provider');
891
+ }
892
+ };
893
+ const getCallStack = async protocol => {
894
+ try {
895
+ const provider = getDebugProvider(protocol);
896
+ return await provider.getCallStack();
897
+ } catch (error) {
898
+ throw new VError(error, 'Failed to execute debug provider');
899
+ }
900
+ };
901
+ const getScopeChain = async protocol => {
902
+ try {
903
+ const provider = getDebugProvider(protocol);
904
+ return await provider.getScopeChain();
905
+ } catch (error) {
906
+ throw new VError(error, 'Failed to execute debug provider');
907
+ }
908
+ };
909
+ const getScripts = async protocol => {
910
+ try {
911
+ const provider = getDebugProvider(protocol);
912
+ return await provider.getScripts();
913
+ } catch (error) {
914
+ throw new VError(error, 'Failed to execute debug provider');
915
+ }
916
+ };
837
917
  const stepInto = async protocol => {
838
918
  try {
839
919
  const provider = getDebugProvider(protocol);
@@ -893,7 +973,7 @@ const setPauseOnExceptions = async (protocol, value) => {
893
973
 
894
974
  const {
895
975
  registerDefinitionProvider,
896
- executeDefinitionProvider} = create$c({
976
+ executeDefinitionProvider} = create$d({
897
977
  name: 'Definition',
898
978
  resultShape: {
899
979
  allowUndefined: true,
@@ -915,7 +995,7 @@ const {
915
995
  const {
916
996
  registerDiagnosticProvider,
917
997
  executeDiagnosticProvider
918
- } = create$c({
998
+ } = create$d({
919
999
  name: 'Diagnostic',
920
1000
  resultShape: {
921
1001
  type: Array$1,
@@ -925,6 +1005,8 @@ const {
925
1005
  }
926
1006
  });
927
1007
 
1008
+ const RendererWorker = 1;
1009
+
928
1010
  const invoke$2 = (method, ...params) => {
929
1011
  const rpc = get$a(RendererWorker);
930
1012
  return rpc.invoke(method, ...params);
@@ -1031,7 +1113,7 @@ const getPathSeparator = protocol => {
1031
1113
 
1032
1114
  const {
1033
1115
  registerFormattingProvider,
1034
- executeFormattingProvider} = create$c({
1116
+ executeFormattingProvider} = create$d({
1035
1117
  name: 'Formatting',
1036
1118
  executeKey: 'format',
1037
1119
  resultShape: {
@@ -1093,7 +1175,7 @@ const getPosition = (textDocument, offset) => {
1093
1175
 
1094
1176
  const {
1095
1177
  registerHoverProvider,
1096
- executeHoverProvider} = create$c({
1178
+ executeHoverProvider} = create$d({
1097
1179
  name: 'Hover',
1098
1180
  resultShape: {
1099
1181
  allowUndefined: true,
@@ -1104,7 +1186,7 @@ const {
1104
1186
 
1105
1187
  const {
1106
1188
  registerImplementationProvider,
1107
- executeImplementationProvider} = create$c({
1189
+ executeImplementationProvider} = create$d({
1108
1190
  name: 'Implementation',
1109
1191
  resultShape: {
1110
1192
  type: Array$1,
@@ -1730,6 +1812,16 @@ const constructError = (message, type, name) => {
1730
1812
  }
1731
1813
  return new ErrorConstructor(message);
1732
1814
  };
1815
+ const joinLines = lines => {
1816
+ return lines.join(NewLine$1);
1817
+ };
1818
+ const splitLines$1 = lines => {
1819
+ return lines.split(NewLine$1);
1820
+ };
1821
+ const getCurrentStack = () => {
1822
+ const currentStack = joinLines(splitLines$1(new Error().stack || '').slice(2));
1823
+ return currentStack;
1824
+ };
1733
1825
  const getNewLineIndex = (string, startIndex = undefined) => {
1734
1826
  return string.indexOf(NewLine$1, startIndex);
1735
1827
  };
@@ -1740,19 +1832,16 @@ const getParentStack = error => {
1740
1832
  }
1741
1833
  return parentStack;
1742
1834
  };
1743
- const joinLines = lines => {
1744
- return lines.join(NewLine$1);
1745
- };
1746
1835
  const MethodNotFound = -32601;
1747
1836
  const Custom = -32001;
1748
- const splitLines$1 = lines => {
1749
- return lines.split(NewLine$1);
1750
- };
1751
1837
  const restoreJsonRpcError = error => {
1838
+ const currentStack = getCurrentStack();
1752
1839
  if (error && error instanceof Error) {
1840
+ if (typeof error.stack === 'string') {
1841
+ error.stack = error.stack + NewLine$1 + currentStack;
1842
+ }
1753
1843
  return error;
1754
1844
  }
1755
- const currentStack = joinLines(splitLines$1(new Error().stack || '').slice(1));
1756
1845
  if (error && error.code && error.code === MethodNotFound) {
1757
1846
  const restoredError = new JsonRpcError(error.message);
1758
1847
  const parentStack = getParentStack(error);
@@ -1864,18 +1953,18 @@ const getErrorProperty = (error, prettyError) => {
1864
1953
  }
1865
1954
  };
1866
1955
  };
1867
- const create$1$2 = (message, error) => {
1956
+ const create$1$2 = (id, error) => {
1868
1957
  return {
1869
1958
  jsonrpc: Two,
1870
- id: message.id,
1959
+ id,
1871
1960
  error
1872
1961
  };
1873
1962
  };
1874
- const getErrorResponse = (message, error, preparePrettyError, logError) => {
1963
+ const getErrorResponse = (id, error, preparePrettyError, logError) => {
1875
1964
  const prettyError = preparePrettyError(error);
1876
1965
  logError(error, prettyError);
1877
1966
  const errorProperty = getErrorProperty(error, prettyError);
1878
- return create$1$2(message, errorProperty);
1967
+ return create$1$2(id, errorProperty);
1879
1968
  };
1880
1969
  const create$8 = (message, result) => {
1881
1970
  return {
@@ -1888,12 +1977,27 @@ const getSuccessResponse = (message, result) => {
1888
1977
  const resultProperty = result ?? null;
1889
1978
  return create$8(message, resultProperty);
1890
1979
  };
1980
+ const getErrorResponseSimple = (id, error) => {
1981
+ return {
1982
+ jsonrpc: Two,
1983
+ id,
1984
+ error: {
1985
+ code: Custom,
1986
+ // @ts-ignore
1987
+ message: error.message,
1988
+ data: error
1989
+ }
1990
+ };
1991
+ };
1891
1992
  const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
1892
1993
  try {
1893
1994
  const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
1894
1995
  return getSuccessResponse(message, result);
1895
1996
  } catch (error) {
1896
- return getErrorResponse(message, error, preparePrettyError, logError);
1997
+ if (ipc.canUseSimpleErrorResponse) {
1998
+ return getErrorResponseSimple(message.id, error);
1999
+ }
2000
+ return getErrorResponse(message.id, error, preparePrettyError, logError);
1897
2001
  }
1898
2002
  };
1899
2003
  const defaultPreparePrettyError = error => {
@@ -1948,7 +2052,7 @@ const handleJsonRpcMessage = async (...args) => {
1948
2052
  try {
1949
2053
  ipc.send(response);
1950
2054
  } catch (error) {
1951
- const errorResponse = getErrorResponse(message, error, preparePrettyError, logError);
2055
+ const errorResponse = getErrorResponse(message.id, error, preparePrettyError, logError);
1952
2056
  ipc.send(errorResponse);
1953
2057
  }
1954
2058
  return;
@@ -2279,6 +2383,7 @@ const getPlatform = () => {
2279
2383
  // @ts-ignore
2280
2384
  return PLATFORM;
2281
2385
  }
2386
+ // @ts-ignore
2282
2387
  if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') {
2283
2388
  return Test;
2284
2389
  }
@@ -2388,7 +2493,7 @@ const showQuickPick = async ({
2388
2493
  const {
2389
2494
  registerReferenceProvider,
2390
2495
  executeReferenceProvider,
2391
- executefileReferenceProvider} = create$c({
2496
+ executefileReferenceProvider} = create$d({
2392
2497
  name: 'Reference',
2393
2498
  resultShape: {
2394
2499
  type: Array$1,
@@ -2413,7 +2518,7 @@ const {
2413
2518
  const {
2414
2519
  registerRenameProvider,
2415
2520
  executeRenameProvider,
2416
- executeprepareRenameProvider} = create$c({
2521
+ executeprepareRenameProvider} = create$d({
2417
2522
  name: 'Rename',
2418
2523
  resultShape: {
2419
2524
  type: Object$1,
@@ -2573,7 +2678,7 @@ const createRpc = ({
2573
2678
 
2574
2679
  const {
2575
2680
  registerSelectionProvider,
2576
- executeSelectionProvider} = create$c({
2681
+ executeSelectionProvider} = create$d({
2577
2682
  name: 'Selection',
2578
2683
  resultShape: {
2579
2684
  allowUndefined: true,
@@ -2679,7 +2784,7 @@ const getEnabledProviderIds = async (scheme, root) => {
2679
2784
 
2680
2785
  const {
2681
2786
  registerTabCompletionProvider,
2682
- executeTabCompletionProvider} = create$c({
2787
+ executeTabCompletionProvider} = create$d({
2683
2788
  name: 'TabCompletion',
2684
2789
  resultShape: {
2685
2790
  type: Object$1,
@@ -2718,7 +2823,7 @@ const executeTextSearchProvider = async (scheme, query) => {
2718
2823
 
2719
2824
  const {
2720
2825
  registerTypeDefinitionProvider,
2721
- executeTypeDefinitionProvider} = create$c({
2826
+ executeTypeDefinitionProvider} = create$d({
2722
2827
  name: 'TypeDefinition',
2723
2828
  resultShape: {
2724
2829
  allowUndefined: true,
@@ -5011,7 +5116,7 @@ const handleMessagePort2 = async (port, rpcId) => {
5011
5116
  commandMap: {}
5012
5117
  });
5013
5118
  if (rpcId) {
5014
- set$a(rpcId, rpc);
5119
+ set$d(rpcId, rpc);
5015
5120
  }
5016
5121
  };
5017
5122
 
@@ -5021,7 +5126,7 @@ const handleMessagePort = async (port, rpcId) => {
5021
5126
  commandMap: {}
5022
5127
  });
5023
5128
  if (rpcId) {
5024
- set$a(rpcId, rpc);
5129
+ set$d(rpcId, rpc);
5025
5130
  }
5026
5131
  };
5027
5132
 
@@ -5587,6 +5692,7 @@ const commandMap = {
5587
5692
  'ExecuteExternalCommand.executeExternalCommand': executeExternalCommand,
5588
5693
  'ExtensionHostDebug.evaluate': evaluate,
5589
5694
  'ExtensionHostDebug.getProperties': getProperties,
5695
+ 'ExtensionHostDebug.getScriptSource': getScriptSource,
5590
5696
  'ExtensionHostDebug.listProcesses': listProcesses,
5591
5697
  'ExtensionHostDebug.pause': pause,
5592
5698
  'ExtensionHostDebug.resume': resume,
@@ -5596,6 +5702,10 @@ const commandMap = {
5596
5702
  'ExtensionHostDebug.stepInto': stepInto,
5597
5703
  'ExtensionHostDebug.stepOut': stepOut,
5598
5704
  'ExtensionHostDebug.stepOver': stepOver,
5705
+ 'ExtensionHostDebug.getStatus': getStatus,
5706
+ 'ExtensionHostDebug.getCallStack': getCallStack,
5707
+ 'ExtensionHostDebug.getScopeChain': getScopeChain,
5708
+ 'ExtensionHostDebug.getScripts': getScripts,
5599
5709
  'ExtensionHostRename.executeprepareRenameProvider': executeprepareRenameProvider,
5600
5710
  'ExtensionHostRename.executeRenameProvider': executeRenameProvider,
5601
5711
  'ExtensionHostWebView.create': createWebView,
@@ -5697,7 +5807,7 @@ const listen = async () => {
5697
5807
  const rpc = await WebWorkerRpcClient.create({
5698
5808
  commandMap: commandMap
5699
5809
  });
5700
- set$a(RendererWorker, rpc);
5810
+ set$d(RendererWorker, rpc);
5701
5811
  };
5702
5812
 
5703
5813
  const main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-host-worker",
3
- "version": "5.8.0",
3
+ "version": "5.10.0",
4
4
  "description": "Webworker for the extension host functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"