@theia/plugin-dev 1.67.0-next.56 → 1.67.0-next.86

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.
Files changed (69) hide show
  1. package/lib/browser/hosted-plugin-controller.d.ts +75 -0
  2. package/lib/browser/hosted-plugin-controller.d.ts.map +1 -0
  3. package/lib/browser/hosted-plugin-controller.js +345 -0
  4. package/lib/browser/hosted-plugin-controller.js.map +1 -0
  5. package/lib/browser/hosted-plugin-frontend-contribution.d.ts +7 -0
  6. package/lib/browser/hosted-plugin-frontend-contribution.d.ts.map +1 -0
  7. package/lib/browser/hosted-plugin-frontend-contribution.js +49 -0
  8. package/lib/browser/hosted-plugin-frontend-contribution.js.map +1 -0
  9. package/lib/browser/hosted-plugin-informer.d.ts +26 -0
  10. package/lib/browser/hosted-plugin-informer.d.ts.map +1 -0
  11. package/lib/browser/hosted-plugin-informer.js +95 -0
  12. package/lib/browser/hosted-plugin-informer.js.map +1 -0
  13. package/lib/browser/hosted-plugin-log-viewer.d.ts +15 -0
  14. package/lib/browser/hosted-plugin-log-viewer.d.ts.map +1 -0
  15. package/lib/browser/hosted-plugin-log-viewer.js +62 -0
  16. package/lib/browser/hosted-plugin-log-viewer.js.map +1 -0
  17. package/lib/browser/hosted-plugin-manager-client.d.ts +81 -0
  18. package/lib/browser/hosted-plugin-manager-client.d.ts.map +1 -0
  19. package/lib/browser/hosted-plugin-manager-client.js +407 -0
  20. package/lib/browser/hosted-plugin-manager-client.js.map +1 -0
  21. package/lib/browser/plugin-dev-frontend-module.d.ts +4 -0
  22. package/lib/browser/plugin-dev-frontend-module.d.ts.map +1 -0
  23. package/lib/browser/plugin-dev-frontend-module.js +43 -0
  24. package/lib/browser/plugin-dev-frontend-module.js.map +1 -0
  25. package/lib/common/hosted-plugin-preferences.d.ts +16 -0
  26. package/lib/common/hosted-plugin-preferences.d.ts.map +1 -0
  27. package/lib/common/hosted-plugin-preferences.js +81 -0
  28. package/lib/common/hosted-plugin-preferences.js.map +1 -0
  29. package/lib/common/index.d.ts +3 -0
  30. package/lib/common/index.d.ts.map +1 -0
  31. package/lib/common/index.js +23 -0
  32. package/lib/common/index.js.map +1 -0
  33. package/lib/common/plugin-dev-protocol.d.ts +29 -0
  34. package/lib/common/plugin-dev-protocol.d.ts.map +1 -0
  35. package/lib/common/plugin-dev-protocol.js +21 -0
  36. package/lib/common/plugin-dev-protocol.js.map +1 -0
  37. package/lib/node/hosted-instance-manager.d.ts +105 -0
  38. package/lib/node/hosted-instance-manager.d.ts.map +1 -0
  39. package/lib/node/hosted-instance-manager.js +329 -0
  40. package/lib/node/hosted-instance-manager.js.map +1 -0
  41. package/lib/node/hosted-plugin-reader.d.ts +11 -0
  42. package/lib/node/hosted-plugin-reader.d.ts.map +1 -0
  43. package/lib/node/hosted-plugin-reader.js +61 -0
  44. package/lib/node/hosted-plugin-reader.js.map +1 -0
  45. package/lib/node/hosted-plugin-uri-postprocessor.d.ts +7 -0
  46. package/lib/node/hosted-plugin-uri-postprocessor.d.ts.map +1 -0
  47. package/lib/node/hosted-plugin-uri-postprocessor.js +28 -0
  48. package/lib/node/hosted-plugin-uri-postprocessor.js.map +1 -0
  49. package/lib/node/hosted-plugins-manager.d.ts +44 -0
  50. package/lib/node/hosted-plugins-manager.d.ts.map +1 -0
  51. package/lib/node/hosted-plugins-manager.js +111 -0
  52. package/lib/node/hosted-plugins-manager.js.map +1 -0
  53. package/lib/node/plugin-dev-backend-module.d.ts +5 -0
  54. package/lib/node/plugin-dev-backend-module.d.ts.map +1 -0
  55. package/lib/node/plugin-dev-backend-module.js +56 -0
  56. package/lib/node/plugin-dev-backend-module.js.map +1 -0
  57. package/lib/node/plugin-dev-service.d.ts +26 -0
  58. package/lib/node/plugin-dev-service.d.ts.map +1 -0
  59. package/lib/node/plugin-dev-service.js +101 -0
  60. package/lib/node/plugin-dev-service.js.map +1 -0
  61. package/lib/node-electron/plugin-dev-electron-backend-module.d.ts +4 -0
  62. package/lib/node-electron/plugin-dev-electron-backend-module.d.ts.map +1 -0
  63. package/lib/node-electron/plugin-dev-electron-backend-module.js +29 -0
  64. package/lib/node-electron/plugin-dev-electron-backend-module.js.map +1 -0
  65. package/lib/package.spec.d.ts +1 -0
  66. package/lib/package.spec.d.ts.map +1 -0
  67. package/lib/package.spec.js +26 -0
  68. package/lib/package.spec.js.map +1 -0
  69. package/package.json +8 -8
