@theia/remote 1.67.0-next.3 → 1.67.0-next.56

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 (144) hide show
  1. package/README.md +1 -1
  2. package/package.json +6 -6
  3. package/src/electron-browser/port-forwarding/port-forwarding-service.ts +1 -1
  4. package/src/electron-browser/port-forwarding/port-forwarding-widget.tsx +1 -1
  5. package/lib/electron-browser/local-backend-services.d.ts +0 -11
  6. package/lib/electron-browser/local-backend-services.d.ts.map +0 -1
  7. package/lib/electron-browser/local-backend-services.js +0 -37
  8. package/lib/electron-browser/local-backend-services.js.map +0 -1
  9. package/lib/electron-browser/port-forwarding/port-forwading-contribution.d.ts +0 -6
  10. package/lib/electron-browser/port-forwarding/port-forwading-contribution.d.ts.map +0 -1
  11. package/lib/electron-browser/port-forwarding/port-forwading-contribution.js +0 -40
  12. package/lib/electron-browser/port-forwarding/port-forwading-contribution.js.map +0 -1
  13. package/lib/electron-browser/port-forwarding/port-forwarding-service.d.ts +0 -20
  14. package/lib/electron-browser/port-forwarding/port-forwarding-service.d.ts.map +0 -1
  15. package/lib/electron-browser/port-forwarding/port-forwarding-service.js +0 -89
  16. package/lib/electron-browser/port-forwarding/port-forwarding-service.js.map +0 -1
  17. package/lib/electron-browser/port-forwarding/port-forwarding-widget.d.ts +0 -17
  18. package/lib/electron-browser/port-forwarding/port-forwarding-widget.d.ts.map +0 -1
  19. package/lib/electron-browser/port-forwarding/port-forwarding-widget.js +0 -125
  20. package/lib/electron-browser/port-forwarding/port-forwarding-widget.js.map +0 -1
  21. package/lib/electron-browser/remote-electron-file-dialog-service.d.ts +0 -14
  22. package/lib/electron-browser/remote-electron-file-dialog-service.d.ts.map +0 -1
  23. package/lib/electron-browser/remote-electron-file-dialog-service.js +0 -50
  24. package/lib/electron-browser/remote-electron-file-dialog-service.js.map +0 -1
  25. package/lib/electron-browser/remote-frontend-contribution.d.ts +0 -26
  26. package/lib/electron-browser/remote-frontend-contribution.d.ts.map +0 -1
  27. package/lib/electron-browser/remote-frontend-contribution.js +0 -160
  28. package/lib/electron-browser/remote-frontend-contribution.js.map +0 -1
  29. package/lib/electron-browser/remote-frontend-module.d.ts +0 -5
  30. package/lib/electron-browser/remote-frontend-module.d.ts.map +0 -1
  31. package/lib/electron-browser/remote-frontend-module.js +0 -70
  32. package/lib/electron-browser/remote-frontend-module.js.map +0 -1
  33. package/lib/electron-browser/remote-registry-contribution.d.ts +0 -19
  34. package/lib/electron-browser/remote-registry-contribution.d.ts.map +0 -1
  35. package/lib/electron-browser/remote-registry-contribution.js +0 -70
  36. package/lib/electron-browser/remote-registry-contribution.js.map +0 -1
  37. package/lib/electron-browser/remote-service.d.ts +0 -6
  38. package/lib/electron-browser/remote-service.d.ts.map +0 -1
  39. package/lib/electron-browser/remote-service.js +0 -33
  40. package/lib/electron-browser/remote-service.js.map +0 -1
  41. package/lib/electron-browser/remote-ssh-contribution.d.ts +0 -23
  42. package/lib/electron-browser/remote-ssh-contribution.d.ts.map +0 -1
  43. package/lib/electron-browser/remote-ssh-contribution.js +0 -183
  44. package/lib/electron-browser/remote-ssh-contribution.js.map +0 -1
  45. package/lib/electron-browser/remote-user-storage-provider.d.ts +0 -21
  46. package/lib/electron-browser/remote-user-storage-provider.d.ts.map +0 -1
  47. package/lib/electron-browser/remote-user-storage-provider.js +0 -75
  48. package/lib/electron-browser/remote-user-storage-provider.js.map +0 -1
  49. package/lib/electron-common/remote-port-forwarding-provider.d.ts +0 -12
  50. package/lib/electron-common/remote-port-forwarding-provider.d.ts.map +0 -1
  51. package/lib/electron-common/remote-port-forwarding-provider.js +0 -21
  52. package/lib/electron-common/remote-port-forwarding-provider.js.map +0 -1
  53. package/lib/electron-common/remote-preferences.d.ts +0 -13
  54. package/lib/electron-common/remote-preferences.d.ts.map +0 -1
  55. package/lib/electron-common/remote-preferences.js +0 -54
  56. package/lib/electron-common/remote-preferences.js.map +0 -1
  57. package/lib/electron-common/remote-ssh-connection-provider.d.ts +0 -16
  58. package/lib/electron-common/remote-ssh-connection-provider.d.ts.map +0 -1
  59. package/lib/electron-common/remote-ssh-connection-provider.js +0 -21
  60. package/lib/electron-common/remote-ssh-connection-provider.js.map +0 -1
  61. package/lib/electron-common/remote-status-service.d.ts +0 -16
  62. package/lib/electron-common/remote-status-service.d.ts.map +0 -1
  63. package/lib/electron-common/remote-status-service.js +0 -21
  64. package/lib/electron-common/remote-status-service.js.map +0 -1
  65. package/lib/electron-node/backend-remote-service-impl.d.ts +0 -12
  66. package/lib/electron-node/backend-remote-service-impl.d.ts.map +0 -1
  67. package/lib/electron-node/backend-remote-service-impl.js +0 -46
  68. package/lib/electron-node/backend-remote-service-impl.js.map +0 -1
  69. package/lib/electron-node/remote-backend-module.d.ts +0 -5
  70. package/lib/electron-node/remote-backend-module.d.ts.map +0 -1
  71. package/lib/electron-node/remote-backend-module.js +0 -83
  72. package/lib/electron-node/remote-backend-module.js.map +0 -1
  73. package/lib/electron-node/remote-connection-service.d.ts +0 -15
  74. package/lib/electron-node/remote-connection-service.d.ts.map +0 -1
  75. package/lib/electron-node/remote-connection-service.js +0 -64
  76. package/lib/electron-node/remote-connection-service.js.map +0 -1
  77. package/lib/electron-node/remote-connection-socket-provider.d.ts +0 -9
  78. package/lib/electron-node/remote-connection-socket-provider.d.ts.map +0 -1
  79. package/lib/electron-node/remote-connection-socket-provider.js +0 -33
  80. package/lib/electron-node/remote-connection-socket-provider.js.map +0 -1
  81. package/lib/electron-node/remote-port-forwarding-provider.d.ts +0 -19
  82. package/lib/electron-node/remote-port-forwarding-provider.d.ts.map +0 -1
  83. package/lib/electron-node/remote-port-forwarding-provider.js +0 -59
  84. package/lib/electron-node/remote-port-forwarding-provider.js.map +0 -1
  85. package/lib/electron-node/remote-proxy-server-provider.d.ts +0 -6
  86. package/lib/electron-node/remote-proxy-server-provider.d.ts.map +0 -1
  87. package/lib/electron-node/remote-proxy-server-provider.js +0 -39
  88. package/lib/electron-node/remote-proxy-server-provider.js.map +0 -1
  89. package/lib/electron-node/remote-status-service.d.ts +0 -8
  90. package/lib/electron-node/remote-status-service.d.ts.map +0 -1
  91. package/lib/electron-node/remote-status-service.js +0 -53
  92. package/lib/electron-node/remote-status-service.js.map +0 -1
  93. package/lib/electron-node/remote-types.d.ts +0 -49
  94. package/lib/electron-node/remote-types.d.ts.map +0 -1
  95. package/lib/electron-node/remote-types.js +0 -18
  96. package/lib/electron-node/remote-types.js.map +0 -1
  97. package/lib/electron-node/setup/app-native-dependency-contribution.d.ts +0 -8
  98. package/lib/electron-node/setup/app-native-dependency-contribution.d.ts.map +0 -1
  99. package/lib/electron-node/setup/app-native-dependency-contribution.js +0 -53
  100. package/lib/electron-node/setup/app-native-dependency-contribution.js.map +0 -1
  101. package/lib/electron-node/setup/main-copy-contribution.d.ts +0 -5
  102. package/lib/electron-node/setup/main-copy-contribution.d.ts.map +0 -1
  103. package/lib/electron-node/setup/main-copy-contribution.js +0 -33
  104. package/lib/electron-node/setup/main-copy-contribution.js.map +0 -1
  105. package/lib/electron-node/setup/remote-copy-contribution.d.ts +0 -13
  106. package/lib/electron-node/setup/remote-copy-contribution.d.ts.map +0 -1
  107. package/lib/electron-node/setup/remote-copy-contribution.js +0 -74
  108. package/lib/electron-node/setup/remote-copy-contribution.js.map +0 -1
  109. package/lib/electron-node/setup/remote-copy-service.d.ts +0 -21
  110. package/lib/electron-node/setup/remote-copy-service.d.ts.map +0 -1
  111. package/lib/electron-node/setup/remote-copy-service.js +0 -120
  112. package/lib/electron-node/setup/remote-copy-service.js.map +0 -1
  113. package/lib/electron-node/setup/remote-native-dependency-contribution.d.ts +0 -36
  114. package/lib/electron-node/setup/remote-native-dependency-contribution.d.ts.map +0 -1
  115. package/lib/electron-node/setup/remote-native-dependency-contribution.js +0 -35
  116. package/lib/electron-node/setup/remote-native-dependency-contribution.js.map +0 -1
  117. package/lib/electron-node/setup/remote-native-dependency-service.d.ts +0 -25
  118. package/lib/electron-node/setup/remote-native-dependency-service.d.ts.map +0 -1
  119. package/lib/electron-node/setup/remote-native-dependency-service.js +0 -116
  120. package/lib/electron-node/setup/remote-native-dependency-service.js.map +0 -1
  121. package/lib/electron-node/setup/remote-node-setup-service.d.ts +0 -23
  122. package/lib/electron-node/setup/remote-node-setup-service.d.ts.map +0 -1
  123. package/lib/electron-node/setup/remote-node-setup-service.js +0 -125
  124. package/lib/electron-node/setup/remote-node-setup-service.js.map +0 -1
  125. package/lib/electron-node/setup/remote-setup-script-service.d.ts +0 -41
  126. package/lib/electron-node/setup/remote-setup-script-service.d.ts.map +0 -1
  127. package/lib/electron-node/setup/remote-setup-script-service.js +0 -125
  128. package/lib/electron-node/setup/remote-setup-script-service.js.map +0 -1
  129. package/lib/electron-node/setup/remote-setup-service.d.ts +0 -36
  130. package/lib/electron-node/setup/remote-setup-service.d.ts.map +0 -1
  131. package/lib/electron-node/setup/remote-setup-service.js +0 -215
  132. package/lib/electron-node/setup/remote-setup-service.js.map +0 -1
  133. package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts +0 -60
  134. package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts.map +0 -1
  135. package/lib/electron-node/ssh/remote-ssh-connection-provider.js +0 -394
  136. package/lib/electron-node/ssh/remote-ssh-connection-provider.js.map +0 -1
  137. package/lib/electron-node/ssh/ssh-identity-file-collector.d.ts +0 -13
  138. package/lib/electron-node/ssh/ssh-identity-file-collector.d.ts.map +0 -1
  139. package/lib/electron-node/ssh/ssh-identity-file-collector.js +0 -127
  140. package/lib/electron-node/ssh/ssh-identity-file-collector.js.map +0 -1
  141. package/lib/package.spec.d.ts +0 -1
  142. package/lib/package.spec.d.ts.map +0 -1
  143. package/lib/package.spec.js +0 -26
  144. package/lib/package.spec.js.map +0 -1
