@theia/plugin-ext 1.45.0 → 1.46.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/lib/common/plugin-api-rpc.d.ts +9 -4
- package/lib/common/plugin-api-rpc.d.ts.map +1 -1
- package/lib/common/plugin-api-rpc.js +3 -1
- package/lib/common/plugin-api-rpc.js.map +1 -1
- package/lib/common/plugin-ext-api-contribution.d.ts +35 -5
- package/lib/common/plugin-ext-api-contribution.d.ts.map +1 -1
- package/lib/common/plugin-ext-api-contribution.js.map +1 -1
- package/lib/common/plugin-protocol.d.ts +5 -2
- package/lib/common/plugin-protocol.d.ts.map +1 -1
- package/lib/common/plugin-protocol.js +1 -0
- package/lib/common/plugin-protocol.js.map +1 -1
- package/lib/common/proxy-handler.d.ts +7 -0
- package/lib/common/proxy-handler.d.ts.map +1 -1
- package/lib/common/proxy-handler.js +5 -1
- package/lib/common/proxy-handler.js.map +1 -1
- package/lib/common/rpc-protocol.d.ts +10 -0
- package/lib/common/rpc-protocol.d.ts.map +1 -1
- package/lib/common/rpc-protocol.js +32 -3
- package/lib/common/rpc-protocol.js.map +1 -1
- package/lib/hosted/browser/hosted-plugin.d.ts +16 -74
- package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
- package/lib/hosted/browser/hosted-plugin.js +41 -314
- package/lib/hosted/browser/hosted-plugin.js.map +1 -1
- package/lib/hosted/browser/worker/debug-stub.d.ts +2 -2
- package/lib/hosted/browser/worker/debug-stub.d.ts.map +1 -1
- package/lib/hosted/browser/worker/debug-stub.js +3 -3
- package/lib/hosted/browser/worker/debug-stub.js.map +1 -1
- package/lib/hosted/browser/worker/worker-env-ext.d.ts +1 -2
- package/lib/hosted/browser/worker/worker-env-ext.d.ts.map +1 -1
- package/lib/hosted/browser/worker/worker-env-ext.js +18 -4
- package/lib/hosted/browser/worker/worker-env-ext.js.map +1 -1
- package/lib/hosted/browser/worker/worker-main.js +20 -32
- package/lib/hosted/browser/worker/worker-main.js.map +1 -1
- package/lib/hosted/browser/worker/worker-plugin-module.d.ts +5 -0
- package/lib/hosted/browser/worker/worker-plugin-module.d.ts.map +1 -0
- package/lib/hosted/browser/worker/worker-plugin-module.js +71 -0
- package/lib/hosted/browser/worker/worker-plugin-module.js.map +1 -0
- package/lib/hosted/common/hosted-plugin.d.ts +97 -0
- package/lib/hosted/common/hosted-plugin.d.ts.map +1 -0
- package/lib/hosted/common/hosted-plugin.js +408 -0
- package/lib/hosted/common/hosted-plugin.js.map +1 -0
- package/lib/hosted/node/hosted-plugin-process.d.ts +1 -1
- package/lib/hosted/node/hosted-plugin-process.d.ts.map +1 -1
- package/lib/hosted/node/hosted-plugin-process.js +2 -2
- package/lib/hosted/node/hosted-plugin-process.js.map +1 -1
- package/lib/hosted/node/plugin-ext-hosted-backend-module.d.ts.map +1 -1
- package/lib/hosted/node/plugin-ext-hosted-backend-module.js +2 -0
- package/lib/hosted/node/plugin-ext-hosted-backend-module.js.map +1 -1
- package/lib/hosted/node/plugin-host-module.d.ts +5 -0
- package/lib/hosted/node/plugin-host-module.d.ts.map +1 -0
- package/lib/hosted/node/plugin-host-module.js +68 -0
- package/lib/hosted/node/plugin-host-module.js.map +1 -0
- package/lib/hosted/node/plugin-host-rpc.d.ts +93 -7
- package/lib/hosted/node/plugin-host-rpc.d.ts.map +1 -1
- package/lib/hosted/node/plugin-host-rpc.js +202 -53
- package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
- package/lib/hosted/node/plugin-host.js +6 -5
- package/lib/hosted/node/plugin-host.js.map +1 -1
- package/lib/hosted/node/plugin-reader.d.ts.map +1 -1
- package/lib/hosted/node/plugin-reader.js +3 -0
- package/lib/hosted/node/plugin-reader.js.map +1 -1
- package/lib/hosted/node/plugin-service.d.ts +8 -0
- package/lib/hosted/node/plugin-service.d.ts.map +1 -1
- package/lib/hosted/node/plugin-service.js +14 -4
- package/lib/hosted/node/plugin-service.js.map +1 -1
- package/lib/hosted/node/scanners/file-plugin-uri-factory.js +1 -1
- package/lib/hosted/node/scanners/file-plugin-uri-factory.js.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.d.ts +17 -3
- package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.js +48 -19
- package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
- package/lib/main/browser/authentication-main.d.ts.map +1 -1
- package/lib/main/browser/authentication-main.js +3 -1
- package/lib/main/browser/authentication-main.js.map +1 -1
- package/lib/main/browser/env-main.d.ts +1 -10
- package/lib/main/browser/env-main.d.ts.map +1 -1
- package/lib/main/browser/env-main.js +2 -21
- package/lib/main/browser/env-main.js.map +1 -1
- package/lib/main/browser/menus/menus-contribution-handler.d.ts.map +1 -1
- package/lib/main/browser/menus/menus-contribution-handler.js +6 -3
- package/lib/main/browser/menus/menus-contribution-handler.js.map +1 -1
- package/lib/main/browser/menus/plugin-menu-command-adapter.js +1 -1
- package/lib/main/browser/menus/plugin-menu-command-adapter.js.map +1 -1
- package/lib/main/browser/message-registry-main.d.ts +6 -4
- package/lib/main/browser/message-registry-main.d.ts.map +1 -1
- package/lib/main/browser/message-registry-main.js +7 -19
- package/lib/main/browser/message-registry-main.js.map +1 -1
- package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts +1 -0
- package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts.map +1 -1
- package/lib/main/browser/notebooks/renderers/cell-output-webview.js +23 -22
- package/lib/main/browser/notebooks/renderers/cell-output-webview.js.map +1 -1
- package/lib/main/browser/notebooks/renderers/output-webview-internal.d.ts.map +1 -1
- package/lib/main/browser/notebooks/renderers/output-webview-internal.js +22 -14
- package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
- package/lib/main/browser/notebooks/renderers/webview-communication.d.ts +2 -1
- package/lib/main/browser/notebooks/renderers/webview-communication.d.ts.map +1 -1
- package/lib/main/browser/notification-main.d.ts +2 -14
- package/lib/main/browser/notification-main.d.ts.map +1 -1
- package/lib/main/browser/notification-main.js +3 -52
- package/lib/main/browser/notification-main.js.map +1 -1
- package/lib/main/browser/terminal-main.d.ts +1 -1
- package/lib/main/browser/terminal-main.d.ts.map +1 -1
- package/lib/main/browser/terminal-main.js +2 -2
- package/lib/main/browser/terminal-main.js.map +1 -1
- package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
- package/lib/main/browser/view/plugin-view-registry.js +5 -2
- package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
- package/lib/main/browser/webview/webview-context-keys.d.ts +5 -1
- package/lib/main/browser/webview/webview-context-keys.d.ts.map +1 -1
- package/lib/main/browser/webview/webview-context-keys.js +13 -4
- package/lib/main/browser/webview/webview-context-keys.js.map +1 -1
- package/lib/main/browser/webview/webview-widget-factory.d.ts.map +1 -1
- package/lib/main/browser/webview/webview-widget-factory.js +2 -1
- package/lib/main/browser/webview/webview-widget-factory.js.map +1 -1
- package/lib/main/browser/webview/webview.d.ts +1 -0
- package/lib/main/browser/webview/webview.d.ts.map +1 -1
- package/lib/main/browser/webview/webview.js +1 -0
- package/lib/main/browser/webview/webview.js.map +1 -1
- package/lib/main/browser/webviews-main.d.ts.map +1 -1
- package/lib/main/browser/webviews-main.js +7 -2
- package/lib/main/browser/webviews-main.js.map +1 -1
- package/lib/main/common/basic-message-registry-main.d.ts +14 -0
- package/lib/main/common/basic-message-registry-main.d.ts.map +1 -0
- package/lib/main/common/basic-message-registry-main.js +50 -0
- package/lib/main/common/basic-message-registry-main.js.map +1 -0
- package/lib/main/common/basic-notification-main.d.ts +19 -0
- package/lib/main/common/basic-notification-main.d.ts.map +1 -0
- package/lib/main/common/basic-notification-main.js +75 -0
- package/lib/main/common/basic-notification-main.js.map +1 -0
- package/lib/main/common/env-main.d.ts +11 -0
- package/lib/main/common/env-main.d.ts.map +1 -0
- package/lib/main/common/env-main.js +40 -0
- package/lib/main/common/env-main.js.map +1 -0
- package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts +8 -3
- package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts.map +1 -1
- package/lib/main/node/handlers/plugin-theia-directory-handler.js +38 -20
- package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
- package/lib/main/node/handlers/plugin-theia-file-handler.js +1 -1
- package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
- package/lib/main/node/plugin-deployer-impl.d.ts.map +1 -1
- package/lib/main/node/plugin-deployer-impl.js +5 -1
- package/lib/main/node/plugin-deployer-impl.js.map +1 -1
- package/lib/main/node/plugins-key-value-storage.js +1 -1
- package/lib/main/node/plugins-key-value-storage.js.map +1 -1
- package/lib/plugin/clipboard-ext.d.ts +3 -2
- package/lib/plugin/clipboard-ext.d.ts.map +1 -1
- package/lib/plugin/clipboard-ext.js +28 -4
- package/lib/plugin/clipboard-ext.js.map +1 -1
- package/lib/plugin/debug/debug-ext.d.ts +3 -1
- package/lib/plugin/debug/debug-ext.d.ts.map +1 -1
- package/lib/plugin/debug/debug-ext.js +31 -4
- package/lib/plugin/debug/debug-ext.js.map +1 -1
- package/lib/plugin/documents.js +2 -2
- package/lib/plugin/documents.js.map +1 -1
- package/lib/plugin/editors-and-documents.d.ts +1 -2
- package/lib/plugin/editors-and-documents.d.ts.map +1 -1
- package/lib/plugin/editors-and-documents.js +21 -4
- package/lib/plugin/editors-and-documents.js.map +1 -1
- package/lib/plugin/env.d.ts +6 -2
- package/lib/plugin/env.d.ts.map +1 -1
- package/lib/plugin/env.js +37 -4
- package/lib/plugin/env.js.map +1 -1
- package/lib/plugin/localization-ext.d.ts +3 -2
- package/lib/plugin/localization-ext.d.ts.map +1 -1
- package/lib/plugin/localization-ext.js +30 -4
- package/lib/plugin/localization-ext.js.map +1 -1
- package/lib/plugin/message-registry.d.ts +2 -1
- package/lib/plugin/message-registry.d.ts.map +1 -1
- package/lib/plugin/message-registry.js +28 -4
- package/lib/plugin/message-registry.js.map +1 -1
- package/lib/plugin/node/debug/debug.spec.js +21 -1
- package/lib/plugin/node/debug/debug.spec.js.map +1 -1
- package/lib/plugin/node/env-node-ext.d.ts +1 -6
- package/lib/plugin/node/env-node-ext.d.ts.map +1 -1
- package/lib/plugin/node/env-node-ext.js +18 -10
- package/lib/plugin/node/env-node-ext.js.map +1 -1
- package/lib/plugin/node/plugin-container-module.d.ts +75 -0
- package/lib/plugin/node/plugin-container-module.d.ts.map +1 -0
- package/lib/plugin/node/plugin-container-module.js +115 -0
- package/lib/plugin/node/plugin-container-module.js.map +1 -0
- package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
- package/lib/plugin/notebook/notebook-kernels.js +0 -1
- package/lib/plugin/notebook/notebook-kernels.js.map +1 -1
- package/lib/plugin/plugin-context.d.ts.map +1 -1
- package/lib/plugin/plugin-context.js +9 -1
- package/lib/plugin/plugin-context.js.map +1 -1
- package/lib/plugin/plugin-manager.d.ts +26 -17
- package/lib/plugin/plugin-manager.d.ts.map +1 -1
- package/lib/plugin/plugin-manager.js +107 -37
- package/lib/plugin/plugin-manager.js.map +1 -1
- package/lib/plugin/plugin-storage.d.ts +11 -3
- package/lib/plugin/plugin-storage.d.ts.map +1 -1
- package/lib/plugin/plugin-storage.js +25 -5
- package/lib/plugin/plugin-storage.js.map +1 -1
- package/lib/plugin/preference-registry.d.ts +3 -2
- package/lib/plugin/preference-registry.d.ts.map +1 -1
- package/lib/plugin/preference-registry.js +35 -5
- package/lib/plugin/preference-registry.js.map +1 -1
- package/lib/plugin/preference-registry.spec.js +8 -1
- package/lib/plugin/preference-registry.spec.js.map +1 -1
- package/lib/plugin/quick-open.js +3 -3
- package/lib/plugin/quick-open.js.map +1 -1
- package/lib/plugin/secrets-ext.d.ts +16 -7
- package/lib/plugin/secrets-ext.d.ts.map +1 -1
- package/lib/plugin/secrets-ext.js +23 -3
- package/lib/plugin/secrets-ext.js.map +1 -1
- package/lib/plugin/terminal-ext.d.ts +1 -1
- package/lib/plugin/terminal-ext.d.ts.map +1 -1
- package/lib/plugin/terminal-ext.js +26 -6
- package/lib/plugin/terminal-ext.js.map +1 -1
- package/lib/plugin/types-impl.d.ts +22 -2
- package/lib/plugin/types-impl.d.ts.map +1 -1
- package/lib/plugin/types-impl.js +22 -6
- package/lib/plugin/types-impl.js.map +1 -1
- package/lib/plugin/webview-views.d.ts.map +1 -1
- package/lib/plugin/webview-views.js +2 -1
- package/lib/plugin/webview-views.js.map +1 -1
- package/lib/plugin/webviews.d.ts +7 -5
- package/lib/plugin/webviews.d.ts.map +1 -1
- package/lib/plugin/webviews.js +46 -12
- package/lib/plugin/webviews.js.map +1 -1
- package/lib/plugin/workspace.d.ts +4 -3
- package/lib/plugin/workspace.d.ts.map +1 -1
- package/lib/plugin/workspace.js +40 -6
- package/lib/plugin/workspace.js.map +1 -1
- package/package.json +29 -29
- package/src/common/plugin-api-rpc.ts +10 -6
- package/src/common/plugin-ext-api-contribution.ts +38 -5
- package/src/common/plugin-protocol.ts +7 -2
- package/src/common/proxy-handler.ts +14 -1
- package/src/common/rpc-protocol.ts +41 -3
- package/src/hosted/browser/hosted-plugin.ts +47 -337
- package/src/hosted/browser/worker/debug-stub.ts +4 -3
- package/src/hosted/browser/worker/worker-env-ext.ts +5 -4
- package/src/hosted/browser/worker/worker-main.ts +103 -115
- package/src/hosted/browser/worker/worker-plugin-module.ts +73 -0
- package/src/hosted/common/hosted-plugin.ts +456 -0
- package/src/hosted/node/hosted-plugin-process.ts +4 -4
- package/src/hosted/node/plugin-ext-hosted-backend-module.ts +3 -1
- package/src/hosted/node/plugin-host-module.ts +69 -0
- package/src/hosted/node/plugin-host-rpc.ts +232 -73
- package/src/hosted/node/plugin-host.ts +9 -7
- package/src/hosted/node/plugin-reader.ts +3 -0
- package/src/hosted/node/plugin-service.ts +21 -4
- package/src/hosted/node/scanners/file-plugin-uri-factory.ts +1 -1
- package/src/hosted/node/scanners/scanner-theia.ts +46 -12
- package/src/main/browser/authentication-main.ts +3 -1
- package/src/main/browser/env-main.ts +1 -28
- package/src/main/browser/menus/menus-contribution-handler.ts +8 -3
- package/src/main/browser/menus/plugin-menu-command-adapter.ts +1 -1
- package/src/main/browser/message-registry-main.ts +10 -23
- package/src/main/browser/notebooks/renderers/cell-output-webview.tsx +26 -24
- package/src/main/browser/notebooks/renderers/output-webview-internal.ts +22 -13
- package/src/main/browser/notebooks/renderers/webview-communication.ts +2 -1
- package/src/main/browser/notification-main.ts +4 -64
- package/src/main/browser/terminal-main.ts +2 -2
- package/src/main/browser/view/plugin-view-registry.ts +6 -3
- package/src/main/browser/webview/webview-context-keys.ts +17 -4
- package/src/main/browser/webview/webview-widget-factory.ts +2 -1
- package/src/main/browser/webview/webview.ts +2 -0
- package/src/main/browser/webviews-main.ts +7 -2
- package/src/main/common/basic-message-registry-main.ts +53 -0
- package/src/main/common/basic-notification-main.ts +86 -0
- package/src/main/common/env-main.ts +44 -0
- package/src/main/node/handlers/plugin-theia-directory-handler.ts +38 -16
- package/src/main/node/handlers/plugin-theia-file-handler.ts +1 -1
- package/src/main/node/plugin-deployer-impl.ts +5 -1
- package/src/main/node/plugins-key-value-storage.ts +1 -1
- package/src/plugin/clipboard-ext.ts +9 -3
- package/src/plugin/debug/debug-ext.ts +11 -2
- package/src/plugin/documents.ts +2 -2
- package/src/plugin/editors-and-documents.ts +5 -3
- package/src/plugin/env.ts +19 -3
- package/src/plugin/localization-ext.ts +8 -3
- package/src/plugin/message-registry.ts +7 -2
- package/src/plugin/node/debug/debug.spec.ts +5 -1
- package/src/plugin/node/env-node-ext.ts +5 -10
- package/src/plugin/node/plugin-container-module.ts +165 -0
- package/src/plugin/notebook/notebook-kernels.ts +0 -1
- package/src/plugin/plugin-context.ts +11 -2
- package/src/plugin/plugin-manager.ts +99 -45
- package/src/plugin/plugin-storage.ts +22 -4
- package/src/plugin/preference-registry.spec.ts +6 -1
- package/src/plugin/preference-registry.ts +11 -5
- package/src/plugin/quick-open.ts +3 -3
- package/src/plugin/secrets-ext.ts +25 -5
- package/src/plugin/terminal-ext.ts +5 -3
- package/src/plugin/types-impl.ts +30 -2
- package/src/plugin/webview-views.ts +2 -1
- package/src/plugin/webviews.ts +22 -13
- package/src/plugin/workspace.ts +14 -4
|
@@ -1,22 +1,108 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ContainerModule } from '@theia/core/shared/inversify';
|
|
2
|
+
import { AbstractPluginManagerExtImpl, PluginHost, PluginManagerExtImpl } from '../../plugin/plugin-manager';
|
|
3
|
+
import { Plugin, PluginAPIFactory } from '../../common/plugin-api-rpc';
|
|
4
|
+
import { PluginModel } from '../../common/plugin-protocol';
|
|
3
5
|
import { EnvExtImpl } from '../../plugin/env';
|
|
4
6
|
import { PreferenceRegistryExtImpl } from '../../plugin/preference-registry';
|
|
7
|
+
import { ExtPluginApi } from '../../common/plugin-ext-api-contribution';
|
|
8
|
+
import { DebugExtImpl } from '../../plugin/debug/debug-ext';
|
|
9
|
+
import { EditorsAndDocumentsExtImpl } from '../../plugin/editors-and-documents';
|
|
10
|
+
import { WorkspaceExtImpl } from '../../plugin/workspace';
|
|
11
|
+
import { MessageRegistryExt } from '../../plugin/message-registry';
|
|
12
|
+
import { ClipboardExt } from '../../plugin/clipboard-ext';
|
|
5
13
|
import { KeyValueStorageProxy } from '../../plugin/plugin-storage';
|
|
6
14
|
import { WebviewsExtImpl } from '../../plugin/webviews';
|
|
7
15
|
import { TerminalServiceExtImpl } from '../../plugin/terminal-ext';
|
|
8
16
|
import { SecretsExtImpl } from '../../plugin/secrets-ext';
|
|
17
|
+
import { LocalizationExtImpl } from '../../plugin/localization-ext';
|
|
18
|
+
import { ProxyIdentifier } from '../../common/rpc-protocol';
|
|
19
|
+
import { PluginApiCache } from '../../plugin/node/plugin-container-module';
|
|
20
|
+
/**
|
|
21
|
+
* The full set of all possible `Ext` interfaces that a plugin manager can support.
|
|
22
|
+
*/
|
|
23
|
+
export interface ExtInterfaces {
|
|
24
|
+
envExt: EnvExtImpl;
|
|
25
|
+
storageExt: KeyValueStorageProxy;
|
|
26
|
+
debugExt: DebugExtImpl;
|
|
27
|
+
editorsAndDocumentsExt: EditorsAndDocumentsExtImpl;
|
|
28
|
+
messageRegistryExt: MessageRegistryExt;
|
|
29
|
+
workspaceExt: WorkspaceExtImpl;
|
|
30
|
+
preferenceRegistryExt: PreferenceRegistryExtImpl;
|
|
31
|
+
clipboardExt: ClipboardExt;
|
|
32
|
+
webviewExt: WebviewsExtImpl;
|
|
33
|
+
terminalServiceExt: TerminalServiceExtImpl;
|
|
34
|
+
secretsExt: SecretsExtImpl;
|
|
35
|
+
localizationExt: LocalizationExtImpl;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The RPC proxy identifier keys to set in the RPC object to register our `Ext` interface implementations.
|
|
39
|
+
*/
|
|
40
|
+
export declare type RpcKeys<EXT extends Partial<ExtInterfaces>> = Partial<Record<keyof EXT, ProxyIdentifier<any>>> & {
|
|
41
|
+
$pluginManager: ProxyIdentifier<any>;
|
|
42
|
+
};
|
|
43
|
+
export declare const PluginContainerModuleLoader: unique symbol;
|
|
44
|
+
/**
|
|
45
|
+
* A function that loads a `PluginContainerModule` exported by a plugin's entry-point
|
|
46
|
+
* script, returning the per-`Container` cache of its exported API instances if the
|
|
47
|
+
* module has an API factory registered.
|
|
48
|
+
*/
|
|
49
|
+
export declare type PluginContainerModuleLoader = (module: ContainerModule) => PluginApiCache<object> | undefined;
|
|
9
50
|
/**
|
|
10
51
|
* Handle the RPC calls.
|
|
52
|
+
*
|
|
53
|
+
* @template PM is the plugin manager (ext) type
|
|
54
|
+
* @template PAF is the plugin API factory type
|
|
55
|
+
* @template EXT is the type identifying the `Ext` interfaces supported by the plugin manager
|
|
11
56
|
*/
|
|
12
|
-
export declare class
|
|
57
|
+
export declare abstract class AbstractPluginHostRPC<PM extends AbstractPluginManagerExtImpl<any>, PAF, EXT extends Partial<ExtInterfaces>> {
|
|
58
|
+
private readonly backendInitPath;
|
|
59
|
+
private readonly extRpc;
|
|
13
60
|
protected readonly rpc: any;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
61
|
+
protected readonly loadContainerModule: PluginContainerModuleLoader;
|
|
62
|
+
protected readonly pluginManager: PM;
|
|
63
|
+
protected readonly banner: string;
|
|
64
|
+
protected apiFactory: PAF;
|
|
65
|
+
constructor(name: string, backendInitPath: string | undefined, extRpc: RpcKeys<EXT>);
|
|
17
66
|
initialize(): void;
|
|
18
67
|
terminate(): Promise<void>;
|
|
68
|
+
protected abstract createAPIFactory(extInterfaces: EXT): PAF;
|
|
69
|
+
protected abstract createExtInterfaces(): EXT;
|
|
70
|
+
protected registerExtInterfaces(extInterfaces: EXT): void;
|
|
19
71
|
initContext(contextPath: string, plugin: Plugin): void;
|
|
20
|
-
|
|
72
|
+
protected getBackendPluginPath(pluginModel: PluginModel): string | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* Create the {@link PluginHost} that is required by my plugin manager ext interface to delegate
|
|
75
|
+
* critical behaviour such as loading and initializing plugins to me.
|
|
76
|
+
*/
|
|
77
|
+
createPluginHost(): PluginHost;
|
|
78
|
+
/**
|
|
79
|
+
* Initialize the end of the given provided extension API applicable to the current plugin host.
|
|
80
|
+
* Errors should be propagated to the caller.
|
|
81
|
+
*
|
|
82
|
+
* @param extApi the extension API to initialize, if appropriate
|
|
83
|
+
* @throws if any error occurs in initializing the extension API
|
|
84
|
+
*/
|
|
85
|
+
protected abstract initExtApi(extApi: ExtPluginApi): void;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The RPC handler for frontend-connection-scoped plugins (Theia and VSCode plugins).
|
|
89
|
+
*/
|
|
90
|
+
export declare class PluginHostRPC extends AbstractPluginHostRPC<PluginManagerExtImpl, PluginAPIFactory, ExtInterfaces> {
|
|
91
|
+
protected readonly envExt: EnvExtImpl;
|
|
92
|
+
protected readonly localizationExt: LocalizationExtImpl;
|
|
93
|
+
protected readonly keyValueStorageProxy: KeyValueStorageProxy;
|
|
94
|
+
protected readonly debugExt: DebugExtImpl;
|
|
95
|
+
protected readonly editorsAndDocumentsExt: EditorsAndDocumentsExtImpl;
|
|
96
|
+
protected readonly messageRegistryExt: MessageRegistryExt;
|
|
97
|
+
protected readonly workspaceExt: WorkspaceExtImpl;
|
|
98
|
+
protected readonly preferenceRegistryExt: PreferenceRegistryExtImpl;
|
|
99
|
+
protected readonly clipboardExt: ClipboardExt;
|
|
100
|
+
protected readonly webviewExt: WebviewsExtImpl;
|
|
101
|
+
protected readonly terminalServiceExt: TerminalServiceExtImpl;
|
|
102
|
+
protected readonly secretsExt: SecretsExtImpl;
|
|
103
|
+
constructor();
|
|
104
|
+
protected createExtInterfaces(): ExtInterfaces;
|
|
105
|
+
protected createAPIFactory(extInterfaces: ExtInterfaces): PluginAPIFactory;
|
|
106
|
+
protected initExtApi(extApi: ExtPluginApi): void;
|
|
21
107
|
}
|
|
22
108
|
//# sourceMappingURL=plugin-host-rpc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-host-rpc.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-host-rpc.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAgD,MAAM,8BAA8B,CAAC;AAC7G,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC7G,OAAO,EAAoB,MAAM,EAAE,gBAAgB,EAElD,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAkB,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAuC,MAAM,0CAA0C,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAe,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,qBAAqB,EAAE,yBAAyB,CAAC;IACjD,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,UAAU,EAAE,cAAc,CAAC;IAC3B,eAAe,EAAE,mBAAmB,CAAA;CACvC;AAED;;GAEG;AACH,oBAAY,OAAO,CAAC,GAAG,SAAS,OAAO,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;IACzG,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AACjF;;;;GAIG;AACH,oBAAY,2BAA2B,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAE1G;;;;;;GAMG;AACH,8BACsB,qBAAqB,CAAC,EAAE,SAAS,4BAA4B,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,aAAa,CAAC;IAiB5G,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAfxC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAG5B,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;IAErC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC;gBAGT,IAAI,EAAE,MAAM,EACK,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;IAKtD,UAAU,IAAI,IAAI;IAWZ,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG;IAE5D,SAAS,CAAC,QAAQ,CAAC,mBAAmB,IAAI,GAAG;IAE7C,SAAS,CAAC,qBAAqB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;IAazD,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYtD,SAAS,CAAC,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAI5E;;;OAGG;IACH,gBAAgB,IAAI,UAAU;IA4G9B;;;;;;OAMG;IACF,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;CAC7D;AAED;;GAEG;AACH,qBACa,aAAc,SAAQ,qBAAqB,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,aAAa,CAAC;IAE3G,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAGtC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAG9D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAG1C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;IAGtE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAG9D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;;IAgB9C,SAAS,CAAC,mBAAmB,IAAI,aAAa;IAkB9C,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,gBAAgB;IAU1E,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;CAenD"}
|
|
@@ -14,18 +14,32 @@
|
|
|
14
14
|
//
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
27
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
28
|
+
};
|
|
17
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.PluginHostRPC = void 0;
|
|
30
|
+
exports.PluginHostRPC = exports.AbstractPluginHostRPC = exports.PluginContainerModuleLoader = void 0;
|
|
31
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
19
32
|
const dynamic_require_1 = require("@theia/core/lib/node/dynamic-require");
|
|
33
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
20
34
|
const plugin_manager_1 = require("../../plugin/plugin-manager");
|
|
21
35
|
const plugin_api_rpc_1 = require("../../common/plugin-api-rpc");
|
|
22
36
|
const plugin_context_1 = require("../../plugin/plugin-context");
|
|
37
|
+
const env_1 = require("../../plugin/env");
|
|
23
38
|
const preference_registry_1 = require("../../plugin/preference-registry");
|
|
24
39
|
const debug_ext_1 = require("../../plugin/debug/debug-ext");
|
|
25
40
|
const editors_and_documents_1 = require("../../plugin/editors-and-documents");
|
|
26
41
|
const workspace_1 = require("../../plugin/workspace");
|
|
27
42
|
const message_registry_1 = require("../../plugin/message-registry");
|
|
28
|
-
const env_node_ext_1 = require("../../plugin/node/env-node-ext");
|
|
29
43
|
const clipboard_ext_1 = require("../../plugin/clipboard-ext");
|
|
30
44
|
const plugin_manifest_loader_1 = require("./plugin-manifest-loader");
|
|
31
45
|
const plugin_storage_1 = require("../../plugin/plugin-storage");
|
|
@@ -34,44 +48,46 @@ const terminal_ext_1 = require("../../plugin/terminal-ext");
|
|
|
34
48
|
const secrets_ext_1 = require("../../plugin/secrets-ext");
|
|
35
49
|
const plugin_host_proxy_1 = require("./plugin-host-proxy");
|
|
36
50
|
const localization_ext_1 = require("../../plugin/localization-ext");
|
|
51
|
+
const rpc_protocol_1 = require("../../common/rpc-protocol");
|
|
52
|
+
exports.PluginContainerModuleLoader = Symbol('PluginContainerModuleLoader');
|
|
37
53
|
/**
|
|
38
54
|
* Handle the RPC calls.
|
|
55
|
+
*
|
|
56
|
+
* @template PM is the plugin manager (ext) type
|
|
57
|
+
* @template PAF is the plugin API factory type
|
|
58
|
+
* @template EXT is the type identifying the `Ext` interfaces supported by the plugin manager
|
|
39
59
|
*/
|
|
40
|
-
class
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
this.
|
|
60
|
+
let AbstractPluginHostRPC = class AbstractPluginHostRPC {
|
|
61
|
+
constructor(name, backendInitPath, extRpc) {
|
|
62
|
+
this.backendInitPath = backendInitPath;
|
|
63
|
+
this.extRpc = extRpc;
|
|
64
|
+
this.banner = `${name}(${process.pid}):`;
|
|
44
65
|
}
|
|
45
66
|
initialize() {
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const workspaceExt = new workspace_1.WorkspaceExtImpl(this.rpc, editorsAndDocumentsExt, messageRegistryExt);
|
|
52
|
-
const preferenceRegistryExt = new preference_registry_1.PreferenceRegistryExtImpl(this.rpc, workspaceExt);
|
|
53
|
-
const clipboardExt = new clipboard_ext_1.ClipboardExt(this.rpc);
|
|
54
|
-
const webviewExt = new webviews_1.WebviewsExtImpl(this.rpc, workspaceExt);
|
|
55
|
-
const terminalService = new terminal_ext_1.TerminalServiceExtImpl(this.rpc);
|
|
56
|
-
const secretsExt = new secrets_ext_1.SecretsExtImpl(this.rpc);
|
|
57
|
-
const localizationExt = new localization_ext_1.LocalizationExtImpl(this.rpc);
|
|
58
|
-
this.pluginManager = this.createPluginManager(envExt, terminalService, storageProxy, preferenceRegistryExt, webviewExt, secretsExt, localizationExt, this.rpc);
|
|
59
|
-
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.HOSTED_PLUGIN_MANAGER_EXT, this.pluginManager);
|
|
60
|
-
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.EDITORS_AND_DOCUMENTS_EXT, editorsAndDocumentsExt);
|
|
61
|
-
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.WORKSPACE_EXT, workspaceExt);
|
|
62
|
-
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.PREFERENCE_REGISTRY_EXT, preferenceRegistryExt);
|
|
63
|
-
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.STORAGE_EXT, storageProxy);
|
|
64
|
-
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.WEBVIEWS_EXT, webviewExt);
|
|
65
|
-
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.SECRETS_EXT, secretsExt);
|
|
66
|
-
this.apiFactory = (0, plugin_context_1.createAPIFactory)(this.rpc, this.pluginManager, envExt, debugExt, preferenceRegistryExt, editorsAndDocumentsExt, workspaceExt, messageRegistryExt, clipboardExt, webviewExt, localizationExt);
|
|
67
|
-
(0, plugin_host_proxy_1.connectProxyResolver)(workspaceExt, preferenceRegistryExt);
|
|
67
|
+
this.pluginManager.setPluginHost(this.createPluginHost());
|
|
68
|
+
const extInterfaces = this.createExtInterfaces();
|
|
69
|
+
this.registerExtInterfaces(extInterfaces);
|
|
70
|
+
this.apiFactory = this.createAPIFactory(extInterfaces);
|
|
71
|
+
this.loadContainerModule(new inversify_1.ContainerModule(bind => bind(plugin_api_rpc_1.PluginManager).toConstantValue(this.pluginManager)));
|
|
68
72
|
}
|
|
69
73
|
async terminate() {
|
|
70
74
|
await this.pluginManager.terminate();
|
|
71
75
|
}
|
|
76
|
+
registerExtInterfaces(extInterfaces) {
|
|
77
|
+
for (const _key in this.extRpc) {
|
|
78
|
+
if (Object.hasOwnProperty.call(this.extRpc, _key)) {
|
|
79
|
+
const key = _key;
|
|
80
|
+
// In case of present undefineds
|
|
81
|
+
if (extInterfaces[key]) {
|
|
82
|
+
this.rpc.set(this.extRpc[key], extInterfaces[key]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
this.rpc.set(this.extRpc.$pluginManager, this.pluginManager);
|
|
87
|
+
}
|
|
72
88
|
initContext(contextPath, plugin) {
|
|
73
89
|
const { name, version } = plugin.rawModel;
|
|
74
|
-
console.debug(
|
|
90
|
+
console.debug(this.banner, 'initializing(' + name + '@' + version + ' with ' + contextPath + ')');
|
|
75
91
|
try {
|
|
76
92
|
const backendInit = (0, dynamic_require_1.dynamicRequire)(contextPath);
|
|
77
93
|
backendInit.doInitialization(this.apiFactory, plugin);
|
|
@@ -80,15 +96,19 @@ class PluginHostRPC {
|
|
|
80
96
|
console.error(e);
|
|
81
97
|
}
|
|
82
98
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
99
|
+
getBackendPluginPath(pluginModel) {
|
|
100
|
+
return pluginModel.entryPoint.backend;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create the {@link PluginHost} that is required by my plugin manager ext interface to delegate
|
|
104
|
+
* critical behaviour such as loading and initializing plugins to me.
|
|
105
|
+
*/
|
|
106
|
+
createPluginHost() {
|
|
86
107
|
const { extensionTestsPath } = process.env;
|
|
87
108
|
const self = this;
|
|
88
|
-
|
|
89
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
109
|
+
return {
|
|
90
110
|
loadPlugin(plugin) {
|
|
91
|
-
console.debug(
|
|
111
|
+
console.debug(self.banner, 'PluginManagerExtImpl/loadPlugin(' + plugin.pluginPath + ')');
|
|
92
112
|
// cleaning the cache for all files of that plug-in.
|
|
93
113
|
// this prevents a memory leak on plugin host restart. See for reference:
|
|
94
114
|
// https://github.com/eclipse-theia/theia/pull/4931
|
|
@@ -99,7 +119,7 @@ class PluginHostRPC {
|
|
|
99
119
|
}
|
|
100
120
|
},
|
|
101
121
|
async init(raw) {
|
|
102
|
-
console.log(
|
|
122
|
+
console.log(self.banner, 'PluginManagerExtImpl/init()');
|
|
103
123
|
const result = [];
|
|
104
124
|
const foreign = [];
|
|
105
125
|
for (const plg of raw) {
|
|
@@ -120,13 +140,15 @@ class PluginHostRPC {
|
|
|
120
140
|
});
|
|
121
141
|
}
|
|
122
142
|
else {
|
|
143
|
+
// Headless and backend plugins are, for now, very similar
|
|
123
144
|
let backendInitPath = pluginLifecycle.backendInitPath;
|
|
124
145
|
// if no init path, try to init as regular Theia plugin
|
|
125
|
-
if (!backendInitPath) {
|
|
126
|
-
backendInitPath = __dirname +
|
|
146
|
+
if (!backendInitPath && self.backendInitPath) {
|
|
147
|
+
backendInitPath = __dirname + self.backendInitPath;
|
|
127
148
|
}
|
|
149
|
+
const pluginPath = self.getBackendPluginPath(pluginModel);
|
|
128
150
|
const plugin = {
|
|
129
|
-
pluginPath
|
|
151
|
+
pluginPath,
|
|
130
152
|
pluginFolder: pluginModel.packagePath,
|
|
131
153
|
pluginUri: pluginModel.packageUri,
|
|
132
154
|
model: pluginModel,
|
|
@@ -134,31 +156,33 @@ class PluginHostRPC {
|
|
|
134
156
|
rawModel,
|
|
135
157
|
isUnderDevelopment: !!plg.isUnderDevelopment
|
|
136
158
|
};
|
|
137
|
-
|
|
159
|
+
if (backendInitPath) {
|
|
160
|
+
self.initContext(backendInitPath, plugin);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
const { name, version } = plugin.rawModel;
|
|
164
|
+
console.debug(self.banner, 'initializing(' + name + '@' + version + ' without any default API)');
|
|
165
|
+
}
|
|
138
166
|
result.push(plugin);
|
|
139
167
|
}
|
|
140
168
|
}
|
|
141
169
|
catch (e) {
|
|
142
|
-
console.error(`Failed to initialize ${plg.model.id} plugin.`, e);
|
|
170
|
+
console.error(self.banner, `Failed to initialize ${plg.model.id} plugin.`, e);
|
|
143
171
|
}
|
|
144
172
|
}
|
|
145
173
|
return [result, foreign];
|
|
146
174
|
},
|
|
147
175
|
initExtApi(extApi) {
|
|
148
176
|
for (const api of extApi) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
catch (e) {
|
|
155
|
-
console.error(e);
|
|
156
|
-
}
|
|
177
|
+
try {
|
|
178
|
+
self.initExtApi(api);
|
|
179
|
+
}
|
|
180
|
+
catch (e) {
|
|
181
|
+
console.error(e);
|
|
157
182
|
}
|
|
158
183
|
}
|
|
159
184
|
},
|
|
160
185
|
loadTests: extensionTestsPath ? async () => {
|
|
161
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
162
186
|
// Require the test runner via node require from the provided path
|
|
163
187
|
let testRunner;
|
|
164
188
|
let requireError;
|
|
@@ -185,9 +209,134 @@ class PluginHostRPC {
|
|
|
185
209
|
requireError.toString() :
|
|
186
210
|
`Path ${extensionTestsPath} does not point to a valid extension test runner.`);
|
|
187
211
|
} : undefined
|
|
188
|
-
}
|
|
189
|
-
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
__decorate([
|
|
216
|
+
(0, inversify_1.inject)(rpc_protocol_1.RPCProtocol),
|
|
217
|
+
__metadata("design:type", Object)
|
|
218
|
+
], AbstractPluginHostRPC.prototype, "rpc", void 0);
|
|
219
|
+
__decorate([
|
|
220
|
+
(0, inversify_1.inject)(exports.PluginContainerModuleLoader),
|
|
221
|
+
__metadata("design:type", Function)
|
|
222
|
+
], AbstractPluginHostRPC.prototype, "loadContainerModule", void 0);
|
|
223
|
+
__decorate([
|
|
224
|
+
(0, inversify_1.inject)(plugin_manager_1.AbstractPluginManagerExtImpl),
|
|
225
|
+
__metadata("design:type", Object)
|
|
226
|
+
], AbstractPluginHostRPC.prototype, "pluginManager", void 0);
|
|
227
|
+
__decorate([
|
|
228
|
+
(0, inversify_1.postConstruct)(),
|
|
229
|
+
__metadata("design:type", Function),
|
|
230
|
+
__metadata("design:paramtypes", []),
|
|
231
|
+
__metadata("design:returntype", void 0)
|
|
232
|
+
], AbstractPluginHostRPC.prototype, "initialize", null);
|
|
233
|
+
AbstractPluginHostRPC = __decorate([
|
|
234
|
+
(0, inversify_1.injectable)(),
|
|
235
|
+
__param(0, (0, inversify_1.unmanaged)()),
|
|
236
|
+
__param(1, (0, inversify_1.unmanaged)()),
|
|
237
|
+
__param(2, (0, inversify_1.unmanaged)()),
|
|
238
|
+
__metadata("design:paramtypes", [String, Object, Object])
|
|
239
|
+
], AbstractPluginHostRPC);
|
|
240
|
+
exports.AbstractPluginHostRPC = AbstractPluginHostRPC;
|
|
241
|
+
/**
|
|
242
|
+
* The RPC handler for frontend-connection-scoped plugins (Theia and VSCode plugins).
|
|
243
|
+
*/
|
|
244
|
+
let PluginHostRPC = class PluginHostRPC extends AbstractPluginHostRPC {
|
|
245
|
+
constructor() {
|
|
246
|
+
super('PLUGIN_HOST', '/scanners/backend-init-theia.js', {
|
|
247
|
+
$pluginManager: plugin_api_rpc_1.MAIN_RPC_CONTEXT.HOSTED_PLUGIN_MANAGER_EXT,
|
|
248
|
+
editorsAndDocumentsExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.EDITORS_AND_DOCUMENTS_EXT,
|
|
249
|
+
workspaceExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.WORKSPACE_EXT,
|
|
250
|
+
preferenceRegistryExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.PREFERENCE_REGISTRY_EXT,
|
|
251
|
+
storageExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.STORAGE_EXT,
|
|
252
|
+
webviewExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.WEBVIEWS_EXT,
|
|
253
|
+
secretsExt: plugin_api_rpc_1.MAIN_RPC_CONTEXT.SECRETS_EXT
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
createExtInterfaces() {
|
|
257
|
+
(0, plugin_host_proxy_1.connectProxyResolver)(this.workspaceExt, this.preferenceRegistryExt);
|
|
258
|
+
return {
|
|
259
|
+
envExt: this.envExt,
|
|
260
|
+
storageExt: this.keyValueStorageProxy,
|
|
261
|
+
debugExt: this.debugExt,
|
|
262
|
+
editorsAndDocumentsExt: this.editorsAndDocumentsExt,
|
|
263
|
+
messageRegistryExt: this.messageRegistryExt,
|
|
264
|
+
workspaceExt: this.workspaceExt,
|
|
265
|
+
preferenceRegistryExt: this.preferenceRegistryExt,
|
|
266
|
+
clipboardExt: this.clipboardExt,
|
|
267
|
+
webviewExt: this.webviewExt,
|
|
268
|
+
terminalServiceExt: this.terminalServiceExt,
|
|
269
|
+
secretsExt: this.secretsExt,
|
|
270
|
+
localizationExt: this.localizationExt
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
createAPIFactory(extInterfaces) {
|
|
274
|
+
const { envExt, debugExt, preferenceRegistryExt, editorsAndDocumentsExt, workspaceExt, messageRegistryExt, clipboardExt, webviewExt, localizationExt } = extInterfaces;
|
|
275
|
+
return (0, plugin_context_1.createAPIFactory)(this.rpc, this.pluginManager, envExt, debugExt, preferenceRegistryExt, editorsAndDocumentsExt, workspaceExt, messageRegistryExt, clipboardExt, webviewExt, localizationExt);
|
|
276
|
+
}
|
|
277
|
+
initExtApi(extApi) {
|
|
278
|
+
if (extApi.backendInitPath) {
|
|
279
|
+
const { containerModule, provideApi } = (0, dynamic_require_1.dynamicRequire)(extApi.backendInitPath);
|
|
280
|
+
if (containerModule) {
|
|
281
|
+
this.loadContainerModule(containerModule);
|
|
282
|
+
}
|
|
283
|
+
if (provideApi) {
|
|
284
|
+
provideApi(this.rpc, this.pluginManager);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
190
287
|
}
|
|
191
|
-
}
|
|
288
|
+
};
|
|
289
|
+
__decorate([
|
|
290
|
+
(0, inversify_1.inject)(env_1.EnvExtImpl),
|
|
291
|
+
__metadata("design:type", env_1.EnvExtImpl)
|
|
292
|
+
], PluginHostRPC.prototype, "envExt", void 0);
|
|
293
|
+
__decorate([
|
|
294
|
+
(0, inversify_1.inject)(plugin_api_rpc_1.LocalizationExt),
|
|
295
|
+
__metadata("design:type", localization_ext_1.LocalizationExtImpl)
|
|
296
|
+
], PluginHostRPC.prototype, "localizationExt", void 0);
|
|
297
|
+
__decorate([
|
|
298
|
+
(0, inversify_1.inject)(plugin_storage_1.KeyValueStorageProxy),
|
|
299
|
+
__metadata("design:type", plugin_storage_1.KeyValueStorageProxy)
|
|
300
|
+
], PluginHostRPC.prototype, "keyValueStorageProxy", void 0);
|
|
301
|
+
__decorate([
|
|
302
|
+
(0, inversify_1.inject)(debug_ext_1.DebugExtImpl),
|
|
303
|
+
__metadata("design:type", debug_ext_1.DebugExtImpl)
|
|
304
|
+
], PluginHostRPC.prototype, "debugExt", void 0);
|
|
305
|
+
__decorate([
|
|
306
|
+
(0, inversify_1.inject)(editors_and_documents_1.EditorsAndDocumentsExtImpl),
|
|
307
|
+
__metadata("design:type", editors_and_documents_1.EditorsAndDocumentsExtImpl)
|
|
308
|
+
], PluginHostRPC.prototype, "editorsAndDocumentsExt", void 0);
|
|
309
|
+
__decorate([
|
|
310
|
+
(0, inversify_1.inject)(message_registry_1.MessageRegistryExt),
|
|
311
|
+
__metadata("design:type", message_registry_1.MessageRegistryExt)
|
|
312
|
+
], PluginHostRPC.prototype, "messageRegistryExt", void 0);
|
|
313
|
+
__decorate([
|
|
314
|
+
(0, inversify_1.inject)(workspace_1.WorkspaceExtImpl),
|
|
315
|
+
__metadata("design:type", workspace_1.WorkspaceExtImpl)
|
|
316
|
+
], PluginHostRPC.prototype, "workspaceExt", void 0);
|
|
317
|
+
__decorate([
|
|
318
|
+
(0, inversify_1.inject)(preference_registry_1.PreferenceRegistryExtImpl),
|
|
319
|
+
__metadata("design:type", preference_registry_1.PreferenceRegistryExtImpl)
|
|
320
|
+
], PluginHostRPC.prototype, "preferenceRegistryExt", void 0);
|
|
321
|
+
__decorate([
|
|
322
|
+
(0, inversify_1.inject)(clipboard_ext_1.ClipboardExt),
|
|
323
|
+
__metadata("design:type", clipboard_ext_1.ClipboardExt)
|
|
324
|
+
], PluginHostRPC.prototype, "clipboardExt", void 0);
|
|
325
|
+
__decorate([
|
|
326
|
+
(0, inversify_1.inject)(webviews_1.WebviewsExtImpl),
|
|
327
|
+
__metadata("design:type", webviews_1.WebviewsExtImpl)
|
|
328
|
+
], PluginHostRPC.prototype, "webviewExt", void 0);
|
|
329
|
+
__decorate([
|
|
330
|
+
(0, inversify_1.inject)(terminal_ext_1.TerminalServiceExtImpl),
|
|
331
|
+
__metadata("design:type", terminal_ext_1.TerminalServiceExtImpl)
|
|
332
|
+
], PluginHostRPC.prototype, "terminalServiceExt", void 0);
|
|
333
|
+
__decorate([
|
|
334
|
+
(0, inversify_1.inject)(secrets_ext_1.SecretsExtImpl),
|
|
335
|
+
__metadata("design:type", secrets_ext_1.SecretsExtImpl)
|
|
336
|
+
], PluginHostRPC.prototype, "secretsExt", void 0);
|
|
337
|
+
PluginHostRPC = __decorate([
|
|
338
|
+
(0, inversify_1.injectable)(),
|
|
339
|
+
__metadata("design:paramtypes", [])
|
|
340
|
+
], PluginHostRPC);
|
|
192
341
|
exports.PluginHostRPC = PluginHostRPC;
|
|
193
342
|
//# sourceMappingURL=plugin-host-rpc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-host-rpc.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF
|
|
1
|
+
{"version":3,"file":"plugin-host-rpc.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
17
17
|
// *****************************************************************************
|
|
18
18
|
require("@theia/core/shared/reflect-metadata");
|
|
19
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
19
20
|
const rpc_protocol_1 = require("../../common/rpc-protocol");
|
|
20
21
|
const hosted_plugin_protocol_1 = require("./hosted-plugin-protocol");
|
|
21
22
|
const plugin_host_rpc_1 = require("./plugin-host-rpc");
|
|
22
|
-
const
|
|
23
|
+
const plugin_host_module_1 = require("./plugin-host-module");
|
|
23
24
|
console.log('PLUGIN_HOST(' + process.pid + ') starting instance');
|
|
24
25
|
// override exit() function, to do not allow plugin kill this node
|
|
25
26
|
process.exit = function (code) {
|
|
@@ -68,8 +69,10 @@ process.on('rejectionHandled', (promise) => {
|
|
|
68
69
|
}
|
|
69
70
|
});
|
|
70
71
|
let terminating = false;
|
|
71
|
-
const
|
|
72
|
-
|
|
72
|
+
const container = new inversify_1.Container();
|
|
73
|
+
container.load(plugin_host_module_1.default);
|
|
74
|
+
const rpc = container.get(rpc_protocol_1.RPCProtocol);
|
|
75
|
+
const pluginHostRPC = container.get(plugin_host_rpc_1.PluginHostRPC);
|
|
73
76
|
process.on('message', async (message) => {
|
|
74
77
|
if (terminating) {
|
|
75
78
|
return;
|
|
@@ -97,6 +100,4 @@ process.on('message', async (message) => {
|
|
|
97
100
|
console.error(e);
|
|
98
101
|
}
|
|
99
102
|
});
|
|
100
|
-
const pluginHostRPC = new plugin_host_rpc_1.PluginHostRPC(rpc);
|
|
101
|
-
pluginHostRPC.initialize();
|
|
102
103
|
//# sourceMappingURL=plugin-host.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,+CAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-reader.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAkC,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBACa,kBAAmB,YAAW,8BAA8B;IAGrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAGZ,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzF;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE3D,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;cA8BzB,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjG;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAUtF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAarF,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"plugin-reader.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAkC,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBACa,kBAAmB,YAAW,8BAA8B;IAGrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAGZ,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzF;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE3D,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;cA8BzB,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjG;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAUtF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAarF,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc;IAoB7C,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAKtF,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;CAK3E"}
|
|
@@ -104,6 +104,9 @@ let HostedPluginReader = class HostedPluginReader {
|
|
|
104
104
|
if (pluginMetadata.model.entryPoint.backend) {
|
|
105
105
|
pluginMetadata.model.entryPoint.backend = path.resolve(plugin.packagePath, pluginMetadata.model.entryPoint.backend);
|
|
106
106
|
}
|
|
107
|
+
if (pluginMetadata.model.entryPoint.headless) {
|
|
108
|
+
pluginMetadata.model.entryPoint.headless = path.resolve(plugin.packagePath, pluginMetadata.model.entryPoint.headless);
|
|
109
|
+
}
|
|
107
110
|
if (pluginMetadata) {
|
|
108
111
|
// Add post processor
|
|
109
112
|
if (this.metadataProcessors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-reader.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;AAEhF,6BAA6B;AAE7B,2CAA2C;AAC3C,0CAAuC;AACvC,sCAAsC;AACtC,4DAAyF;AAEzF,kEAAiI;AACjI,yDAAqD;AACrD,qEAAwD;AAGxD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAA/B;QAWI;;WAEG;QACO,oBAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-reader.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,13 @@ import { HostedPluginDeployerHandler } from './hosted-plugin-deployer-handler';
|
|
|
6
6
|
import { PluginDeployerImpl } from '../../main/node/plugin-deployer-impl';
|
|
7
7
|
import { HostedPluginLocalizationService } from './hosted-plugin-localization-service';
|
|
8
8
|
import { PluginUninstallationManager } from '../../main/node/plugin-uninstallation-manager';
|
|
9
|
+
export declare const BackendPluginHostableFilter: unique symbol;
|
|
10
|
+
/**
|
|
11
|
+
* A filter matching backend plugins that are hostable in my plugin host process.
|
|
12
|
+
* Only if at least one backend plugin is deployed that matches my filter will I
|
|
13
|
+
* start the host process.
|
|
14
|
+
*/
|
|
15
|
+
export declare type BackendPluginHostableFilter = (plugin: DeployedPlugin) => boolean;
|
|
9
16
|
export declare class HostedPluginServerImpl implements HostedPluginServer {
|
|
10
17
|
private readonly hostedPlugin;
|
|
11
18
|
protected readonly logger: ILogger;
|
|
@@ -14,6 +21,7 @@ export declare class HostedPluginServerImpl implements HostedPluginServer {
|
|
|
14
21
|
protected readonly localizationService: HostedPluginLocalizationService;
|
|
15
22
|
protected readonly extPluginAPIContributions: ContributionProvider<ExtPluginApiProvider>;
|
|
16
23
|
protected readonly uninstallationManager: PluginUninstallationManager;
|
|
24
|
+
protected backendPluginHostableFilter: BackendPluginHostableFilter;
|
|
17
25
|
protected client: HostedPluginClient | undefined;
|
|
18
26
|
protected toDispose: DisposableCollection;
|
|
19
27
|
protected _ignoredPlugins?: Set<PluginIdentifiers.VersionedId>;
|