@@ -0,0 +1,15 @@
1
+ import { OutputChannel, OutputChannelManager } from '@theia/output/lib/browser/output-channel';
2
+ import { OutputContribution } from '@theia/output/lib/browser/output-contribution';
3
+ import { LogPart } from '@theia/plugin-ext/lib/common/types';
4
+ import { HostedPluginWatcher } from '@theia/plugin-ext/lib/hosted/browser/hosted-plugin-watcher';
5
+ export declare class HostedPluginLogViewer {
6
+ static OUTPUT_CHANNEL_NAME: string;
7
+ protected readonly watcher: HostedPluginWatcher;
8
+ protected readonly outputChannelManager: OutputChannelManager;
9
+ protected readonly outputContribution: OutputContribution;
10
+ protected channel: OutputChannel;
11
+ showLogConsole(): void;
12
+ protected init(): void;
13
+ protected logMessageEventHandler(event: LogPart): void;
14
+ }
15
+ //# sourceMappingURL=hosted-plugin-log-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-plugin-log-viewer.d.ts","sourceRoot":"","sources":["../../src/browser/hosted-plugin-log-viewer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AAEjG,qBACa,qBAAqB;IAC9B,OAAc,mBAAmB,SAAyB;IAG1D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;IAEjC,cAAc,IAAI,IAAI;IAOtB,SAAS,CAAC,IAAI,IAAI,IAAI;IAKtB,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAIzD"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Red Hat, Inc. and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var HostedPluginLogViewer_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.HostedPluginLogViewer = void 0;
20
+ const tslib_1 = require("tslib");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const output_channel_1 = require("@theia/output/lib/browser/output-channel");
23
+ const output_contribution_1 = require("@theia/output/lib/browser/output-contribution");
24
+ const hosted_plugin_watcher_1 = require("@theia/plugin-ext/lib/hosted/browser/hosted-plugin-watcher");
25
+ let HostedPluginLogViewer = HostedPluginLogViewer_1 = class HostedPluginLogViewer {
26
+ showLogConsole() {
27
+ this.outputContribution.openView({ reveal: true }).then(view => {
28
+ view.activate();
29
+ });
30
+ }
31
+ init() {
32
+ this.channel = this.outputChannelManager.getChannel(HostedPluginLogViewer_1.OUTPUT_CHANNEL_NAME);
33
+ this.watcher.onLogMessageEvent(event => this.logMessageEventHandler(event));
34
+ }
35
+ logMessageEventHandler(event) {
36
+ this.channel.appendLine(event.data);
37
+ }
38
+ };
39
+ exports.HostedPluginLogViewer = HostedPluginLogViewer;
40
+ HostedPluginLogViewer.OUTPUT_CHANNEL_NAME = 'hosted-instance-log';
41
+ tslib_1.__decorate([
42
+ (0, inversify_1.inject)(hosted_plugin_watcher_1.HostedPluginWatcher),
43
+ tslib_1.__metadata("design:type", hosted_plugin_watcher_1.HostedPluginWatcher)
44
+ ], HostedPluginLogViewer.prototype, "watcher", void 0);
45
+ tslib_1.__decorate([
46
+ (0, inversify_1.inject)(output_channel_1.OutputChannelManager),
47
+ tslib_1.__metadata("design:type", output_channel_1.OutputChannelManager)
48
+ ], HostedPluginLogViewer.prototype, "outputChannelManager", void 0);
49
+ tslib_1.__decorate([
50
+ (0, inversify_1.inject)(output_contribution_1.OutputContribution),
51
+ tslib_1.__metadata("design:type", output_contribution_1.OutputContribution)
52
+ ], HostedPluginLogViewer.prototype, "outputContribution", void 0);
53
+ tslib_1.__decorate([
54
+ (0, inversify_1.postConstruct)(),
55
+ tslib_1.__metadata("design:type", Function),
56
+ tslib_1.__metadata("design:paramtypes", []),
57
+ tslib_1.__metadata("design:returntype", void 0)
58
+ ], HostedPluginLogViewer.prototype, "init", null);
59
+ exports.HostedPluginLogViewer = HostedPluginLogViewer = HostedPluginLogViewer_1 = tslib_1.__decorate([
60
+ (0, inversify_1.injectable)()
61
+ ], HostedPluginLogViewer);
62
+ //# sourceMappingURL=hosted-plugin-log-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-plugin-log-viewer.js","sourceRoot":"","sources":["../../src/browser/hosted-plugin-log-viewer.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,4DAAiF;AACjF,6EAA+F;AAC/F,uFAAmF;AAEnF,sGAAiG;AAG1F,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAY9B,cAAc;QACV,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAGS,IAAI;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,uBAAqB,CAAC,mBAAmB,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,CAAC;IAES,sBAAsB,CAAC,KAAc;QAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;;AA1BQ,sDAAqB;AAChB,yCAAmB,GAAG,qBAAqB,AAAxB,CAAyB;AAGvC;IADlB,IAAA,kBAAM,EAAC,2CAAmB,CAAC;sCACA,2CAAmB;sDAAC;AAE7B;IADlB,IAAA,kBAAM,EAAC,qCAAoB,CAAC;sCACY,qCAAoB;mEAAC;AAE3C;IADlB,IAAA,kBAAM,EAAC,wCAAkB,CAAC;sCACY,wCAAkB;iEAAC;AAWhD;IADT,IAAA,yBAAa,GAAE;;;;iDAIf;gCAtBQ,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CA4BjC"}
@@ -0,0 +1,81 @@
1
+ import URI from '@theia/core/lib/common/uri';
2
+ import { MessageService, Command, Emitter, Event } from '@theia/core/lib/common';
3
+ import { LabelProvider } from '@theia/core/lib/browser';
4
+ import { WindowService } from '@theia/core/lib/browser/window/window-service';
5
+ import { WorkspaceService } from '@theia/workspace/lib/browser';
6
+ import { FileDialogService } from '@theia/filesystem/lib/browser';
7
+ import { PluginDebugConfiguration, PluginDevServer } from '../common/plugin-dev-protocol';
8
+ import { LaunchVSCodeRequest, LaunchVSCodeResult } from '@theia/debug/lib/browser/debug-contribution';
9
+ import { DebugSessionManager } from '@theia/debug/lib/browser/debug-session-manager';
10
+ import { HostedPluginPreferences } from '../common/hosted-plugin-preferences';
11
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
12
+ import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
13
+ import { DebugSessionConnection } from '@theia/debug/lib/browser/debug-session-connection';
14
+ /**
15
+ * Commands to control Hosted plugin instances.
16
+ */
17
+ export declare namespace HostedPluginCommands {
18
+ const START: Command;
19
+ const DEBUG: Command;
20
+ const STOP: Command;
21
+ const RESTART: Command;
22
+ const SELECT_PATH: Command;
23
+ }
24
+ /**
25
+ * Available states of hosted plugin instance.
26
+ */
27
+ export declare enum HostedInstanceState {
28
+ STOPPED = "stopped",
29
+ STARTING = "starting",
30
+ RUNNING = "running",
31
+ STOPPING = "stopping",
32
+ FAILED = "failed"
33
+ }
34
+ export interface HostedInstanceData {
35
+ state: HostedInstanceState;
36
+ pluginLocation: URI;
37
+ }
38
+ /**
39
+ * Responsible for UI to set up and control Hosted Plugin Instance.
40
+ */
41
+ export declare class HostedPluginManagerClient {
42
+ private openNewTabAskDialog;
43
+ private connection;
44
+ protected pluginLocation: URI | undefined;
45
+ protected pluginInstanceURL: string | undefined;
46
+ protected isDebug: boolean;
47
+ protected readonly stateChanged: Emitter<HostedInstanceData>;
48
+ get onStateChanged(): Event<HostedInstanceData>;
49
+ protected readonly hostedPluginServer: PluginDevServer;
50
+ protected readonly messageService: MessageService;
51
+ protected readonly labelProvider: LabelProvider;
52
+ protected readonly windowService: WindowService;
53
+ protected readonly fileService: FileService;
54
+ protected readonly environments: EnvVariablesServer;
55
+ protected readonly workspaceService: WorkspaceService;
56
+ protected readonly debugSessionManager: DebugSessionManager;
57
+ protected readonly hostedPluginPreferences: HostedPluginPreferences;
58
+ protected readonly fileDialogService: FileDialogService;
59
+ protected init(): void;
60
+ protected doInit(): Promise<void>;
61
+ get lastPluginLocation(): string | undefined;
62
+ start(debugConfig?: PluginDebugConfiguration): Promise<void>;
63
+ debug(config?: PluginDebugConfiguration): Promise<string | undefined>;
64
+ startDebugSessionManager(): Promise<void>;
65
+ stop(checkRunning?: boolean): Promise<void>;
66
+ restart(): Promise<void>;
67
+ /**
68
+ * Creates directory choose dialog and set selected folder into pluginLocation field.
69
+ */
70
+ selectPluginPath(): Promise<void>;
71
+ register(configType: string, connection: DebugSessionConnection): void;
72
+ /**
73
+ * Opens window with URL to the running plugin instance.
74
+ */
75
+ protected openPluginWindow(): Promise<void>;
76
+ protected launchVSCode({ arguments: { args } }: LaunchVSCodeRequest): Promise<LaunchVSCodeResult>;
77
+ protected getErrorMessage(error: any): string;
78
+ private setDebugConfig;
79
+ private getDebugPluginConfig;
80
+ }
81
+ //# sourceMappingURL=hosted-plugin-manager-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-plugin-manager-client.d.ts","sourceRoot":"","sources":["../../src/browser/hosted-plugin-manager-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,407 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2018 Red Hat, Inc. and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.HostedPluginManagerClient = exports.HostedInstanceState = exports.HostedPluginCommands = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const uri_1 = require("@theia/core/lib/common/uri");
22
+ const path_1 = require("@theia/core/lib/common/path");
23
+ const common_1 = require("@theia/core/lib/common");
24
+ const browser_1 = require("@theia/core/lib/browser");
25
+ const window_service_1 = require("@theia/core/lib/browser/window/window-service");
26
+ const browser_2 = require("@theia/workspace/lib/browser");
27
+ const browser_3 = require("@theia/filesystem/lib/browser");
28
+ const plugin_dev_protocol_1 = require("../common/plugin-dev-protocol");
29
+ const debug_session_manager_1 = require("@theia/debug/lib/browser/debug-session-manager");
30
+ const hosted_plugin_preferences_1 = require("../common/hosted-plugin-preferences");
31
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
32
+ const env_variables_1 = require("@theia/core/lib/common/env-variables");
33
+ const nls_1 = require("@theia/core/lib/common/nls");
34
+ /**
35
+ * Commands to control Hosted plugin instances.
36
+ */
37
+ var HostedPluginCommands;
38
+ (function (HostedPluginCommands) {
39
+ const HOSTED_PLUGIN_CATEGORY_KEY = 'theia/plugin-dev/hostedPlugin';
40
+ const HOSTED_PLUGIN_CATEGORY = 'Hosted Plugin';
41
+ HostedPluginCommands.START = common_1.Command.toLocalizedCommand({
42
+ id: 'hosted-plugin:start',
43
+ category: HOSTED_PLUGIN_CATEGORY,
44
+ label: 'Start Instance'
45
+ }, 'theia/plugin-dev/startInstance', HOSTED_PLUGIN_CATEGORY_KEY);
46
+ HostedPluginCommands.DEBUG = common_1.Command.toLocalizedCommand({
47
+ id: 'hosted-plugin:debug',
48
+ category: HOSTED_PLUGIN_CATEGORY,
49
+ label: 'Debug Instance'
50
+ }, 'theia/plugin-dev/debugInstance', HOSTED_PLUGIN_CATEGORY_KEY);
51
+ HostedPluginCommands.STOP = common_1.Command.toLocalizedCommand({
52
+ id: 'hosted-plugin:stop',
53
+ category: HOSTED_PLUGIN_CATEGORY,
54
+ label: 'Stop Instance'
55
+ }, 'theia/plugin-dev/stopInstance', HOSTED_PLUGIN_CATEGORY_KEY);
56
+ HostedPluginCommands.RESTART = common_1.Command.toLocalizedCommand({
57
+ id: 'hosted-plugin:restart',
58
+ category: HOSTED_PLUGIN_CATEGORY,
59
+ label: 'Restart Instance'
60
+ }, 'theia/plugin-dev/restartInstance', HOSTED_PLUGIN_CATEGORY_KEY);
61
+ HostedPluginCommands.SELECT_PATH = common_1.Command.toLocalizedCommand({
62
+ id: 'hosted-plugin:select-path',
63
+ category: HOSTED_PLUGIN_CATEGORY,
64
+ label: 'Select Path'
65
+ }, 'theia/plugin-dev/selectPath', HOSTED_PLUGIN_CATEGORY_KEY);
66
+ })(HostedPluginCommands || (exports.HostedPluginCommands = HostedPluginCommands = {}));
67
+ /**
68
+ * Available states of hosted plugin instance.
69
+ */
70
+ var HostedInstanceState;
71
+ (function (HostedInstanceState) {
72
+ HostedInstanceState["STOPPED"] = "stopped";
73
+ HostedInstanceState["STARTING"] = "starting";
74
+ HostedInstanceState["RUNNING"] = "running";
75
+ HostedInstanceState["STOPPING"] = "stopping";
76
+ HostedInstanceState["FAILED"] = "failed";
77
+ })(HostedInstanceState || (exports.HostedInstanceState = HostedInstanceState = {}));
78
+ /**
79
+ * Responsible for UI to set up and control Hosted Plugin Instance.
80
+ */
81
+ let HostedPluginManagerClient = class HostedPluginManagerClient {
82
+ constructor() {
83
+ this.isDebug = false;
84
+ this.stateChanged = new common_1.Emitter();
85
+ }
86
+ get onStateChanged() {
87
+ return this.stateChanged.event;
88
+ }
89
+ init() {
90
+ this.doInit();
91
+ }
92
+ async doInit() {
93
+ this.openNewTabAskDialog = new OpenHostedInstanceLinkDialog(this.windowService);
94
+ // is needed for case when page is loaded when hosted instance is already running.
95
+ if (await this.hostedPluginServer.isHostedPluginInstanceRunning()) {
96
+ this.pluginLocation = new uri_1.default(await this.hostedPluginServer.getHostedPluginURI());
97
+ }
98
+ }
99
+ get lastPluginLocation() {
100
+ if (this.pluginLocation) {
101
+ return this.pluginLocation.toString();
102
+ }
103
+ return undefined;
104
+ }
105
+ async start(debugConfig) {
106
+ if (await this.hostedPluginServer.isHostedPluginInstanceRunning()) {
107
+ this.messageService.warn(nls_1.nls.localize('theia/plugin-dev/alreadyRunning', 'Hosted instance is already running.'));
108
+ return;
109
+ }
110
+ if (!this.pluginLocation) {
111
+ await this.selectPluginPath();
112
+ if (!this.pluginLocation) {
113
+ // selection was cancelled
114
+ return;
115
+ }
116
+ }
117
+ try {
118
+ this.stateChanged.fire({ state: HostedInstanceState.STARTING, pluginLocation: this.pluginLocation });
119
+ this.messageService.info(nls_1.nls.localize('theia/plugin-dev/starting', 'Starting hosted instance server ...'));
120
+ if (debugConfig) {
121
+ this.isDebug = true;
122
+ this.pluginInstanceURL = await this.hostedPluginServer.runDebugHostedPluginInstance(this.pluginLocation.toString(), debugConfig);
123
+ }
124
+ else {
125
+ this.isDebug = false;
126
+ this.pluginInstanceURL = await this.hostedPluginServer.runHostedPluginInstance(this.pluginLocation.toString());
127
+ }
128
+ await this.openPluginWindow();
129
+ this.messageService.info(`${nls_1.nls.localize('theia/plugin-dev/running', 'Hosted instance is running at:')} ${this.pluginInstanceURL}`);
130
+ this.stateChanged.fire({ state: HostedInstanceState.RUNNING, pluginLocation: this.pluginLocation });
131
+ }
132
+ catch (error) {
133
+ this.messageService.error(nls_1.nls.localize('theia/plugin-dev/failed', 'Failed to run hosted plugin instance: {0}', this.getErrorMessage(error)));
134
+ this.stateChanged.fire({ state: HostedInstanceState.FAILED, pluginLocation: this.pluginLocation });
135
+ this.stop();
136
+ }
137
+ }
138
+ async debug(config) {
139
+ await this.start(this.setDebugConfig(config));
140
+ await this.startDebugSessionManager();
141
+ return this.pluginInstanceURL;
142
+ }
143
+ async startDebugSessionManager() {
144
+ let outFiles = undefined;
145
+ if (this.pluginLocation && this.hostedPluginPreferences['hosted-plugin.launchOutFiles'].length > 0) {
146
+ const fsPath = await this.fileService.fsPath(this.pluginLocation);
147
+ if (fsPath) {
148
+ outFiles = this.hostedPluginPreferences['hosted-plugin.launchOutFiles'].map(outFile => outFile.replace('${pluginPath}', new path_1.Path(fsPath).toString()));
149
+ }
150
+ }
151
+ const name = nls_1.nls.localize('theia/plugin-dev/hostedPlugin', 'Hosted Plugin');
152
+ await this.debugSessionManager.start({
153
+ name,
154
+ configuration: {
155
+ type: 'node',
156
+ request: 'attach',
157
+ timeout: 30000,
158
+ name,
159
+ smartStep: true,
160
+ sourceMaps: !!outFiles,
161
+ outFiles
162
+ }
163
+ });
164
+ }
165
+ async stop(checkRunning = true) {
166
+ if (checkRunning && !await this.hostedPluginServer.isHostedPluginInstanceRunning()) {
167
+ this.messageService.warn(nls_1.nls.localize('theia/plugin-dev/notRunning', 'Hosted instance is not running.'));
168
+ return;
169
+ }
170
+ try {
171
+ this.stateChanged.fire({ state: HostedInstanceState.STOPPING, pluginLocation: this.pluginLocation });
172
+ await this.hostedPluginServer.terminateHostedPluginInstance();
173
+ this.messageService.info((this.pluginInstanceURL
174
+ ? nls_1.nls.localize('theia/plugin-dev/instanceTerminated', '{0} has been terminated', this.pluginInstanceURL)
175
+ : nls_1.nls.localize('theia/plugin-dev/unknownTerminated', 'The instance has been terminated')));
176
+ this.stateChanged.fire({ state: HostedInstanceState.STOPPED, pluginLocation: this.pluginLocation });
177
+ }
178
+ catch (error) {
179
+ this.messageService.error(this.getErrorMessage(error));
180
+ }
181
+ }
182
+ async restart() {
183
+ if (await this.hostedPluginServer.isHostedPluginInstanceRunning()) {
184
+ await this.stop(false);
185
+ this.messageService.info(nls_1.nls.localize('theia/plugin-dev/starting', 'Starting hosted instance server ...'));
186
+ // It takes some time before OS released all resources e.g. port.
187
+ // Keep trying to run hosted instance with delay.
188
+ this.stateChanged.fire({ state: HostedInstanceState.STARTING, pluginLocation: this.pluginLocation });
189
+ let lastError;
190
+ for (let tries = 0; tries < 15; tries++) {
191
+ try {
192
+ if (this.isDebug) {
193
+ this.pluginInstanceURL = await this.hostedPluginServer.runDebugHostedPluginInstance(this.pluginLocation.toString(), {
194
+ debugMode: this.hostedPluginPreferences['hosted-plugin.debugMode'],
195
+ debugPort: [...this.hostedPluginPreferences['hosted-plugin.debugPorts']]
196
+ });
197
+ await this.startDebugSessionManager();
198
+ }
199
+ else {
200
+ this.pluginInstanceURL = await this.hostedPluginServer.runHostedPluginInstance(this.pluginLocation.toString());
201
+ }
202
+ await this.openPluginWindow();
203
+ this.messageService.info(`${nls_1.nls.localize('theia/plugin-dev/running', 'Hosted instance is running at:')} ${this.pluginInstanceURL}`);
204
+ this.stateChanged.fire({
205
+ state: HostedInstanceState.RUNNING,
206
+ pluginLocation: this.pluginLocation
207
+ });
208
+ return;
209
+ }
210
+ catch (error) {
211
+ lastError = error;
212
+ await new Promise(resolve => setTimeout(resolve, 500));
213
+ }
214
+ }
215
+ this.messageService.error(nls_1.nls.localize('theia/plugin-dev/failed', 'Failed to run hosted plugin instance: {0}', this.getErrorMessage(lastError)));
216
+ this.stateChanged.fire({ state: HostedInstanceState.FAILED, pluginLocation: this.pluginLocation });
217
+ this.stop();
218
+ }
219
+ else {
220
+ this.messageService.warn(nls_1.nls.localize('theia/plugin-dev/notRunning', 'Hosted instance is not running.'));
221
+ this.start();
222
+ }
223
+ }
224
+ /**
225
+ * Creates directory choose dialog and set selected folder into pluginLocation field.
226
+ */
227
+ async selectPluginPath() {
228
+ const workspaceFolder = (await this.workspaceService.roots)[0] || await this.fileService.resolve(new uri_1.default(await this.environments.getHomeDirUri()));
229
+ if (!workspaceFolder) {
230
+ throw new Error('Unable to find the root');
231
+ }
232
+ const result = await this.fileDialogService.showOpenDialog({
233
+ title: HostedPluginCommands.SELECT_PATH.label,
234
+ openLabel: nls_1.nls.localize('theia/plugin-dev/select', 'Select'),
235
+ canSelectFiles: false,
236
+ canSelectFolders: true,
237
+ canSelectMany: false
238
+ }, workspaceFolder);
239
+ if (result) {
240
+ if (await this.hostedPluginServer.isPluginValid(result.toString())) {
241
+ this.pluginLocation = result;
242
+ this.messageService.info(nls_1.nls.localize('theia/plugin-dev/pluginFolder', 'Plugin folder is set to: {0}', this.labelProvider.getLongName(result)));
243
+ }
244
+ else {
245
+ this.messageService.error(nls_1.nls.localize('theia/plugin-dev/noValidPlugin', 'Specified folder does not contain valid plugin.'));
246
+ }
247
+ }
248
+ }
249
+ register(configType, connection) {
250
+ if (configType === 'pwa-extensionHost') {
251
+ this.connection = connection;
252
+ this.connection.onRequest('launchVSCode', (request) => this.launchVSCode(request));
253
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
254
+ this.connection.on('exited', async (args) => {
255
+ await this.stop();
256
+ });
257
+ }
258
+ }
259
+ /**
260
+ * Opens window with URL to the running plugin instance.
261
+ */
262
+ async openPluginWindow() {
263
+ // do nothing for electron browser
264
+ if (browser_1.isNative) {
265
+ return;
266
+ }
267
+ if (this.pluginInstanceURL) {
268
+ try {
269
+ this.windowService.openNewWindow(this.pluginInstanceURL);
270
+ }
271
+ catch (err) {
272
+ // browser blocked opening of a new tab
273
+ this.openNewTabAskDialog.showOpenNewTabAskDialog(this.pluginInstanceURL);
274
+ }
275
+ }
276
+ }
277
+ async launchVSCode({ arguments: { args } }) {
278
+ let result = {};
279
+ let instanceURI;
280
+ const sessions = this.debugSessionManager.sessions.filter(session => session.id !== this.connection.sessionId);
281
+ /* if `launchVSCode` is invoked and sessions do not exist - it means that `start` debug was invoked.
282
+ if `launchVSCode` is invoked and sessions do exist - it means that `restartSessions()` was invoked,
283
+ which invoked `this.sendRequest('restart', {})`, which restarted `vscode-builtin-js-debug` plugin which is
284
+ connected to first session (sessions[0]), which means that other existing (child) sessions need to be terminated
285
+ and new ones will be created by running `startDebugSessionManager()`
286
+ */
287
+ if (sessions.length > 0) {
288
+ sessions.forEach(session => this.debugSessionManager.terminateSession(session));
289
+ await this.startDebugSessionManager();
290
+ instanceURI = this.pluginInstanceURL;
291
+ }
292
+ else {
293
+ instanceURI = await this.debug(this.getDebugPluginConfig(args));
294
+ }
295
+ if (instanceURI) {
296
+ const instanceURL = new URL(instanceURI);
297
+ if (instanceURL.port) {
298
+ result = Object.assign(result, { rendererDebugPort: instanceURL.port });
299
+ }
300
+ }
301
+ return result;
302
+ }
303
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
304
+ getErrorMessage(error) {
305
+ var _a;
306
+ return ((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.substring(error.message.indexOf(':') + 1)) || '';
307
+ }
308
+ setDebugConfig(config) {
309
+ config = Object.assign(config || {}, { debugMode: this.hostedPluginPreferences['hosted-plugin.debugMode'] });
310
+ if (config.pluginLocation) {
311
+ this.pluginLocation = new uri_1.default((!config.pluginLocation.startsWith('/') ? '/' : '') + config.pluginLocation.replace(/\\/g, '/')).withScheme('file');
312
+ }
313
+ if (config.debugPort === undefined) {
314
+ config.debugPort = [...this.hostedPluginPreferences['hosted-plugin.debugPorts']];
315
+ }
316
+ return config;
317
+ }
318
+ getDebugPluginConfig(args) {
319
+ let pluginLocation;
320
+ for (const arg of args) {
321
+ if ((arg === null || arg === void 0 ? void 0 : arg.prefix) === '--extensionDevelopmentPath=') {
322
+ pluginLocation = arg.path;
323
+ }
324
+ }
325
+ return {
326
+ pluginLocation
327
+ };
328
+ }
329
+ };
330
+ exports.HostedPluginManagerClient = HostedPluginManagerClient;
331
+ tslib_1.__decorate([
332
+ (0, inversify_1.inject)(plugin_dev_protocol_1.PluginDevServer),
333
+ tslib_1.__metadata("design:type", Object)
334
+ ], HostedPluginManagerClient.prototype, "hostedPluginServer", void 0);
335
+ tslib_1.__decorate([
336
+ (0, inversify_1.inject)(common_1.MessageService),
337
+ tslib_1.__metadata("design:type", common_1.MessageService)
338
+ ], HostedPluginManagerClient.prototype, "messageService", void 0);
339
+ tslib_1.__decorate([
340
+ (0, inversify_1.inject)(browser_1.LabelProvider),
341
+ tslib_1.__metadata("design:type", browser_1.LabelProvider)
342
+ ], HostedPluginManagerClient.prototype, "labelProvider", void 0);
343
+ tslib_1.__decorate([
344
+ (0, inversify_1.inject)(window_service_1.WindowService),
345
+ tslib_1.__metadata("design:type", Object)
346
+ ], HostedPluginManagerClient.prototype, "windowService", void 0);
347
+ tslib_1.__decorate([
348
+ (0, inversify_1.inject)(file_service_1.FileService),
349
+ tslib_1.__metadata("design:type", file_service_1.FileService)
350
+ ], HostedPluginManagerClient.prototype, "fileService", void 0);
351
+ tslib_1.__decorate([
352
+ (0, inversify_1.inject)(env_variables_1.EnvVariablesServer),
353
+ tslib_1.__metadata("design:type", Object)
354
+ ], HostedPluginManagerClient.prototype, "environments", void 0);
355
+ tslib_1.__decorate([
356
+ (0, inversify_1.inject)(browser_2.WorkspaceService),
357
+ tslib_1.__metadata("design:type", browser_2.WorkspaceService)
358
+ ], HostedPluginManagerClient.prototype, "workspaceService", void 0);
359
+ tslib_1.__decorate([
360
+ (0, inversify_1.inject)(debug_session_manager_1.DebugSessionManager),
361
+ tslib_1.__metadata("design:type", debug_session_manager_1.DebugSessionManager)
362
+ ], HostedPluginManagerClient.prototype, "debugSessionManager", void 0);
363
+ tslib_1.__decorate([
364
+ (0, inversify_1.inject)(hosted_plugin_preferences_1.HostedPluginPreferences),
365
+ tslib_1.__metadata("design:type", Object)
366
+ ], HostedPluginManagerClient.prototype, "hostedPluginPreferences", void 0);
367
+ tslib_1.__decorate([
368
+ (0, inversify_1.inject)(browser_3.FileDialogService),
369
+ tslib_1.__metadata("design:type", Object)
370
+ ], HostedPluginManagerClient.prototype, "fileDialogService", void 0);
371
+ tslib_1.__decorate([
372
+ (0, inversify_1.postConstruct)(),
373
+ tslib_1.__metadata("design:type", Function),
374
+ tslib_1.__metadata("design:paramtypes", []),
375
+ tslib_1.__metadata("design:returntype", void 0)
376
+ ], HostedPluginManagerClient.prototype, "init", null);
377
+ exports.HostedPluginManagerClient = HostedPluginManagerClient = tslib_1.__decorate([
378
+ (0, inversify_1.injectable)()
379
+ ], HostedPluginManagerClient);
380
+ class OpenHostedInstanceLinkDialog extends browser_1.AbstractDialog {
381
+ constructor(windowService) {
382
+ super({
383
+ title: nls_1.nls.localize('theia/plugin-dev/preventedNewTab', 'Your browser prevented opening of a new tab')
384
+ });
385
+ this.windowService = windowService;
386
+ this.linkNode = document.createElement('a');
387
+ this.linkNode.target = '_blank';
388
+ this.linkNode.setAttribute('style', 'color: var(--theia-editorWidget-foreground);');
389
+ this.contentNode.appendChild(this.linkNode);
390
+ const messageNode = document.createElement('div');
391
+ messageNode.innerText = nls_1.nls.localize('theia/plugin-dev/running', 'Hosted instance is running at:') + ' ';
392
+ messageNode.appendChild(this.linkNode);
393
+ this.contentNode.appendChild(messageNode);
394
+ this.appendCloseButton();
395
+ this.openButton = this.appendAcceptButton(nls_1.nls.localizeByDefault('Open'));
396
+ }
397
+ showOpenNewTabAskDialog(uri) {
398
+ this.value = uri;
399
+ this.linkNode.textContent = uri;
400
+ this.linkNode.href = uri;
401
+ this.openButton.onclick = () => {
402
+ this.windowService.openNewWindow(uri);
403
+ };
404
+ this.open();
405
+ }
406
+ }
407
+ //# sourceMappingURL=hosted-plugin-manager-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-plugin-manager-client.js","sourceRoot":"","sources":["../../src/browser/hosted-plugin-manager-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ContainerModule } from '@theia/core/shared/inversify';
2
+ declare const _default: ContainerModule;
3
+ export default _default;
4
+ //# sourceMappingURL=plugin-dev-frontend-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-dev-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-dev-frontend-module.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAO/D,wBAgBG"}