@@ -1,125 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2023 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.RemoteSetupScriptService = exports.RemotePosixScriptStrategy = exports.RemoteWindowsScriptStrategy = 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
- let RemoteWindowsScriptStrategy = class RemoteWindowsScriptStrategy {
23
- home() {
24
- return 'PowerShell -Command $HOME';
25
- }
26
- exec() {
27
- return 'PowerShell -Command';
28
- }
29
- downloadFile(url, output) {
30
- return `PowerShell -Command Invoke-WebRequest -Uri "${url}" -OutFile ${output}`;
31
- }
32
- unzip(file, directory) {
33
- return `tar -xf "${file}" -C "${directory}"`;
34
- }
35
- mkdir(path) {
36
- return `PowerShell -Command New-Item -Force -itemType Directory -Path "${path}"`;
37
- }
38
- joinPath(...segments) {
39
- return segments.join('\\');
40
- }
41
- joinScript(...segments) {
42
- return segments.join('\r\n');
43
- }
44
- };
45
- exports.RemoteWindowsScriptStrategy = RemoteWindowsScriptStrategy;
46
- exports.RemoteWindowsScriptStrategy = RemoteWindowsScriptStrategy = tslib_1.__decorate([
47
- (0, inversify_1.injectable)()
48
- ], RemoteWindowsScriptStrategy);
49
- let RemotePosixScriptStrategy = class RemotePosixScriptStrategy {
50
- home() {
51
- return 'eval echo ~';
52
- }
53
- exec() {
54
- return 'sh -c';
55
- }
56
- downloadFile(url, output) {
57
- return `
58
- if [ "$(command -v wget)" ]; then
59
- echo "Downloading using wget"
60
- wget -O "${output}" "${url}"
61
- elif [ "$(command -v curl)" ]; then
62
- echo "Downloading using curl"
63
- curl "${url}" --output "${output}"
64
- else
65
- echo "Failed to find wget or curl."
66
- exit 1
67
- fi
68
- `.trim();
69
- }
70
- unzip(file, directory) {
71
- return `tar -xf "${file}" -C "${directory}"`;
72
- }
73
- mkdir(path) {
74
- return `mkdir -p "${path}"`;
75
- }
76
- joinPath(...segments) {
77
- return segments.join('/');
78
- }
79
- joinScript(...segments) {
80
- return segments.join('\n');
81
- }
82
- };
83
- exports.RemotePosixScriptStrategy = RemotePosixScriptStrategy;
84
- exports.RemotePosixScriptStrategy = RemotePosixScriptStrategy = tslib_1.__decorate([
85
- (0, inversify_1.injectable)()
86
- ], RemotePosixScriptStrategy);
87
- let RemoteSetupScriptService = class RemoteSetupScriptService {
88
- getStrategy(platform) {
89
- return platform.os === core_1.OS.Type.Windows ? this.windowsStrategy : this.posixStrategy;
90
- }
91
- home(platform) {
92
- return this.getStrategy(platform).home();
93
- }
94
- exec(platform) {
95
- return this.getStrategy(platform).exec();
96
- }
97
- downloadFile(platform, url, output) {
98
- return this.getStrategy(platform).downloadFile(url, output);
99
- }
100
- unzip(platform, file, directory) {
101
- return this.getStrategy(platform).unzip(file, directory);
102
- }
103
- mkdir(platform, path) {
104
- return this.getStrategy(platform).mkdir(path);
105
- }
106
- joinPath(platform, ...segments) {
107
- return this.getStrategy(platform).joinPath(...segments);
108
- }
109
- joinScript(platform, ...segments) {
110
- return this.getStrategy(platform).joinScript(...segments);
111
- }
112
- };
113
- exports.RemoteSetupScriptService = RemoteSetupScriptService;
114
- tslib_1.__decorate([
115
- (0, inversify_1.inject)(RemoteWindowsScriptStrategy),
116
- tslib_1.__metadata("design:type", RemoteWindowsScriptStrategy)
117
- ], RemoteSetupScriptService.prototype, "windowsStrategy", void 0);
118
- tslib_1.__decorate([
119
- (0, inversify_1.inject)(RemotePosixScriptStrategy),
120
- tslib_1.__metadata("design:type", RemotePosixScriptStrategy)
121
- ], RemoteSetupScriptService.prototype, "posixStrategy", void 0);
122
- exports.RemoteSetupScriptService = RemoteSetupScriptService = tslib_1.__decorate([
123
- (0, inversify_1.injectable)()
124
- ], RemoteSetupScriptService);
125
- //# sourceMappingURL=remote-setup-script-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-setup-script-service.js","sourceRoot":"","sources":["../../../src/electron-node/setup/remote-setup-script-service.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { RemoteConnection, RemoteExecResult, RemoteStatusReport } from '../remote-types';
2
- import { RemoteCliContribution, RemotePlatform } from '@theia/core/lib/node/remote/remote-cli-contribution';
3
- import { ApplicationPackage } from '@theia/core/shared/@theia/application-package';
4
- import { RemoteCopyService } from './remote-copy-service';
5
- import { RemoteNativeDependencyService } from './remote-native-dependency-service';
6
- import { ContributionProvider } from '@theia/core';
7
- import { RemoteNodeSetupService } from './remote-node-setup-service';
8
- import { RemoteSetupScriptService } from './remote-setup-script-service';
9
- export interface RemoteSetupOptions {
10
- connection: RemoteConnection;
11
- report: RemoteStatusReport;
12
- nodeDownloadTemplate?: string;
13
- }
14
- export interface RemoteSetupResult {
15
- applicationDirectory: string;
16
- nodeDirectory: string;
17
- }
18
- export declare class RemoteSetupService {
19
- protected readonly copyService: RemoteCopyService;
20
- protected readonly nativeDependencyService: RemoteNativeDependencyService;
21
- protected readonly nodeSetupService: RemoteNodeSetupService;
22
- protected readonly scriptService: RemoteSetupScriptService;
23
- protected readonly applicationPackage: ApplicationPackage;
24
- protected readonly cliContributions: ContributionProvider<RemoteCliContribution>;
25
- setup(options: RemoteSetupOptions): Promise<RemoteSetupResult>;
26
- protected startApplication(connection: RemoteConnection, platform: RemotePlatform, remotePath: string, nodeDir: string): Promise<number>;
27
- protected detectRemotePlatform(connection: RemoteConnection): Promise<RemotePlatform>;
28
- protected getRemoteHomeDirectory(connection: RemoteConnection, platform: RemotePlatform): Promise<string>;
29
- protected getRemoteAppName(): string;
30
- protected cleanupDirectoryName(name: string): string;
31
- protected mkdirRemote(connection: RemoteConnection, platform: RemotePlatform, remotePath: string): Promise<void>;
32
- protected dirExistsRemote(connection: RemoteConnection, remotePath: string): Promise<boolean>;
33
- protected unzipRemote(connection: RemoteConnection, platform: RemotePlatform, remoteFile: string, remoteDirectory: string): Promise<void>;
34
- protected executeScriptRemote(connection: RemoteConnection, platform: RemotePlatform, script: string): Promise<RemoteExecResult>;
35
- }
36
- //# sourceMappingURL=remote-setup-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-setup-service.d.ts","sourceRoot":"","sources":["../../../src/electron-node/setup/remote-setup-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAoB,qBAAqB,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAC9H,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,qBACa,kBAAkB;IAG3B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,6BAA6B,CAAC;IAG1E,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAE3E,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;cA6CpD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAiC9H,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;cAgD3E,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/G,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAMpC,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;cAIpC,WAAW,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAOtG,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAKnF,WAAW,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAO/H,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAGzI"}
@@ -1,215 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2023 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.RemoteSetupService = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const remote_cli_contribution_1 = require("@theia/core/lib/node/remote/remote-cli-contribution");
22
- const application_package_1 = require("@theia/core/shared/@theia/application-package");
23
- const remote_copy_service_1 = require("./remote-copy-service");
24
- const remote_native_dependency_service_1 = require("./remote-native-dependency-service");
25
- const core_1 = require("@theia/core");
26
- const remote_node_setup_service_1 = require("./remote-node-setup-service");
27
- const remote_setup_script_service_1 = require("./remote-setup-script-service");
28
- let RemoteSetupService = class RemoteSetupService {
29
- async setup(options) {
30
- const { connection, report, nodeDownloadTemplate } = options;
31
- report('Identifying remote system...');
32
- // 1. Identify remote platform
33
- const platform = await this.detectRemotePlatform(connection);
34
- // 2. Setup home directory
35
- const remoteHome = await this.getRemoteHomeDirectory(connection, platform);
36
- const applicationDirectory = this.scriptService.joinPath(platform, remoteHome, `.${this.getRemoteAppName()}`);
37
- await this.mkdirRemote(connection, platform, applicationDirectory);
38
- // 3. Download+copy node for that platform
39
- const nodeFileName = this.nodeSetupService.getNodeFileName(platform);
40
- const nodeDirName = this.nodeSetupService.getNodeDirectoryName(platform);
41
- const remoteNodeDirectory = this.scriptService.joinPath(platform, applicationDirectory, nodeDirName);
42
- const nodeDirExists = await this.dirExistsRemote(connection, remoteNodeDirectory);
43
- if (!nodeDirExists) {
44
- report('Downloading and installing Node.js on remote...');
45
- // Download the binaries locally and move it via SSH
46
- const nodeArchive = await this.nodeSetupService.downloadNode(platform, nodeDownloadTemplate);
47
- const remoteNodeZip = this.scriptService.joinPath(platform, applicationDirectory, nodeFileName);
48
- await connection.copy(nodeArchive, remoteNodeZip);
49
- await this.unzipRemote(connection, platform, remoteNodeZip, applicationDirectory);
50
- }
51
- // 4. Copy backend to remote system
52
- const libDir = this.scriptService.joinPath(platform, applicationDirectory, 'lib');
53
- const libDirExists = await this.dirExistsRemote(connection, libDir);
54
- if (!libDirExists) {
55
- report('Installing application on remote...');
56
- const applicationZipFile = this.scriptService.joinPath(platform, applicationDirectory, `${this.getRemoteAppName()}.tar`);
57
- await this.copyService.copyToRemote(connection, platform, applicationZipFile);
58
- await this.unzipRemote(connection, platform, applicationZipFile, applicationDirectory);
59
- }
60
- // 5. start remote backend
61
- report('Starting application on remote...');
62
- const port = await this.startApplication(connection, platform, applicationDirectory, remoteNodeDirectory);
63
- connection.remotePort = port;
64
- return {
65
- applicationDirectory: libDir,
66
- nodeDirectory: remoteNodeDirectory
67
- };
68
- }
69
- async startApplication(connection, platform, remotePath, nodeDir) {
70
- var _a;
71
- const nodeExecutable = this.scriptService.joinPath(platform, nodeDir, ...(platform.os === core_1.OS.Type.Windows ? ['node.exe'] : ['bin', 'node']));
72
- const mainJsFile = this.scriptService.joinPath(platform, remotePath, 'lib', 'backend', 'main.js');
73
- const localAddressRegex = /listening on http:\/\/0.0.0.0:(\d+)/;
74
- let prefix = '';
75
- if (platform.os === core_1.OS.Type.Windows) {
76
- // We might to switch to PowerShell beforehand on Windows
77
- prefix = this.scriptService.exec(platform) + ' ';
78
- }
79
- const remoteContext = {
80
- platform,
81
- directory: remotePath
82
- };
83
- const args = ['--hostname=0.0.0.0', `--port=${(_a = connection.remotePort) !== null && _a !== void 0 ? _a : 0}`, '--remote'];
84
- for (const cli of this.cliContributions.getContributions()) {
85
- if (cli.enhanceArgs) {
86
- args.push(...await cli.enhanceArgs(remoteContext));
87
- }
88
- }
89
- // Change to the remote application path and start a node process with the copied main.js file
90
- // This way, our current working directory is set as expected
91
- const result = await connection.execPartial(`${prefix}cd "${remotePath}";${nodeExecutable}`, stdout => localAddressRegex.test(stdout), [mainJsFile, ...args]);
92
- const match = localAddressRegex.exec(result.stdout);
93
- if (!match) {
94
- throw new Error('Could not start remote system: ' + result.stderr);
95
- }
96
- else {
97
- return Number(match[1]);
98
- }
99
- }
100
- async detectRemotePlatform(connection) {
101
- const osResult = await connection.exec('uname -s');
102
- let os;
103
- if (osResult.stderr) {
104
- // Only Windows systems return an error stream here
105
- os = core_1.OS.Type.Windows;
106
- }
107
- else if (osResult.stdout) {
108
- if (osResult.stdout.includes('windows32') || osResult.stdout.includes('MINGW64')) {
109
- os = core_1.OS.Type.Windows;
110
- }
111
- else if (osResult.stdout.includes('Linux')) {
112
- os = core_1.OS.Type.Linux;
113
- }
114
- else if (osResult.stdout.includes('Darwin')) {
115
- os = core_1.OS.Type.OSX;
116
- }
117
- }
118
- if (!os) {
119
- throw new Error('Failed to identify remote system: ' + osResult.stdout + '\n' + osResult.stderr);
120
- }
121
- let arch;
122
- if (os === core_1.OS.Type.Windows) {
123
- const processorArchitecture = await connection.exec('cmd /c echo %PROCESSOR_ARCHITECTURE%');
124
- if (processorArchitecture.stdout.includes('64')) {
125
- arch = 'x64';
126
- }
127
- else if (processorArchitecture.stdout.includes('x86')) {
128
- arch = 'x86';
129
- }
130
- }
131
- else {
132
- const archResult = (await connection.exec('uname -m')).stdout;
133
- if (archResult.includes('x86_64')) {
134
- arch = 'x64';
135
- }
136
- else if (archResult.match(/i\d83/)) { // i386, i483, i683
137
- arch = 'x86';
138
- }
139
- else if (archResult.includes('aarch64')) {
140
- arch = 'arm64';
141
- }
142
- else {
143
- arch = archResult.trim();
144
- }
145
- }
146
- if (!arch) {
147
- throw new Error('Could not identify remote system architecture');
148
- }
149
- return {
150
- os,
151
- arch
152
- };
153
- }
154
- async getRemoteHomeDirectory(connection, platform) {
155
- const result = await connection.exec(this.scriptService.home(platform));
156
- return result.stdout.trim();
157
- }
158
- getRemoteAppName() {
159
- const appName = this.applicationPackage.pck.name || 'theia';
160
- const appVersion = this.applicationPackage.pck.version || core_1.THEIA_VERSION;
161
- return `${this.cleanupDirectoryName(`${appName}-${appVersion}`)}-remote`;
162
- }
163
- cleanupDirectoryName(name) {
164
- return name.replace(/[@<>:"\\|?*]/g, '').replace(/\//g, '-');
165
- }
166
- async mkdirRemote(connection, platform, remotePath) {
167
- const result = await connection.exec(this.scriptService.mkdir(platform, remotePath));
168
- if (result.stderr) {
169
- throw new Error('Failed to create directory: ' + result.stderr);
170
- }
171
- }
172
- async dirExistsRemote(connection, remotePath) {
173
- const cdResult = await connection.exec(`cd "${remotePath}"`);
174
- return !Boolean(cdResult.stderr);
175
- }
176
- async unzipRemote(connection, platform, remoteFile, remoteDirectory) {
177
- const result = await connection.exec(this.scriptService.unzip(platform, remoteFile, remoteDirectory));
178
- if (result.stderr) {
179
- throw new Error('Failed to unzip: ' + result.stderr);
180
- }
181
- }
182
- async executeScriptRemote(connection, platform, script) {
183
- return connection.exec(this.scriptService.exec(platform), [script]);
184
- }
185
- };
186
- exports.RemoteSetupService = RemoteSetupService;
187
- tslib_1.__decorate([
188
- (0, inversify_1.inject)(remote_copy_service_1.RemoteCopyService),
189
- tslib_1.__metadata("design:type", remote_copy_service_1.RemoteCopyService)
190
- ], RemoteSetupService.prototype, "copyService", void 0);
191
- tslib_1.__decorate([
192
- (0, inversify_1.inject)(remote_native_dependency_service_1.RemoteNativeDependencyService),
193
- tslib_1.__metadata("design:type", remote_native_dependency_service_1.RemoteNativeDependencyService)
194
- ], RemoteSetupService.prototype, "nativeDependencyService", void 0);
195
- tslib_1.__decorate([
196
- (0, inversify_1.inject)(remote_node_setup_service_1.RemoteNodeSetupService),
197
- tslib_1.__metadata("design:type", remote_node_setup_service_1.RemoteNodeSetupService)
198
- ], RemoteSetupService.prototype, "nodeSetupService", void 0);
199
- tslib_1.__decorate([
200
- (0, inversify_1.inject)(remote_setup_script_service_1.RemoteSetupScriptService),
201
- tslib_1.__metadata("design:type", remote_setup_script_service_1.RemoteSetupScriptService)
202
- ], RemoteSetupService.prototype, "scriptService", void 0);
203
- tslib_1.__decorate([
204
- (0, inversify_1.inject)(application_package_1.ApplicationPackage),
205
- tslib_1.__metadata("design:type", application_package_1.ApplicationPackage)
206
- ], RemoteSetupService.prototype, "applicationPackage", void 0);
207
- tslib_1.__decorate([
208
- (0, inversify_1.inject)(core_1.ContributionProvider),
209
- (0, inversify_1.named)(remote_cli_contribution_1.RemoteCliContribution),
210
- tslib_1.__metadata("design:type", Object)
211
- ], RemoteSetupService.prototype, "cliContributions", void 0);
212
- exports.RemoteSetupService = RemoteSetupService = tslib_1.__decorate([
213
- (0, inversify_1.injectable)()
214
- ], RemoteSetupService);
215
- //# sourceMappingURL=remote-setup-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-setup-service.js","sourceRoot":"","sources":["../../../src/electron-node/setup/remote-setup-service.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- /// <reference types="node" />
2
- import * as ssh2 from 'ssh2';
3
- import * as net from 'net';
4
- import SftpClient = require('ssh2-sftp-client');
5
- import SshConfig from 'ssh-config';
6
- import { Event, MessageService, QuickInputService } from '@theia/core';
7
- import { RemoteSSHConnectionProvider, RemoteSSHConnectionProviderOptions, SSHConfig } from '../../electron-common/remote-ssh-connection-provider';
8
- import { RemoteConnectionService } from '../remote-connection-service';
9
- import { RemoteProxyServerProvider } from '../remote-proxy-server-provider';
10
- import { RemoteConnection, RemoteExecOptions, RemoteExecResult, RemoteExecTester } from '../remote-types';
11
- import { SSHIdentityFileCollector, SSHKey } from './ssh-identity-file-collector';
12
- import { RemoteSetupService } from '../setup/remote-setup-service';
13
- export declare class RemoteSSHConnectionProviderImpl implements RemoteSSHConnectionProvider {
14
- protected readonly remoteConnectionService: RemoteConnectionService;
15
- protected readonly serverProvider: RemoteProxyServerProvider;
16
- protected readonly identityFileCollector: SSHIdentityFileCollector;
17
- protected readonly remoteSetup: RemoteSetupService;
18
- protected readonly quickInputService: QuickInputService;
19
- protected readonly messageService: MessageService;
20
- protected passwordRetryCount: number;
21
- protected passphraseRetryCount: number;
22
- matchSSHConfigHost(host: string, user?: string, customConfigFile?: string): Promise<Record<string, string | string[]> | undefined>;
23
- getSSHConfig(customConfigFile?: string): Promise<SSHConfig>;
24
- doGetSSHConfig(customConfigFile?: string): Promise<SshConfig>;
25
- establishConnection(options: RemoteSSHConnectionProviderOptions): Promise<string>;
26
- establishSSHConnection(host: string, user: string, customConfigFile?: string): Promise<RemoteSSHConnection>;
27
- /**
28
- * Sometimes, ssh2.exec will not execute and retrieve any data right after the `ready` event fired.
29
- * In this method, we just perform `echo hello` in a loop to ensure that the connection is really ready.
30
- * See also https://github.com/mscdex/ssh2/issues/48
31
- */
32
- protected testConnection(connection: RemoteSSHConnection): Promise<void>;
33
- protected getAuthHandler(user: string, host: string, identityKeys: SSHKey[]): ssh2.AuthHandlerMiddleware;
34
- }
35
- export interface RemoteSSHConnectionOptions {
36
- id: string;
37
- name: string;
38
- type: string;
39
- client: ssh2.Client;
40
- }
41
- export declare class RemoteSSHConnection implements RemoteConnection {
42
- id: string;
43
- name: string;
44
- type: string;
45
- client: ssh2.Client;
46
- localPort: number;
47
- remotePort: number;
48
- private sftpClientPromise;
49
- private readonly onDidDisconnectEmitter;
50
- get onDidDisconnect(): Event<void>;
51
- constructor(options: RemoteSSHConnectionOptions);
52
- protected setupSftpClient(): Promise<SftpClient>;
53
- forwardOut(socket: net.Socket, port?: number): void;
54
- copy(localPath: string, remotePath: string): Promise<void>;
55
- exec(cmd: string, args?: string[], options?: RemoteExecOptions): Promise<RemoteExecResult>;
56
- execPartial(cmd: string, tester: RemoteExecTester, args?: string[], options?: RemoteExecOptions): Promise<RemoteExecResult>;
57
- protected buildCmd(cmd: string, args?: string[]): string;
58
- dispose(): void;
59
- }
60
- //# sourceMappingURL=remote-ssh-connection-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote-ssh-connection-provider.d.ts","sourceRoot":"","sources":["../../../src/electron-node/ssh/remote-ssh-connection-provider.ts"],"names":[],"mappings":"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"}