@theia/remote 1.47.1 → 1.48.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/electron-browser/port-forwarding/port-forwading-contribution.d.ts +6 -0
- package/lib/electron-browser/port-forwarding/port-forwading-contribution.d.ts.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwading-contribution.js +40 -0
- package/lib/electron-browser/port-forwarding/port-forwading-contribution.js.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-service.d.ts +19 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-service.d.ts.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-service.js +76 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-service.js.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-widget.d.ts +17 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-widget.d.ts.map +1 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-widget.js +125 -0
- package/lib/electron-browser/port-forwarding/port-forwarding-widget.js.map +1 -0
- package/lib/electron-browser/remote-frontend-contribution.d.ts.map +1 -1
- package/lib/electron-browser/remote-frontend-contribution.js +1 -3
- package/lib/electron-browser/remote-frontend-contribution.js.map +1 -1
- package/lib/electron-browser/remote-frontend-module.d.ts +1 -0
- package/lib/electron-browser/remote-frontend-module.d.ts.map +1 -1
- package/lib/electron-browser/remote-frontend-module.js +16 -2
- package/lib/electron-browser/remote-frontend-module.js.map +1 -1
- package/lib/electron-browser/remote-registry-contribution.d.ts +1 -1
- package/lib/electron-browser/remote-registry-contribution.d.ts.map +1 -1
- package/lib/electron-browser/remote-registry-contribution.js +6 -3
- package/lib/electron-browser/remote-registry-contribution.js.map +1 -1
- package/lib/electron-common/remote-port-forwarding-provider.d.ts +11 -0
- package/lib/electron-common/remote-port-forwarding-provider.d.ts.map +1 -0
- package/lib/electron-common/remote-port-forwarding-provider.js +21 -0
- package/lib/electron-common/remote-port-forwarding-provider.js.map +1 -0
- package/lib/electron-node/remote-backend-module.d.ts.map +1 -1
- package/lib/electron-node/remote-backend-module.js +5 -0
- package/lib/electron-node/remote-backend-module.js.map +1 -1
- package/lib/electron-node/remote-port-forwarding-provider.d.ts +11 -0
- package/lib/electron-node/remote-port-forwarding-provider.d.ts.map +1 -0
- package/lib/electron-node/remote-port-forwarding-provider.js +53 -0
- package/lib/electron-node/remote-port-forwarding-provider.js.map +1 -0
- package/lib/electron-node/remote-types.d.ts +11 -1
- package/lib/electron-node/remote-types.d.ts.map +1 -1
- package/lib/electron-node/setup/remote-setup-service.d.ts +5 -1
- package/lib/electron-node/setup/remote-setup-service.d.ts.map +1 -1
- package/lib/electron-node/setup/remote-setup-service.js +7 -2
- package/lib/electron-node/setup/remote-setup-service.js.map +1 -1
- package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts +1 -1
- package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts.map +1 -1
- package/lib/electron-node/ssh/remote-ssh-connection-provider.js +2 -2
- package/lib/electron-node/ssh/remote-ssh-connection-provider.js.map +1 -1
- package/package.json +6 -6
- package/src/electron-browser/port-forwarding/port-forwading-contribution.ts +33 -0
- package/src/electron-browser/port-forwarding/port-forwarding-service.ts +84 -0
- package/src/electron-browser/port-forwarding/port-forwarding-widget.tsx +140 -0
- package/src/electron-browser/remote-frontend-contribution.ts +1 -3
- package/src/electron-browser/remote-frontend-module.ts +22 -3
- package/src/electron-browser/remote-registry-contribution.ts +9 -6
- package/src/electron-browser/style/port-forwarding-widget.css +44 -0
- package/src/electron-common/remote-port-forwarding-provider.ts +29 -0
- package/src/electron-node/remote-backend-module.ts +6 -0
- package/src/electron-node/remote-port-forwarding-provider.ts +50 -0
- package/src/electron-node/remote-types.ts +14 -1
- package/src/electron-node/setup/remote-setup-service.ts +12 -3
- package/src/electron-node/ssh/remote-ssh-connection-provider.ts +2 -2
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AbstractViewContribution } from '@theia/core/lib/browser';
|
|
2
|
+
import { PortForwardingWidget } from './port-forwarding-widget';
|
|
3
|
+
export declare class PortForwardingContribution extends AbstractViewContribution<PortForwardingWidget> {
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=port-forwading-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwading-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwading-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAA6B,MAAM,0BAA0B,CAAC;AAE3F,qBACa,0BAA2B,SAAQ,wBAAwB,CAAC,oBAAoB,CAAC;;CAU7F"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 TypeFox 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.PortForwardingContribution = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const port_forwarding_widget_1 = require("./port-forwarding-widget");
|
|
24
|
+
let PortForwardingContribution = class PortForwardingContribution extends browser_1.AbstractViewContribution {
|
|
25
|
+
constructor() {
|
|
26
|
+
super({
|
|
27
|
+
widgetId: port_forwarding_widget_1.PORT_FORWARDING_WIDGET_ID,
|
|
28
|
+
widgetName: core_1.nls.localizeByDefault('Ports'),
|
|
29
|
+
defaultWidgetOptions: {
|
|
30
|
+
area: 'bottom'
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
PortForwardingContribution = (0, tslib_1.__decorate)([
|
|
36
|
+
(0, inversify_1.injectable)(),
|
|
37
|
+
(0, tslib_1.__metadata)("design:paramtypes", [])
|
|
38
|
+
], PortForwardingContribution);
|
|
39
|
+
exports.PortForwardingContribution = PortForwardingContribution;
|
|
40
|
+
//# sourceMappingURL=port-forwading-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwading-contribution.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwading-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,sCAAkC;AAClC,qDAAmE;AACnE,4DAA0D;AAC1D,qEAA2F;AAG3F,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,kCAA8C;IAC1F;QACI,KAAK,CAAC;YACF,QAAQ,EAAE,kDAAyB;YACnC,UAAU,EAAE,UAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC1C,oBAAoB,EAAE;gBAClB,IAAI,EAAE,QAAQ;aACjB;SACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAVY,0BAA0B;IADtC,IAAA,sBAAU,GAAE;;GACA,0BAA0B,CAUtC;AAVY,gEAA0B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Emitter } from '@theia/core';
|
|
2
|
+
import { RemotePortForwardingProvider } from '../../electron-common/remote-port-forwarding-provider';
|
|
3
|
+
export interface ForwardedPort {
|
|
4
|
+
localPort?: number;
|
|
5
|
+
address?: string;
|
|
6
|
+
origin?: string;
|
|
7
|
+
editing: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class PortForwardingService {
|
|
10
|
+
readonly provider: RemotePortForwardingProvider;
|
|
11
|
+
protected readonly onDidChangePortsEmitter: Emitter<void>;
|
|
12
|
+
readonly onDidChangePorts: import("@theia/core").Event<void>;
|
|
13
|
+
forwardedPorts: ForwardedPort[];
|
|
14
|
+
forwardNewPort(origin?: string): ForwardedPort;
|
|
15
|
+
updatePort(port: ForwardedPort, newAdress: string): void;
|
|
16
|
+
removePort(port: ForwardedPort): void;
|
|
17
|
+
isValidAddress(address: string): boolean;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=port-forwarding-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwarding-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AAErG,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,qBACa,qBAAqB;IAG9B,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,gBAAuB;IACjE,QAAQ,CAAC,gBAAgB,oCAAsC;IAE/D,cAAc,EAAE,aAAa,EAAE,CAAM;IAErC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa;IAK9C,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAqBxD,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IASrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAU3C"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 TypeFox 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.PortForwardingService = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const remote_port_forwarding_provider_1 = require("../../electron-common/remote-port-forwarding-provider");
|
|
23
|
+
let PortForwardingService = class PortForwardingService {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.onDidChangePortsEmitter = new core_1.Emitter();
|
|
26
|
+
this.onDidChangePorts = this.onDidChangePortsEmitter.event;
|
|
27
|
+
this.forwardedPorts = [];
|
|
28
|
+
}
|
|
29
|
+
forwardNewPort(origin) {
|
|
30
|
+
const index = this.forwardedPorts.push({ editing: true, origin });
|
|
31
|
+
return this.forwardedPorts[index - 1];
|
|
32
|
+
}
|
|
33
|
+
updatePort(port, newAdress) {
|
|
34
|
+
const connectionPort = new URLSearchParams(location.search).get('port');
|
|
35
|
+
if (!connectionPort) {
|
|
36
|
+
// if there is no open remote connection we can't forward a port
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const parts = newAdress.split(':');
|
|
40
|
+
if (parts.length === 2) {
|
|
41
|
+
port.address = parts[0];
|
|
42
|
+
port.localPort = parseInt(parts[1]);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
port.localPort = parseInt(parts[0]);
|
|
46
|
+
}
|
|
47
|
+
port.editing = false;
|
|
48
|
+
this.provider.forwardPort(parseInt(connectionPort), { port: port.localPort, address: port.address });
|
|
49
|
+
this.onDidChangePortsEmitter.fire();
|
|
50
|
+
}
|
|
51
|
+
removePort(port) {
|
|
52
|
+
const index = this.forwardedPorts.indexOf(port);
|
|
53
|
+
if (index !== -1) {
|
|
54
|
+
this.forwardedPorts.splice(index, 1);
|
|
55
|
+
this.provider.portRemoved({ port: port.localPort });
|
|
56
|
+
this.onDidChangePortsEmitter.fire();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
isValidAddress(address) {
|
|
60
|
+
const match = address.match(/^(.*:)?\d+$/);
|
|
61
|
+
if (!match) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const port = parseInt(address.includes(':') ? address.split(':')[1] : address);
|
|
65
|
+
return !this.forwardedPorts.some(p => p.localPort === port);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
(0, tslib_1.__decorate)([
|
|
69
|
+
(0, inversify_1.inject)(remote_port_forwarding_provider_1.RemotePortForwardingProvider),
|
|
70
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
71
|
+
], PortForwardingService.prototype, "provider", void 0);
|
|
72
|
+
PortForwardingService = (0, tslib_1.__decorate)([
|
|
73
|
+
(0, inversify_1.injectable)()
|
|
74
|
+
], PortForwardingService);
|
|
75
|
+
exports.PortForwardingService = PortForwardingService;
|
|
76
|
+
//# sourceMappingURL=port-forwarding-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwarding-service.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ReactNode } from '@theia/core/shared/react';
|
|
3
|
+
import { OpenerService, ReactWidget } from '@theia/core/lib/browser';
|
|
4
|
+
import { ForwardedPort, PortForwardingService } from './port-forwarding-service';
|
|
5
|
+
import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
|
|
6
|
+
export declare const PORT_FORWARDING_WIDGET_ID = "port-forwarding-widget";
|
|
7
|
+
export declare class PortForwardingWidget extends ReactWidget {
|
|
8
|
+
protected readonly portForwardingService: PortForwardingService;
|
|
9
|
+
protected readonly openerService: OpenerService;
|
|
10
|
+
protected readonly clipboardService: ClipboardService;
|
|
11
|
+
protected init(): void;
|
|
12
|
+
protected render(): ReactNode;
|
|
13
|
+
protected renderForwardPortButton(): ReactNode;
|
|
14
|
+
protected renderAddressColumn(port: ForwardedPort): ReactNode;
|
|
15
|
+
protected renderPortColumn(port: ForwardedPort): ReactNode;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=port-forwarding-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwarding-widget.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-widget.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,qBACa,oBAAqB,SAAQ,WAAW;IAGjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,IAAI,IAAI,IAAI;IAWtB,SAAS,CAAC,MAAM,IAAI,SAAS;IAmC7B,SAAS,CAAC,uBAAuB,IAAI,SAAS;IAQ9C,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;IAsB7D,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;CAc7D"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 TypeFox 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.PortForwardingWidget = exports.PORT_FORWARDING_WIDGET_ID = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const React = require("@theia/core/shared/react");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const core_1 = require("@theia/core");
|
|
23
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
24
|
+
const port_forwarding_service_1 = require("./port-forwarding-service");
|
|
25
|
+
const clipboard_service_1 = require("@theia/core/lib/browser/clipboard-service");
|
|
26
|
+
exports.PORT_FORWARDING_WIDGET_ID = 'port-forwarding-widget';
|
|
27
|
+
let PortForwardingWidget = class PortForwardingWidget extends browser_1.ReactWidget {
|
|
28
|
+
init() {
|
|
29
|
+
this.id = exports.PORT_FORWARDING_WIDGET_ID;
|
|
30
|
+
this.node.tabIndex = -1;
|
|
31
|
+
this.title.label = core_1.nls.localizeByDefault('Ports');
|
|
32
|
+
this.title.caption = this.title.label;
|
|
33
|
+
this.title.closable = true;
|
|
34
|
+
this.update();
|
|
35
|
+
this.portForwardingService.onDidChangePorts(() => this.update());
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
if (this.portForwardingService.forwardedPorts.length === 0) {
|
|
39
|
+
return React.createElement("div", null,
|
|
40
|
+
React.createElement("p", { style: { marginLeft: 'calc(var(--theia-ui-padding) * 2)' } }, core_1.nls.localizeByDefault('No forwarded ports. Forward a port to access your locally running services over the internet.\n[Forward a Port]({0})').split('\n')[0]),
|
|
41
|
+
this.renderForwardPortButton());
|
|
42
|
+
}
|
|
43
|
+
return React.createElement("div", null,
|
|
44
|
+
React.createElement("table", { className: 'port-table' },
|
|
45
|
+
React.createElement("thead", null,
|
|
46
|
+
React.createElement("tr", null,
|
|
47
|
+
React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Port')),
|
|
48
|
+
React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Address')),
|
|
49
|
+
React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Running Process')),
|
|
50
|
+
React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Origin')))),
|
|
51
|
+
React.createElement("tbody", null,
|
|
52
|
+
this.portForwardingService.forwardedPorts.map(port => {
|
|
53
|
+
var _a;
|
|
54
|
+
return (React.createElement("tr", { key: (_a = port.localPort) !== null && _a !== void 0 ? _a : 'editing' },
|
|
55
|
+
this.renderPortColumn(port),
|
|
56
|
+
this.renderAddressColumn(port),
|
|
57
|
+
React.createElement("td", null),
|
|
58
|
+
React.createElement("td", null, port.origin ? core_1.nls.localizeByDefault(port.origin) : '')));
|
|
59
|
+
}),
|
|
60
|
+
!this.portForwardingService.forwardedPorts.some(port => port.editing) && React.createElement("tr", null,
|
|
61
|
+
React.createElement("td", null, this.renderForwardPortButton())))));
|
|
62
|
+
}
|
|
63
|
+
renderForwardPortButton() {
|
|
64
|
+
return React.createElement("button", { className: 'theia-button', onClick: () => {
|
|
65
|
+
this.portForwardingService.forwardNewPort('User Forwarded');
|
|
66
|
+
this.update();
|
|
67
|
+
} }, core_1.nls.localizeByDefault('Forward a Port'));
|
|
68
|
+
}
|
|
69
|
+
renderAddressColumn(port) {
|
|
70
|
+
var _a;
|
|
71
|
+
const address = `${(_a = port.address) !== null && _a !== void 0 ? _a : '0.0.0.0'}:${port.localPort}`;
|
|
72
|
+
return React.createElement("td", null,
|
|
73
|
+
React.createElement("div", { className: 'button-cell' },
|
|
74
|
+
React.createElement("span", { style: { flexGrow: 1 }, className: 'forwarded-address', onClick: async (e) => {
|
|
75
|
+
if (e.ctrlKey) {
|
|
76
|
+
const uri = new core_1.URI(`http://${address}`);
|
|
77
|
+
(await this.openerService.getOpener(uri)).open(uri);
|
|
78
|
+
}
|
|
79
|
+
}, title: core_1.nls.localizeByDefault('Follow link') + ' (ctrl/cmd + click)' }, port.localPort ? address : ''),
|
|
80
|
+
port.localPort &&
|
|
81
|
+
React.createElement("span", { className: 'codicon codicon-clippy action-label', title: core_1.nls.localizeByDefault('Copy Local Address'), onClick: () => {
|
|
82
|
+
this.clipboardService.writeText(address);
|
|
83
|
+
} })));
|
|
84
|
+
}
|
|
85
|
+
renderPortColumn(port) {
|
|
86
|
+
return port.editing ?
|
|
87
|
+
React.createElement("td", null,
|
|
88
|
+
React.createElement(PortEditingInput, { port: port, service: this.portForwardingService })) :
|
|
89
|
+
React.createElement("td", null,
|
|
90
|
+
React.createElement("div", { className: 'button-cell' },
|
|
91
|
+
React.createElement("span", { style: { flexGrow: 1 } }, port.localPort),
|
|
92
|
+
React.createElement("span", { className: 'codicon codicon-close action-label', title: core_1.nls.localizeByDefault('Stop Forwarding Port'), onClick: () => {
|
|
93
|
+
this.portForwardingService.removePort(port);
|
|
94
|
+
this.update();
|
|
95
|
+
} })));
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
(0, tslib_1.__decorate)([
|
|
99
|
+
(0, inversify_1.inject)(port_forwarding_service_1.PortForwardingService),
|
|
100
|
+
(0, tslib_1.__metadata)("design:type", port_forwarding_service_1.PortForwardingService)
|
|
101
|
+
], PortForwardingWidget.prototype, "portForwardingService", void 0);
|
|
102
|
+
(0, tslib_1.__decorate)([
|
|
103
|
+
(0, inversify_1.inject)(browser_1.OpenerService),
|
|
104
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
105
|
+
], PortForwardingWidget.prototype, "openerService", void 0);
|
|
106
|
+
(0, tslib_1.__decorate)([
|
|
107
|
+
(0, inversify_1.inject)(clipboard_service_1.ClipboardService),
|
|
108
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
109
|
+
], PortForwardingWidget.prototype, "clipboardService", void 0);
|
|
110
|
+
(0, tslib_1.__decorate)([
|
|
111
|
+
(0, inversify_1.postConstruct)(),
|
|
112
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
|
113
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
|
114
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
|
115
|
+
], PortForwardingWidget.prototype, "init", null);
|
|
116
|
+
PortForwardingWidget = (0, tslib_1.__decorate)([
|
|
117
|
+
(0, inversify_1.injectable)()
|
|
118
|
+
], PortForwardingWidget);
|
|
119
|
+
exports.PortForwardingWidget = PortForwardingWidget;
|
|
120
|
+
function PortEditingInput({ port, service }) {
|
|
121
|
+
var _a;
|
|
122
|
+
const [error, setError] = React.useState(false);
|
|
123
|
+
return React.createElement("input", { className: `theia-input forward-port-button${error ? ' port-edit-input-error' : ''}`, "port-edit-input-error": error, autoFocus: true, defaultValue: port.address ? `${port.address}:${port.localPort}` : (_a = port.localPort) !== null && _a !== void 0 ? _a : '', placeholder: core_1.nls.localizeByDefault('Port number or address (eg. 3000 or 10.10.10.10:2000).'), onKeyDown: e => e.key === 'Enter' && !error && service.updatePort(port, e.currentTarget.value), onKeyUp: e => setError(!service.isValidAddress(e.currentTarget.value)) });
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=port-forwarding-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forwarding-widget.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAO,iBAAiB,EAAkB,MAAM,aAAa,CAAC;AAC1I,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAsC,MAAM,yBAAyB,CAAC;AAEzH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAE9E,yBAAiB,cAAc,CAAC;IACrB,MAAM,aAAa,EAAE,OAE3B,CAAC;IACK,MAAM,iBAAiB,EAAE,OAG9B,CAAC;CACN;AAED,qBACa,0BAA2B,YAAW,mBAAmB,EAAE,+BAA+B;IAGnG,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAGzD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IAEjG,SAAS,CAAC,cAAc,iBAAwB;IAE1C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAYhB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/D,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAejD,SAAS,CAAC,gBAAgB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"remote-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAO,iBAAiB,EAAkB,MAAM,aAAa,CAAC;AAC1I,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAsC,MAAM,yBAAyB,CAAC;AAEzH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAE9E,yBAAiB,cAAc,CAAC;IACrB,MAAM,aAAa,EAAE,OAE3B,CAAC;IACK,MAAM,iBAAiB,EAAE,OAG9B,CAAC;CACN;AAED,qBACa,0BAA2B,YAAW,mBAAmB,EAAE,+BAA+B;IAGnG,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAGzD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IAEjG,SAAS,CAAC,cAAc,iBAAwB;IAE1C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAYhB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/D,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAejD,SAAS,CAAC,gBAAgB,IAAI,IAAI;cAOlB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CA4BhD"}
|
|
@@ -86,9 +86,7 @@ let RemoteFrontendContribution = class RemoteFrontendContribution {
|
|
|
86
86
|
disconnectRemote() {
|
|
87
87
|
const port = new URLSearchParams(location.search).get('localPort');
|
|
88
88
|
if (port) {
|
|
89
|
-
this.windowService.reload({
|
|
90
|
-
port
|
|
91
|
-
});
|
|
89
|
+
this.windowService.reload({ search: { port } });
|
|
92
90
|
}
|
|
93
91
|
}
|
|
94
92
|
async selectRemote() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-frontend-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,sCAA0I;AAC1I,qDAAyH;AACzH,4DAAmF;AACnF,oFAA6F;AAC7F,iFAA4F;AAC5F,qDAAiD;AACjD,kFAA8E;AAE9E,IAAiB,cAAc,CAQ9B;AARD,WAAiB,cAAc;IACd,4BAAa,GAAY;QAClC,EAAE,EAAE,eAAe;KACtB,CAAC;IACW,gCAAiB,GAAY,cAAO,CAAC,yBAAyB,CAAC;QACxE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,yBAAyB;KACnC,CAAC,CAAC;AACP,CAAC,EARgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAQ9B;AAGD,IAAa,0BAA0B,GAAvC,MAAa,0BAA0B;IAAvC;QAuBc,mBAAc,GAAG,IAAI,6CAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-frontend-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-frontend-module.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-module.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC
|
|
1
|
+
{"version":3,"file":"remote-frontend-module.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-module.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAgB/D,OAAO,6DAA6D,CAAC;;AAErE,wBAgCG"}
|
|
@@ -27,6 +27,12 @@ const remote_status_service_1 = require("../electron-common/remote-status-servic
|
|
|
27
27
|
const electron_file_dialog_service_1 = require("@theia/filesystem/lib/electron-browser/file-dialog/electron-file-dialog-service");
|
|
28
28
|
const remote_electron_file_dialog_service_1 = require("./remote-electron-file-dialog-service");
|
|
29
29
|
const remote_preferences_1 = require("./remote-preferences");
|
|
30
|
+
const port_forwarding_widget_1 = require("./port-forwarding/port-forwarding-widget");
|
|
31
|
+
const port_forwading_contribution_1 = require("./port-forwarding/port-forwading-contribution");
|
|
32
|
+
const port_forwarding_service_1 = require("./port-forwarding/port-forwarding-service");
|
|
33
|
+
const remote_port_forwarding_provider_1 = require("../electron-common/remote-port-forwarding-provider");
|
|
34
|
+
const service_connection_provider_1 = require("@theia/core/lib/browser/messaging/service-connection-provider");
|
|
35
|
+
require("../../src/electron-browser/style/port-forwarding-widget.css");
|
|
30
36
|
exports.default = new inversify_1.ContainerModule((bind, _, __, rebind) => {
|
|
31
37
|
bind(remote_frontend_contribution_1.RemoteFrontendContribution).toSelf().inSingletonScope();
|
|
32
38
|
bind(browser_1.FrontendApplicationContribution).toService(remote_frontend_contribution_1.RemoteFrontendContribution);
|
|
@@ -37,7 +43,15 @@ exports.default = new inversify_1.ContainerModule((bind, _, __, rebind) => {
|
|
|
37
43
|
(0, remote_preferences_1.bindRemotePreferences)(bind);
|
|
38
44
|
rebind(electron_file_dialog_service_1.ElectronFileDialogService).to(remote_electron_file_dialog_service_1.RemoteElectronFileDialogService).inSingletonScope();
|
|
39
45
|
bind(remote_service_1.RemoteService).toSelf().inSingletonScope();
|
|
40
|
-
bind(
|
|
41
|
-
bind(
|
|
46
|
+
bind(port_forwarding_widget_1.PortForwardingWidget).toSelf();
|
|
47
|
+
bind(browser_1.WidgetFactory).toDynamicValue(context => ({
|
|
48
|
+
id: port_forwarding_widget_1.PORT_FORWARDING_WIDGET_ID,
|
|
49
|
+
createWidget: () => context.container.get(port_forwarding_widget_1.PortForwardingWidget)
|
|
50
|
+
}));
|
|
51
|
+
(0, browser_1.bindViewContribution)(bind, port_forwading_contribution_1.PortForwardingContribution);
|
|
52
|
+
bind(port_forwarding_service_1.PortForwardingService).toSelf().inSingletonScope();
|
|
53
|
+
bind(remote_ssh_connection_provider_1.RemoteSSHConnectionProvider).toDynamicValue(ctx => service_connection_provider_1.ServiceConnectionProvider.createLocalProxy(ctx.container, remote_ssh_connection_provider_1.RemoteSSHConnectionProviderPath)).inSingletonScope();
|
|
54
|
+
bind(remote_status_service_1.RemoteStatusService).toDynamicValue(ctx => service_connection_provider_1.ServiceConnectionProvider.createLocalProxy(ctx.container, remote_status_service_1.RemoteStatusServicePath)).inSingletonScope();
|
|
55
|
+
bind(remote_port_forwarding_provider_1.RemotePortForwardingProvider).toDynamicValue(ctx => service_connection_provider_1.ServiceConnectionProvider.createLocalProxy(ctx.container, remote_port_forwarding_provider_1.RemoteRemotePortForwardingProviderPath)).inSingletonScope();
|
|
42
56
|
});
|
|
43
57
|
//# sourceMappingURL=remote-frontend-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-frontend-module.js","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,sCAA4E;AAC5E,4DAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"remote-frontend-module.js","sourceRoot":"","sources":["../../src/electron-browser/remote-frontend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,sCAA4E;AAC5E,4DAA+D;AAC/D,qDAA+G;AAC/G,uEAAkE;AAClE,sGAAiI;AACjI,iFAA4E;AAC5E,iFAA4E;AAC5E,qDAAiD;AACjD,oFAAwG;AACxG,kIAA4H;AAC5H,+FAAwF;AACxF,6DAA6D;AAC7D,qFAA2G;AAC3G,+FAA2F;AAC3F,uFAAkF;AAClF,wGAA0I;AAC1I,+GAA0G;AAC1G,uEAAqE;AAErE,kBAAe,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IACvD,IAAI,CAAC,yDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,yDAA0B,CAAC,CAAC;IAC5E,IAAI,CAAC,0BAAmB,CAAC,CAAC,SAAS,CAAC,yDAA0B,CAAC,CAAC;IAEhE,IAAA,+BAAwB,EAAC,IAAI,EAAE,yDAA0B,CAAC,CAAC;IAC3D,IAAI,CAAC,+CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,yDAA0B,CAAC,CAAC,SAAS,CAAC,+CAAqB,CAAC,CAAC;IAElE,IAAA,0CAAqB,EAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,CAAC,wDAAyB,CAAC,CAAC,EAAE,CAAC,qEAA+B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEzF,IAAI,CAAC,8BAAa,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEhD,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,IAAI,CAAC,uBAAa,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3C,EAAE,EAAE,kDAAyB;QAC7B,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAuB,6CAAoB,CAAC;KACxF,CAAC,CAAC,CAAC;IAEJ,IAAA,8BAAoB,EAAC,IAAI,EAAE,wDAA0B,CAAC,CAAC;IACvD,IAAI,CAAC,+CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAExD,IAAI,CAAC,4DAA2B,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACnD,uDAAyB,CAAC,gBAAgB,CAA8B,GAAG,CAAC,SAAS,EAAE,gEAA+B,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChJ,IAAI,CAAC,2CAAmB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAC3C,uDAAyB,CAAC,gBAAgB,CAAsB,GAAG,CAAC,SAAS,EAAE,+CAAuB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEhI,IAAI,CAAC,8DAA4B,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACpD,uDAAyB,CAAC,gBAAgB,CAA+B,GAAG,CAAC,SAAS,EAAE,wEAAsC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAE5J,CAAC,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@ export interface RemoteRegistryContribution {
|
|
|
7
7
|
export declare abstract class AbstractRemoteRegistryContribution implements RemoteRegistryContribution {
|
|
8
8
|
protected readonly windowService: WindowService;
|
|
9
9
|
abstract registerRemoteCommands(registry: RemoteRegistry): void;
|
|
10
|
-
protected openRemote(port: string, newWindow: boolean): void;
|
|
10
|
+
protected openRemote(port: string, newWindow: boolean, workspace?: string): void;
|
|
11
11
|
}
|
|
12
12
|
export declare class RemoteRegistry {
|
|
13
13
|
protected _commands: Command[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-registry-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-registry-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"remote-registry-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/remote-registry-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAuB,MAAM,+CAA+C,CAAC;AAEnG,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAE/E,MAAM,WAAW,0BAA0B;IACvC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CAC1D;AAED,8BACsB,kCAAmC,YAAW,0BAA0B;IAG1F,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAE/D,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAmBnF;AAED,qBAAa,cAAc;IAEvB,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,CAAM;IACpC,SAAS,CAAC,2BAA2B,iDAAwD;IAE7F,IAAI,QAAQ,IAAI,SAAS,OAAO,EAAE,CAEjC;IAED,IAAI,oBAAoB,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC,CAEvE;IAED,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;CAIpE"}
|
|
@@ -22,14 +22,17 @@ const inversify_1 = require("@theia/core/shared/inversify");
|
|
|
22
22
|
const window_service_1 = require("@theia/core/lib/browser/window/window-service");
|
|
23
23
|
exports.RemoteRegistryContribution = Symbol('RemoteRegistryContribution');
|
|
24
24
|
let AbstractRemoteRegistryContribution = class AbstractRemoteRegistryContribution {
|
|
25
|
-
openRemote(port, newWindow) {
|
|
25
|
+
openRemote(port, newWindow, workspace) {
|
|
26
26
|
const searchParams = new URLSearchParams(location.search);
|
|
27
27
|
const localPort = searchParams.get('localPort') || searchParams.get('port');
|
|
28
28
|
const options = {
|
|
29
|
-
port
|
|
29
|
+
search: { port }
|
|
30
30
|
};
|
|
31
31
|
if (localPort) {
|
|
32
|
-
options.localPort = localPort;
|
|
32
|
+
options.search.localPort = localPort;
|
|
33
|
+
}
|
|
34
|
+
if (workspace) {
|
|
35
|
+
options.hash = workspace;
|
|
33
36
|
}
|
|
34
37
|
if (newWindow) {
|
|
35
38
|
this.windowService.openNewDefaultWindow(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-registry-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/remote-registry-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,sCAAsE;AACtE,4DAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"remote-registry-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/remote-registry-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,sCAAsE;AACtE,4DAAkE;AAClE,kFAAmG;AAEtF,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAO/E,IAAsB,kCAAkC,GAAxD,MAAsB,kCAAkC;IAO1C,UAAU,CAAC,IAAY,EAAE,SAAkB,EAAE,SAAkB;QACrE,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAwB;YACjC,MAAM,EAAE,EAAE,IAAI,EAAE;SACnB,CAAC;QACF,IAAI,SAAS,EAAE;YACX,OAAO,CAAC,MAAO,CAAC,SAAS,GAAG,SAAS,CAAC;SACzC;QACD,IAAI,SAAS,EAAE;YACX,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;SAC5B;QAED,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACpD;aAAM;YACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACtC;IACL,CAAC;CACJ,CAAA;AAvBG;IADC,IAAA,kBAAM,EAAC,8BAAa,CAAC;;yEAC0B;AAH9B,kCAAkC;IADvD,IAAA,sBAAU,GAAE;GACS,kCAAkC,CA0BvD;AA1BqB,gFAAkC;AA4BxD,MAAa,cAAc;IAA3B;QAEc,cAAS,GAAc,EAAE,CAAC;QAC1B,gCAA2B,GAAG,IAAI,cAAO,EAAyC,CAAC;IAcjG,CAAC;IAZG,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;IAClD,CAAC;IAED,eAAe,CAAC,OAAgB,EAAE,OAAwB;QACtD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;CACJ;AAjBD,wCAiBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const RemoteRemotePortForwardingProviderPath = "/remote/port-forwarding";
|
|
2
|
+
export declare const RemotePortForwardingProvider: unique symbol;
|
|
3
|
+
export interface ForwardedPort {
|
|
4
|
+
port: number;
|
|
5
|
+
address?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface RemotePortForwardingProvider {
|
|
8
|
+
forwardPort(connectionPort: number, portToForward: ForwardedPort): Promise<void>;
|
|
9
|
+
portRemoved(port: ForwardedPort): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=remote-port-forwarding-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-port-forwarding-provider.d.ts","sourceRoot":"","sources":["../../src/electron-common/remote-port-forwarding-provider.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,sCAAsC,4BAA4B,CAAC;AAEhF,eAAO,MAAM,4BAA4B,eAAwC,CAAC;AAElF,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IACzC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 TypeFox 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.RemotePortForwardingProvider = exports.RemoteRemotePortForwardingProviderPath = void 0;
|
|
19
|
+
exports.RemoteRemotePortForwardingProviderPath = '/remote/port-forwarding';
|
|
20
|
+
exports.RemotePortForwardingProvider = Symbol('RemoteSSHConnectionProvider');
|
|
21
|
+
//# sourceMappingURL=remote-port-forwarding-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-port-forwarding-provider.js","sourceRoot":"","sources":["../../src/electron-common/remote-port-forwarding-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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;;;AAEnE,QAAA,sCAAsC,GAAG,yBAAyB,CAAC;AAEnE,QAAA,4BAA4B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-backend-module.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-backend-module.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AA0B/D,eAAO,MAAM,sBAAsB,iBAQjC,CAAC;;AAEH,wBAiCG"}
|
|
@@ -39,10 +39,15 @@ const remote_copy_contribution_1 = require("./setup/remote-copy-contribution");
|
|
|
39
39
|
const main_copy_contribution_1 = require("./setup/main-copy-contribution");
|
|
40
40
|
const remote_native_dependency_contribution_1 = require("./setup/remote-native-dependency-contribution");
|
|
41
41
|
const app_native_dependency_contribution_1 = require("./setup/app-native-dependency-contribution");
|
|
42
|
+
const remote_port_forwarding_provider_1 = require("./remote-port-forwarding-provider");
|
|
43
|
+
const remote_port_forwarding_provider_2 = require("../electron-common/remote-port-forwarding-provider");
|
|
42
44
|
exports.remoteConnectionModule = connection_container_module_1.ConnectionContainerModule.create(({ bind, bindBackendService }) => {
|
|
43
45
|
bind(remote_ssh_connection_provider_2.RemoteSSHConnectionProviderImpl).toSelf().inSingletonScope();
|
|
44
46
|
bind(remote_ssh_connection_provider_1.RemoteSSHConnectionProvider).toService(remote_ssh_connection_provider_2.RemoteSSHConnectionProviderImpl);
|
|
45
47
|
bindBackendService(remote_ssh_connection_provider_1.RemoteSSHConnectionProviderPath, remote_ssh_connection_provider_1.RemoteSSHConnectionProvider);
|
|
48
|
+
bind(remote_port_forwarding_provider_1.RemotePortForwardingProviderImpl).toSelf().inSingletonScope();
|
|
49
|
+
bind(remote_port_forwarding_provider_2.RemotePortForwardingProvider).toService(remote_port_forwarding_provider_1.RemotePortForwardingProviderImpl);
|
|
50
|
+
bindBackendService(remote_port_forwarding_provider_2.RemoteRemotePortForwardingProviderPath, remote_port_forwarding_provider_2.RemotePortForwardingProvider);
|
|
46
51
|
});
|
|
47
52
|
exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
48
53
|
bind(remote_proxy_server_provider_1.RemoteProxyServerProvider).toSelf().inSingletonScope();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-backend-module.js","sourceRoot":"","sources":["../../src/electron-node/remote-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,4DAA+D;AAC/D,+CAAuF;AACvF,2EAAsE;AACtE,iFAA2E;AAC3E,2FAAqF;AACrF,4GAAuG;AACvG,sGAAiI;AACjI,yFAAuF;AACvF,mFAA6E;AAC7E,qEAAgE;AAChE,uEAAkE;AAClE,+FAAyF;AACzF,+EAAyE;AACzE,wFAAmF;AACnF,iFAA2E;AAC3E,qFAAuI;AACvI,oFAAwG;AACxG,mEAAkE;AAClE,sCAAgG;AAChG,+EAA8F;AAC9F,2EAAsE;AACtE,yGAAmG;AACnG,mGAA6F;
|
|
1
|
+
{"version":3,"file":"remote-backend-module.js","sourceRoot":"","sources":["../../src/electron-node/remote-backend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ForwardedPort, RemotePortForwardingProvider } from '../electron-common/remote-port-forwarding-provider';
|
|
3
|
+
import { Server } from 'net';
|
|
4
|
+
import { RemoteConnectionService } from './remote-connection-service';
|
|
5
|
+
export declare class RemotePortForwardingProviderImpl implements RemotePortForwardingProvider {
|
|
6
|
+
protected readonly connectionService: RemoteConnectionService;
|
|
7
|
+
protected forwardedPorts: Map<number, Server>;
|
|
8
|
+
forwardPort(connectionPort: number, portToForward: ForwardedPort): Promise<void>;
|
|
9
|
+
portRemoved(forwardedPort: ForwardedPort): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=remote-port-forwarding-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-port-forwarding-provider.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-port-forwarding-provider.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AACjH,OAAO,EAAgB,MAAM,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,qBACa,gCAAiC,YAAW,4BAA4B;IAGjF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAE9D,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAEpD,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhF,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAQjE"}
|