@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
|
-
|
|
2546
|
-
|
|
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) => {
|