@lvce-editor/extension-management-worker 4.88.2 → 4.88.4

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.
@@ -2187,7 +2187,7 @@ const getAllExtensionsWithState = async (extensionsState, assetDir, platform, fi
2187
2187
  const compatibleExtensions = [...webExtensions, ...meta].filter(extension => isExtensionCompatible(extension, resolvedPlatform));
2188
2188
  extensions = await getExtensionsWithState(compatibleExtensions, extensionsState, resolvedPlatform);
2189
2189
  } else {
2190
- const local = await invoke$3('ExtensionManagement.getAllExtensions');
2190
+ const local = fields === undefined ? await invoke$3('ExtensionManagement.getAllExtensions') : await invoke$3('ExtensionManagement.getAllExtensions', [...new Set([...fields, 'id', 'disabled'])]);
2191
2191
  extensions = await getExtensionsWithState([...local, ...meta], extensionsState, resolvedPlatform);
2192
2192
  }
2193
2193
  if (fields === undefined) {
@@ -2542,8 +2542,11 @@ const handleRpcInfos = (extension, platform) => {
2542
2542
  if (rpc.type === 'node' || rpc.type === 'node-process') {
2543
2543
  continue;
2544
2544
  }
2545
- rpc.url = `${urlPrefix}/${rpc.url}`;
2546
- add$1(rpc.id, rpc);
2545
+ const resolvedRpc = {
2546
+ ...rpc,
2547
+ url: `${urlPrefix}/${rpc.url}`
2548
+ };
2549
+ add$1(resolvedRpc.id, resolvedRpc);
2547
2550
  }
2548
2551
  } catch (error) {
2549
2552
  console.warn(`Failed to handle extension rpcs: ${error}`);
@@ -3913,6 +3916,9 @@ const executeLanguageServerCompletion = async (rpc, extension, textDocument, off
3913
3916
  return result.map(sanitizeCompletionItem).filter(item => item !== undefined);
3914
3917
  };
3915
3918
 
3919
+ // Preserve provider activation, RPC permissions, application identity and language-server metadata.
3920
+ const languageProviderManifestFields = ['applicationGeneration', 'applicationId', 'browser', 'builtin', 'completionProviders', 'contentSecurityPolicy', 'diagnosticProviders', 'disabled', 'id', 'isolated', 'isWeb', 'languageServers', 'path', 'rpc', 'uri', 'workerName'];
3921
+
3916
3922
  /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
3917
3923
 
3918
3924
  const contributesCompletionProvider = (extension, languageId) => {
@@ -3922,7 +3928,7 @@ const contributesLanguageServer$3 = (extension, languageId) => {
3922
3928
  return Array.isArray(extension.languageServers) && extension.languageServers.some(languageServer => languageServer.languageId === languageId);
3923
3929
  };
3924
3930
  const getMatchingExtensions$6 = async (extensionsState, textDocument, assetDir, platform) => {
3925
- const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
3931
+ const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform, languageProviderManifestFields);
3926
3932
  return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && (contributesCompletionProvider(extension, textDocument.languageId) || contributesLanguageServer$3(extension, textDocument.languageId)));
3927
3933
  };
3928
3934
  const executeRpcCompletionProvider = async (rpc, textDocument, args) => {
@@ -4012,7 +4018,7 @@ const contributesLanguageServer$2 = (extension, languageId) => {
4012
4018
  return Array.isArray(extension.languageServers) && extension.languageServers.some(languageServer => languageServer.languageId === languageId);
4013
4019
  };
4014
4020
  const getMatchingExtensions$5 = async (extensionsState, textDocument, assetDir, platform) => {
4015
- const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
4021
+ const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform, languageProviderManifestFields);
4016
4022
  return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && (contributesDiagnosticProvider(extension, textDocument.languageId) || contributesLanguageServer$2(extension, textDocument.languageId)));
4017
4023
  };
4018
4024
  const executeRpcDiagnosticProvider = async (rpc, textDocument, args) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-management-worker",
3
- "version": "4.88.2",
3
+ "version": "4.88.4",
4
4
  "description": "Webworker for the Extension Management functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"