@lvce-editor/extension-host-worker 7.0.0 → 8.0.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.
@@ -778,10 +778,14 @@ const setConfigurations = preferences => {
778
778
  };
779
779
 
780
780
  const DebugWorker$1 = 55;
781
+ const ExtensionManagementWorker = 9006;
781
782
  const RendererWorker$1 = 1;
782
783
 
783
784
  const rpcs$2 = Object.create(null);
784
785
  const set$c = (id, rpc) => {
786
+ if (rpcs$2[id]) {
787
+ throw new Error(`rpc with id ${id} is already registered`);
788
+ }
785
789
  rpcs$2[id] = rpc;
786
790
  };
787
791
  const get$b = id => {
@@ -814,16 +818,16 @@ const create$9 = rpcId => {
814
818
 
815
819
  const {
816
820
  dispose,
817
- invoke: invoke$5,
818
- invokeAndTransfer: invokeAndTransfer$4,
821
+ invoke: invoke$6,
822
+ invokeAndTransfer: invokeAndTransfer$5,
819
823
  set: set$b
820
824
  } = create$9(DebugWorker$1);
821
825
 
822
826
  const DebugWorker = {
823
827
  __proto__: null,
824
828
  dispose,
825
- invoke: invoke$5,
826
- invokeAndTransfer: invokeAndTransfer$4,
829
+ invoke: invoke$6,
830
+ invokeAndTransfer: invokeAndTransfer$5,
827
831
  set: set$b
828
832
  };
829
833
 
@@ -1711,10 +1715,10 @@ const send$1 = (transport, method, ...params) => {
1711
1715
  const message = create$4$2(method, params);
1712
1716
  transport.send(message);
1713
1717
  };
1714
- const invoke$4 = (ipc, method, ...params) => {
1718
+ const invoke$5 = (ipc, method, ...params) => {
1715
1719
  return invokeHelper(ipc, method, params, false);
1716
1720
  };
1717
- const invokeAndTransfer$3 = (ipc, method, ...params) => {
1721
+ const invokeAndTransfer$4 = (ipc, method, ...params) => {
1718
1722
  return invokeHelper(ipc, method, params, true);
1719
1723
  };
1720
1724
 
@@ -1750,10 +1754,10 @@ const createRpc$1 = ipc => {
1750
1754
  send$1(ipc, method, ...params);
1751
1755
  },
1752
1756
  invoke(method, ...params) {
1753
- return invoke$4(ipc, method, ...params);
1757
+ return invoke$5(ipc, method, ...params);
1754
1758
  },
1755
1759
  invokeAndTransfer(method, ...params) {
1756
- return invokeAndTransfer$3(ipc, method, ...params);
1760
+ return invokeAndTransfer$4(ipc, method, ...params);
1757
1761
  },
1758
1762
  async dispose() {
1759
1763
  await ipc?.dispose();
@@ -1909,15 +1913,49 @@ const WebWorkerRpcClient = {
1909
1913
  };
1910
1914
 
1911
1915
  const {
1912
- invoke: invoke$3,
1913
- invokeAndTransfer: invokeAndTransfer$2} = create$9(RendererWorker$1);
1916
+ invoke: invoke$4,
1917
+ invokeAndTransfer: invokeAndTransfer$3} = create$9(RendererWorker$1);
1914
1918
  const sendMessagePortToIframeWorker = async (port, rpcId) => {
1915
1919
  const command = 'Iframes.handleMessagePort';
1916
- await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToIframeWorker', port, command, rpcId);
1920
+ await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToIframeWorker', port, command, rpcId);
1921
+ };
1922
+ const sendMessagePortToExtensionManagementWorker = async (port, rpcId) => {
1923
+ const command = 'Extensions.handleMessagePort';
1924
+ await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionManagementWorker', port, command, rpcId);
1925
+ };
1926
+
1927
+ const createLazyRpc = rpcId => {
1928
+ let rpcPromise;
1929
+ let factory;
1930
+ const createRpc = async () => {
1931
+ const rpc = await factory();
1932
+ set$c(rpcId, rpc);
1933
+ };
1934
+ const ensureRpc = async () => {
1935
+ if (!rpcPromise) {
1936
+ rpcPromise = createRpc();
1937
+ }
1938
+ await rpcPromise;
1939
+ };
1940
+ return {
1941
+ async invoke(method, ...params) {
1942
+ await ensureRpc();
1943
+ const rpc = get$b(rpcId);
1944
+ return rpc.invoke(method, ...params);
1945
+ },
1946
+ async invokeAndTransfer(method, ...params) {
1947
+ await ensureRpc();
1948
+ const rpc = get$b(rpcId);
1949
+ return rpc.invokeAndTransfer(method, ...params);
1950
+ },
1951
+ setFactory(value) {
1952
+ factory = value;
1953
+ }
1954
+ };
1917
1955
  };
1918
1956
 
1919
1957
  const {
1920
- invoke: invoke$2
1958
+ invoke: invoke$3
1921
1959
  } = DebugWorker;
1922
1960
 
1923
1961
  const state$9 = {
@@ -1939,20 +1977,20 @@ const registerDebugProvider = debugProvider => {
1939
1977
  };
1940
1978
  const handlePaused = async params => {
1941
1979
  // @ts-ignore
1942
- await invoke$2('Debug.paused', params);
1980
+ await invoke$3('Debug.paused', params);
1943
1981
  };
1944
1982
  const handleResumed = async () => {
1945
1983
  // @ts-ignore
1946
- await invoke$2('Debug.resumed');
1984
+ await invoke$3('Debug.resumed');
1947
1985
  };
1948
1986
  const handleScriptParsed = async parsedScript => {
1949
1987
  // @ts-ignore
1950
- await invoke$2('Debug.scriptParsed', parsedScript);
1988
+ await invoke$3('Debug.scriptParsed', parsedScript);
1951
1989
  };
1952
1990
  const handleChange = async params => {
1953
1991
  object(params);
1954
1992
  // @ts-ignore
1955
- await invoke$2('Debug.handleChange', params);
1993
+ await invoke$3('Debug.handleChange', params);
1956
1994
  };
1957
1995
  const start = async (protocol, path) => {
1958
1996
  try {
@@ -2138,18 +2176,18 @@ const {
2138
2176
 
2139
2177
  const RendererWorker = 1;
2140
2178
 
2141
- const invoke$1 = (method, ...params) => {
2179
+ const invoke$2 = (method, ...params) => {
2142
2180
  const rpc = get$b(RendererWorker);
2143
2181
  return rpc.invoke(method, ...params);
2144
2182
  };
2145
- const invokeAndTransfer$1 = (method, ...params) => {
2183
+ const invokeAndTransfer$2 = (method, ...params) => {
2146
2184
  const rpc = get$b(RendererWorker);
2147
2185
  return rpc.invokeAndTransfer(method, ...params);
2148
2186
  };
2149
2187
 
2150
2188
  const showInformationMessage = message => {
2151
2189
  string(message);
2152
- const result = invoke$1('ExtensionHostDialog.showInformationMessage', message);
2190
+ const result = invoke$2('ExtensionHostDialog.showInformationMessage', message);
2153
2191
  return result;
2154
2192
  };
2155
2193
 
@@ -2212,24 +2250,24 @@ const readFileExternal = async path => {
2212
2250
  // this avoid parsing the potentially large message
2213
2251
  // and improve performance by not blocking the renderer worker
2214
2252
  // when reading / writing large files
2215
- const content = await invoke$1('FileSystem.readFile', path);
2253
+ const content = await invoke$2('FileSystem.readFile', path);
2216
2254
  return content;
2217
2255
  };
2218
2256
  const removeExternal = async path => {
2219
- const content = await invoke$1('FileSystem.remove', path);
2257
+ const content = await invoke$2('FileSystem.remove', path);
2220
2258
  return content;
2221
2259
  };
2222
2260
  const existsExternal = async uri => {
2223
- return await invoke$1('FileSystem.exists', uri);
2261
+ return await invoke$2('FileSystem.exists', uri);
2224
2262
  };
2225
2263
  const mkdirExternal = async uri => {
2226
- return await invoke$1('FileSystem.mkdir', uri);
2264
+ return await invoke$2('FileSystem.mkdir', uri);
2227
2265
  };
2228
2266
  const writeFileExternal = async (uri, content) => {
2229
- return await invoke$1('FileSystem.writeFile', uri, content);
2267
+ return await invoke$2('FileSystem.writeFile', uri, content);
2230
2268
  };
2231
2269
  const statExternal = async uri => {
2232
- return await invoke$1('FileSystem.stat', uri);
2270
+ return await invoke$2('FileSystem.stat', uri);
2233
2271
  };
2234
2272
  const readDirWithFileTypesExternal = async path => {
2235
2273
  // TODO when file is local,
@@ -2238,7 +2276,7 @@ const readDirWithFileTypesExternal = async path => {
2238
2276
  // this avoid parsing the potentially large message
2239
2277
  // and improve performance by not blocking the renderer worker
2240
2278
  // when reading / writing large files
2241
- const content = await invoke$1('FileSystem.readDirWithFileTypes', path);
2279
+ const content = await invoke$2('FileSystem.readDirWithFileTypes', path);
2242
2280
  return content;
2243
2281
  };
2244
2282
  const remove$3 = async (protocol, path) => {
@@ -2381,7 +2419,7 @@ const sendPort = async ({
2381
2419
  port,
2382
2420
  url
2383
2421
  }) => {
2384
- await invokeAndTransfer$1('IpcParent.create', {
2422
+ await invokeAndTransfer$2('IpcParent.create', {
2385
2423
  method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
2386
2424
  name,
2387
2425
  port,
@@ -2422,7 +2460,7 @@ const IpcParentWithModuleWorkerAndWorkaroundForChromeDevtoolsBug = {
2422
2460
  };
2423
2461
 
2424
2462
  const sendMessagePortToElectron = async (port, initialCommand) => {
2425
- await invokeAndTransfer$1('SendMessagePortToElectron.sendMessagePortToElectron', port, initialCommand);
2463
+ await invokeAndTransfer$2('SendMessagePortToElectron.sendMessagePortToElectron', port, initialCommand);
2426
2464
  };
2427
2465
 
2428
2466
  const getPort = async type => {
@@ -2582,7 +2620,7 @@ const createNodeRpc = async ({
2582
2620
 
2583
2621
  const send = async port => {
2584
2622
  const initialCommand = 'FileSystem.handleMessagePort';
2585
- await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, initialCommand);
2623
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, initialCommand);
2586
2624
  };
2587
2625
  const launchFileSystemProcess = async () => {
2588
2626
  const rpc = await TransferMessagePortRpcParent.create({
@@ -2663,7 +2701,7 @@ const getEnabledProviders = () => {
2663
2701
 
2664
2702
  const confirm = message => {
2665
2703
  string(message);
2666
- const result = invoke$1('ConfirmPrompt.prompt', message);
2704
+ const result = invoke$2('ConfirmPrompt.prompt', message);
2667
2705
  return result;
2668
2706
  };
2669
2707
 
@@ -2675,7 +2713,7 @@ const showQuickPick = async ({
2675
2713
  }) => {
2676
2714
  const rawPicks = await getPicks();
2677
2715
  const picks = rawPicks.map(toPick);
2678
- return invoke$1(ExtensionHostQuickPickShow, picks);
2716
+ return invoke$2(ExtensionHostQuickPickShow, picks);
2679
2717
  };
2680
2718
 
2681
2719
  const {
@@ -2766,7 +2804,7 @@ const extensionHostSubWorkerUrl = getExtensionHostSubWorkerUrl();
2766
2804
 
2767
2805
  const set$8 = async (url, contentSecurityPolicy) => {
2768
2806
  const pathName = new URL(url).pathname;
2769
- await invoke$1('ExtensionHostWorkerContentSecurityPolicy.set', pathName, contentSecurityPolicy);
2807
+ await invoke$2('ExtensionHostWorkerContentSecurityPolicy.set', pathName, contentSecurityPolicy);
2770
2808
  };
2771
2809
 
2772
2810
  /**
@@ -2921,62 +2959,16 @@ const getProtocol = uri => {
2921
2959
  return '';
2922
2960
  };
2923
2961
 
2924
- const createWebViewIpc = async webView => {
2925
- const {
2926
- origin,
2927
- uid
2928
- } = webView;
2929
- const {
2930
- port1,
2931
- port2
2932
- } = getPortTuple();
2933
- const rpcPromise = MessagePortRpcParent.create({
2934
- commandMap: {},
2935
- isMessagePortOpen: false,
2936
- messagePort: port2
2937
- });
2938
- const portType = 'test';
2939
- await invokeAndTransfer$1('WebView.setPort', uid, port1, origin, portType);
2940
- // TODO maybe don't send a message port only to get object url?
2941
- // TODO dispose rpc to avoid memory leak
2942
- const rpc = await rpcPromise;
2943
- return rpc;
2944
- };
2945
-
2946
- const webViews = Object.create(null);
2947
- const webViewProviders = Object.create(null);
2948
- const getProvider = providerId => {
2949
- return webViewProviders[providerId];
2950
- };
2951
- const setProvider = (providerId, provider) => {
2952
- webViewProviders[providerId] = provider;
2953
- };
2954
- const getWebView = id => {
2955
- return webViews[id];
2956
- };
2957
- const setWebView = (id, webView) => {
2958
- webViews[id] = webView;
2959
- };
2960
- const getWebViews$1 = () => {
2961
- return webViews;
2962
- };
2962
+ // @ts-ignore
2963
2963
 
2964
- // TODO if webViewId is provided,
2965
- // 1. read file as blob
2966
- // 2. send blob to webview
2967
- // 3. create objecturl in webview
2968
- // 4. send back objecturl to extension host worker
2969
- // 5. provide objectUrl to extension
2964
+ const {
2965
+ invoke: invoke$1,
2966
+ invokeAndTransfer: invokeAndTransfer$1,
2967
+ setFactory
2968
+ } = createLazyRpc(ExtensionManagementWorker);
2970
2969
 
2971
2970
  const getRemoteUrlForWebView = async (uri, options = {}) => {
2972
- // TODO webviews should be stored in iframe worker
2973
- const webView = getWebView(options.webViewId);
2974
- if (!webView) {
2975
- throw new Error(`webview ${options.webViewId} not found`);
2976
- }
2977
- const [rpc, blob] = await Promise.all([createWebViewIpc(webView), invoke$1('FileSystem.getBlob', uri)]);
2978
- const objectUrl = await rpc.invoke('createObjectUrl', blob);
2979
- return objectUrl;
2971
+ return await invoke$1('Extensions.getRemoteUrlForWebView', uri, options);
2980
2972
  };
2981
2973
 
2982
2974
  const isFileProtocol = protocol => {
@@ -3013,7 +3005,7 @@ const getRemoteUrl$1 = async (uri, options = {}) => {
3013
3005
  return getRemoteUrlForWebView(uri, options);
3014
3006
  }
3015
3007
  if (uri.startsWith('html://')) {
3016
- const url = await invoke$1('Blob.getSrc', uri);
3008
+ const url = await invoke$2('Blob.getSrc', uri);
3017
3009
  return url;
3018
3010
  }
3019
3011
  throw new Error(`unsupported platform for remote url`);
@@ -3056,7 +3048,7 @@ const getWebExtensions = async () => {
3056
3048
  };
3057
3049
 
3058
3050
  const getSharedProcessExtensions = () => {
3059
- return invoke$1(/* ExtensionManagement.getExtensions */'ExtensionManagement.getExtensions');
3051
+ return invoke$2(/* ExtensionManagement.getExtensions */'ExtensionManagement.getExtensions');
3060
3052
  };
3061
3053
  const doGetExtensions = async () => {
3062
3054
  const meta = state$8.webExtensions;
@@ -3278,6 +3270,24 @@ const {
3278
3270
  }
3279
3271
  });
3280
3272
 
3273
+ const webViews = Object.create(null);
3274
+ const webViewProviders = Object.create(null);
3275
+ const getProvider = providerId => {
3276
+ return webViewProviders[providerId];
3277
+ };
3278
+ const setProvider = (providerId, provider) => {
3279
+ webViewProviders[providerId] = provider;
3280
+ };
3281
+ const getWebView = id => {
3282
+ return webViews[id];
3283
+ };
3284
+ const setWebView = (id, webView) => {
3285
+ webViews[id] = webView;
3286
+ };
3287
+ const getWebViews$1 = () => {
3288
+ return webViews;
3289
+ };
3290
+
3281
3291
  // TODO pass uuid to allow having multiple webviews open at the same time
3282
3292
 
3283
3293
  /**
@@ -3364,7 +3374,7 @@ const getWorkspaceFolder = path => {
3364
3374
  };
3365
3375
  const handleWorkspaceRefresh = async () => {
3366
3376
  // @ts-ignore
3367
- await invoke$3('Layout.handleWorkspaceRefresh');
3377
+ await invoke$4('Layout.handleWorkspaceRefresh');
3368
3378
  };
3369
3379
 
3370
3380
  class FormattingError extends Error {
@@ -4184,7 +4194,7 @@ const applyBulkReplacement = async (files, ranges, replacement) => {
4184
4194
  };
4185
4195
 
4186
4196
  const addCssStyleSheet = (id, css) => {
4187
- return invoke$1('Css.addCssStyleSheet', id, css);
4197
+ return invoke$2('Css.addCssStyleSheet', id, css);
4188
4198
  };
4189
4199
 
4190
4200
  const warn = (...args) => {
@@ -4617,10 +4627,10 @@ const GetColorThemeCssCachedIndexedDb = {
4617
4627
  };
4618
4628
 
4619
4629
  const getText$1 = key => {
4620
- return invoke$1('LocalStorage.getText', key);
4630
+ return invoke$2('LocalStorage.getText', key);
4621
4631
  };
4622
4632
  const setText = (key, value) => {
4623
- return invoke$1('LocalStorage.setText', key, value);
4633
+ return invoke$2('LocalStorage.setText', key, value);
4624
4634
  };
4625
4635
 
4626
4636
  const getCacheKey = colorThemeId => {
@@ -4655,7 +4665,7 @@ const GetColorThemeCssCachedNoop = {
4655
4665
  };
4656
4666
 
4657
4667
  const get = key => {
4658
- return invoke$1('Preferences.get', key);
4668
+ return invoke$2('Preferences.get', key);
4659
4669
  };
4660
4670
 
4661
4671
  const getCacheFn = config => {
@@ -4681,7 +4691,7 @@ const getColorThemeCssCached = async (colorThemeId, getData) => {
4681
4691
  };
4682
4692
 
4683
4693
  const readJson = url => {
4684
- return invoke$1('FileSystem.readJson', url);
4694
+ return invoke$2('FileSystem.readJson', url);
4685
4695
  };
4686
4696
 
4687
4697
  const dirname = (pathSeparator, path) => {
@@ -4763,7 +4773,7 @@ const getMetaThemeColor = colorThemeJson => {
4763
4773
  };
4764
4774
 
4765
4775
  const setThemeColor = async themeColor => {
4766
- await invoke$1(/* Meta.setThemeColor */'Meta.setThemeColor', /* color */themeColor);
4776
+ await invoke$2(/* Meta.setThemeColor */'Meta.setThemeColor', /* color */themeColor);
4767
4777
  };
4768
4778
 
4769
4779
  // TODO by default color theme should come from local storage, session storage, cache storage, indexeddb or blob url -> fast initial load
@@ -4799,7 +4809,7 @@ const watch = async id => {
4799
4809
  return;
4800
4810
  }
4801
4811
  state$1.watchedTheme = id;
4802
- await invoke$1('ExtensionHost.watchColorTheme', id);
4812
+ await invoke$2('ExtensionHost.watchColorTheme', id);
4803
4813
  };
4804
4814
  const getPreferredColorTheme = () => {
4805
4815
  const preferredColorTheme = get('workbench.colorTheme');
@@ -4872,46 +4882,18 @@ const createWebView3 = async ({
4872
4882
  };
4873
4883
 
4874
4884
  const createWebViewWorkerRpc2 = async (rpcInfo, port) => {
4875
- // TODO this function is called from the iframe worker to create a direct
4876
- // connection between a webview/iframe and it's webworker. For this to work
4877
- // the iframe worker creates a messagechannel and sends one messageport to the webview
4878
- // and the other messageport to the webworker. This enables direct communication via
4879
- // the two message ports
4880
-
4881
- // TODO have a way so that the worker already includes the webview api and the extension
4882
- // host subworker doesn't need to import the other file
4883
- await invokeAndTransfer$1('IpcParent.create', {
4884
- method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
4885
- name: rpcInfo.name,
4886
- port,
4887
- raw: true,
4888
- url: rpcInfo.url
4889
- });
4885
+ await invokeAndTransfer$1('Extensions.createWebViewWorkerRpc2', rpcInfo, port);
4890
4886
  };
4891
4887
 
4892
4888
  /**
4893
4889
  * @deprecated use createWebViewWorkerRpc2 which passes the worker url as a parameter
4894
4890
  */
4895
4891
  const createWebViewWorkerRpc = async (rpcInfo, port) => {
4896
- // TODO this function is called from the iframe worker to create a direct
4897
- // connection between a webview/iframe and it's webworker. For this to work
4898
- // the iframe worker creates a messagechannel and sends one messageport to the webview
4899
- // and the other messageport to the webworker. This enables direct communication via
4900
- // the two message ports
4901
-
4902
- // TODO have a way so that the worker already includes the webview api and the extension
4903
- // host subworker doesn't need to import the other file
4904
- await invokeAndTransfer$1('IpcParent.create', {
4905
- method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
4906
- name: rpcInfo.name,
4907
- port,
4908
- raw: true,
4909
- url: extensionHostSubWorkerUrl
4910
- });
4892
+ await invokeAndTransfer$1('Extensions.createWebViewWorkerRpc', rpcInfo, port);
4911
4893
  };
4912
4894
 
4913
4895
  const executeExternalCommand = (method, ...params) => {
4914
- return invoke$1(method, ...params);
4896
+ return invoke$2(method, ...params);
4915
4897
  };
4916
4898
 
4917
4899
  const BraceCompletionExecuteBraceCompletionProvider = 'ExtensionHostBraceCompletion.executeBraceCompletionProvider';
@@ -4979,7 +4961,7 @@ const mockExec = () => {
4979
4961
  try {
4980
4962
  // @ts-ignore
4981
4963
  api.exec = async (command, args, options) => {
4982
- const result = await invoke$1('Test.executeMockExecFunction', command, args, options);
4964
+ const result = await invoke$2('Test.executeMockExecFunction', command, args, options);
4983
4965
  const {
4984
4966
  exitCode,
4985
4967
  stderr,
@@ -5005,7 +4987,7 @@ const mockRpc = () => {
5005
4987
  try {
5006
4988
  return {
5007
4989
  async invoke(method, ...params) {
5008
- const result = await invoke$1('Test.executeMockRpcFunction', options.name, method, ...params);
4990
+ const result = await invoke$2('Test.executeMockRpcFunction', options.name, method, ...params);
5009
4991
  return result;
5010
4992
  }
5011
4993
  };
@@ -5479,12 +5461,8 @@ const getIconThemeJson = async iconThemeId => {
5479
5461
  return getIconThemeJson$1(iconThemeId);
5480
5462
  };
5481
5463
 
5482
- const getRpcInfo = rpcId => {
5483
- const info = get$8(rpcId);
5484
- if (!info) {
5485
- throw new Error(`Rpc not found ${rpcId}`);
5486
- }
5487
- return info;
5464
+ const getRpcInfo = async rpcId => {
5465
+ return await invoke$1('Extensions.getRpcInfo', rpcId);
5488
5466
  };
5489
5467
 
5490
5468
  const emptyStatus = {
@@ -5571,7 +5549,7 @@ const handleMessagePort = async (port, rpcId) => {
5571
5549
  };
5572
5550
 
5573
5551
  const handleIconThemeChange = async () => {
5574
- await invoke$1('IconTheme.handleIconThemeChange');
5552
+ await invoke$2('IconTheme.handleIconThemeChange');
5575
5553
  };
5576
5554
 
5577
5555
  const initialIconTheme = undefined;
@@ -6326,7 +6304,18 @@ const commandMap = {
6326
6304
  'WebViews.getWebViews': getWebViews
6327
6305
  };
6328
6306
 
6307
+ const launchExtensionManagementWorker = async () => {
6308
+ const rpc = await TransferMessagePortRpcParent.create({
6309
+ commandMap: {},
6310
+ async send(port) {
6311
+ await sendMessagePortToExtensionManagementWorker(port, 0);
6312
+ }
6313
+ });
6314
+ return rpc;
6315
+ };
6316
+
6329
6317
  const listen = async () => {
6318
+ setFactory(launchExtensionManagementWorker);
6330
6319
  const rpc = await WebWorkerRpcClient.create({
6331
6320
  commandMap: commandMap
6332
6321
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-host-worker",
3
- "version": "7.0.0",
3
+ "version": "8.0.0",
4
4
  "description": "Webworker for the extension host functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"