@theia/dev-container 1.72.0-next.59 → 1.73.0-next.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/container-connection-contribution.d.ts +5 -2
- package/lib/electron-browser/container-connection-contribution.d.ts.map +1 -1
- package/lib/electron-browser/container-connection-contribution.js +130 -30
- package/lib/electron-browser/container-connection-contribution.js.map +1 -1
- package/lib/electron-browser/container-output-provider.d.ts.map +1 -1
- package/lib/electron-browser/container-output-provider.js +3 -1
- package/lib/electron-browser/container-output-provider.js.map +1 -1
- package/lib/electron-browser/dev-container-frontend-module.d.ts.map +1 -1
- package/lib/electron-browser/dev-container-frontend-module.js +5 -0
- package/lib/electron-browser/dev-container-frontend-module.js.map +1 -1
- package/lib/electron-browser/dev-container-startup-contribution.d.ts +15 -0
- package/lib/electron-browser/dev-container-startup-contribution.d.ts.map +1 -0
- package/lib/electron-browser/dev-container-startup-contribution.js +94 -0
- package/lib/electron-browser/dev-container-startup-contribution.js.map +1 -0
- package/lib/electron-common/dev-container-preferences.d.ts +12 -0
- package/lib/electron-common/dev-container-preferences.d.ts.map +1 -0
- package/lib/electron-common/dev-container-preferences.js +44 -0
- package/lib/electron-common/dev-container-preferences.js.map +1 -0
- package/lib/electron-common/remote-container-connection-provider.d.ts +20 -1
- package/lib/electron-common/remote-container-connection-provider.d.ts.map +1 -1
- package/lib/electron-node/dev-container-backend-module.d.ts.map +1 -1
- package/lib/electron-node/dev-container-backend-module.js +4 -0
- package/lib/electron-node/dev-container-backend-module.js.map +1 -1
- package/lib/electron-node/dev-container-cli-contribution.d.ts +19 -0
- package/lib/electron-node/dev-container-cli-contribution.d.ts.map +1 -0
- package/lib/electron-node/dev-container-cli-contribution.js +66 -0
- package/lib/electron-node/dev-container-cli-contribution.js.map +1 -0
- package/lib/electron-node/dev-container-cli-contribution.spec.d.ts +2 -0
- package/lib/electron-node/dev-container-cli-contribution.spec.d.ts.map +1 -0
- package/lib/electron-node/dev-container-cli-contribution.spec.js +91 -0
- package/lib/electron-node/dev-container-cli-contribution.spec.js.map +1 -0
- package/lib/electron-node/dev-container-file-service.d.ts +4 -4
- package/lib/electron-node/dev-container-file-service.d.ts.map +1 -1
- package/lib/electron-node/dev-container-file-service.js +9 -9
- package/lib/electron-node/dev-container-file-service.js.map +1 -1
- package/lib/electron-node/devcontainer-contributions/main-container-creation-contributions.d.ts +6 -2
- package/lib/electron-node/devcontainer-contributions/main-container-creation-contributions.d.ts.map +1 -1
- package/lib/electron-node/devcontainer-contributions/main-container-creation-contributions.js +24 -4
- package/lib/electron-node/devcontainer-contributions/main-container-creation-contributions.js.map +1 -1
- package/lib/electron-node/devcontainer-contributions/variable-resolver-contribution.d.ts +7 -6
- package/lib/electron-node/devcontainer-contributions/variable-resolver-contribution.d.ts.map +1 -1
- package/lib/electron-node/devcontainer-contributions/variable-resolver-contribution.js +4 -9
- package/lib/electron-node/devcontainer-contributions/variable-resolver-contribution.js.map +1 -1
- package/lib/electron-node/devcontainer-util.d.ts +19 -0
- package/lib/electron-node/devcontainer-util.d.ts.map +1 -0
- package/lib/electron-node/devcontainer-util.js +48 -0
- package/lib/electron-node/devcontainer-util.js.map +1 -0
- package/lib/electron-node/devcontainer-util.spec.d.ts +2 -0
- package/lib/electron-node/devcontainer-util.spec.d.ts.map +1 -0
- package/lib/electron-node/devcontainer-util.spec.js +128 -0
- package/lib/electron-node/devcontainer-util.spec.js.map +1 -0
- package/lib/electron-node/docker-container-service.d.ts +3 -3
- package/lib/electron-node/docker-container-service.d.ts.map +1 -1
- package/lib/electron-node/docker-container-service.js +3 -4
- package/lib/electron-node/docker-container-service.js.map +1 -1
- package/lib/electron-node/remote-container-connection-provider.d.ts +27 -66
- package/lib/electron-node/remote-container-connection-provider.d.ts.map +1 -1
- package/lib/electron-node/remote-container-connection-provider.js +269 -311
- package/lib/electron-node/remote-container-connection-provider.js.map +1 -1
- package/lib/electron-node/remote-docker-container-connection.d.ts +50 -0
- package/lib/electron-node/remote-docker-container-connection.d.ts.map +1 -0
- package/lib/electron-node/remote-docker-container-connection.js +239 -0
- package/lib/electron-node/remote-docker-container-connection.js.map +1 -0
- package/lib/electron-node/remote-docker-container-connection.spec.d.ts +2 -0
- package/lib/electron-node/remote-docker-container-connection.spec.d.ts.map +1 -0
- package/lib/electron-node/remote-docker-container-connection.spec.js +217 -0
- package/lib/electron-node/remote-docker-container-connection.spec.js.map +1 -0
- package/package.json +7 -7
- package/src/electron-browser/container-connection-contribution.ts +155 -38
- package/src/electron-browser/container-output-provider.ts +3 -1
- package/src/electron-browser/dev-container-frontend-module.ts +6 -0
- package/src/electron-browser/dev-container-startup-contribution.ts +99 -0
- package/src/electron-common/dev-container-preferences.ts +53 -0
- package/src/electron-common/remote-container-connection-provider.ts +23 -1
- package/src/electron-node/dev-container-backend-module.ts +5 -0
- package/src/electron-node/dev-container-cli-contribution.spec.ts +106 -0
- package/src/electron-node/dev-container-cli-contribution.ts +68 -0
- package/src/electron-node/dev-container-file-service.ts +10 -10
- package/src/electron-node/devcontainer-contributions/main-container-creation-contributions.ts +29 -5
- package/src/electron-node/devcontainer-contributions/variable-resolver-contribution.ts +11 -11
- package/src/electron-node/devcontainer-util.spec.ts +154 -0
- package/src/electron-node/devcontainer-util.ts +49 -0
- package/src/electron-node/docker-container-service.ts +6 -7
- package/src/electron-node/remote-container-connection-provider.ts +274 -366
- package/src/electron-node/{remote-container-connection-provider.spec.ts → remote-docker-container-connection.spec.ts} +105 -4
- package/src/electron-node/remote-docker-container-connection.ts +290 -0
- package/lib/electron-node/remote-container-connection-provider.spec.d.ts +0 -2
- package/lib/electron-node/remote-container-connection-provider.spec.d.ts.map +0 -1
- package/lib/electron-node/remote-container-connection-provider.spec.js +0 -131
- package/lib/electron-node/remote-container-connection-provider.spec.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-container-connection-provider.js","sourceRoot":"","sources":["../../src/electron-node/remote-container-connection-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-container-connection-provider.js","sourceRoot":"","sources":["../../src/electron-node/remote-container-connection-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { RemoteConnection, RemoteExecOptions, RemoteExecResult, RemoteExecTester } from '@theia/remote/lib/electron-node/remote-types';
|
|
2
|
+
import { RemoteSetupResult } from '@theia/remote/lib/electron-node/setup/remote-setup-service';
|
|
3
|
+
import { Emitter, Event, ILogger } from '@theia/core';
|
|
4
|
+
import { Socket } from 'net';
|
|
5
|
+
import * as Docker from 'dockerode';
|
|
6
|
+
import { DevContainerConfiguration } from './devcontainer-file';
|
|
7
|
+
export interface RemoteContainerConnectionOptions {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
type: string;
|
|
11
|
+
docker: Docker;
|
|
12
|
+
container: Docker.Container;
|
|
13
|
+
config: DevContainerConfiguration;
|
|
14
|
+
logger: ILogger;
|
|
15
|
+
}
|
|
16
|
+
export declare class RemoteDockerContainerConnection implements RemoteConnection {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
type: string;
|
|
20
|
+
localPort: number;
|
|
21
|
+
remotePort: number;
|
|
22
|
+
docker: Docker;
|
|
23
|
+
container: Docker.Container;
|
|
24
|
+
remoteSetupResult: RemoteSetupResult;
|
|
25
|
+
protected readonly logger: ILogger;
|
|
26
|
+
protected config: DevContainerConfiguration;
|
|
27
|
+
protected dockerEventStream: NodeJS.ReadableStream | undefined;
|
|
28
|
+
protected readonly onDidDisconnectEmitter: Emitter<void>;
|
|
29
|
+
onDidDisconnect: Event<void>;
|
|
30
|
+
constructor(options: RemoteContainerConnectionOptions);
|
|
31
|
+
protected getRemoteEnv(): string[] | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Builds a shell command string safe for use with `sh -c`.
|
|
34
|
+
* Arguments are strong-quoted (single quotes) using {@link BashQuotingFunctions}
|
|
35
|
+
* so that no shell expansion occurs inside them.
|
|
36
|
+
*
|
|
37
|
+
* **`cmd` is not escaped** and must only contain trusted, internally-constructed
|
|
38
|
+
* values. All untrusted input must be passed via `args`.
|
|
39
|
+
*/
|
|
40
|
+
protected buildShellCommand(cmd: string, args?: string[]): string;
|
|
41
|
+
forwardOut(socket: Socket, port?: number): Promise<void>;
|
|
42
|
+
exec(cmd: string, args?: string[], options?: RemoteExecOptions): Promise<RemoteExecResult>;
|
|
43
|
+
execPartial(cmd: string, tester: RemoteExecTester, args?: string[], options?: RemoteExecOptions): Promise<RemoteExecResult>;
|
|
44
|
+
getDockerHost(): string[];
|
|
45
|
+
copy(localPath: string, remotePath: string): Promise<void>;
|
|
46
|
+
disposeSync(): void;
|
|
47
|
+
dispose(): Promise<void>;
|
|
48
|
+
protected shutdownContainer(sync: boolean): Promise<unknown>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=remote-docker-container-connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-docker-container-connection.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-docker-container-connection.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACvI,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,MAAM,WAAW,gCAAgC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;IAC5B,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,+BAAgC,YAAW,gBAAgB;IAEpE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;IAE5B,iBAAiB,EAAG,iBAAiB,CAAC;IAEtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAE5C,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;IAE/D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,gBAAuB;IAChE,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAqC;gBAErD,OAAO,EAAE,gCAAgC;IAmBrD,SAAS,CAAC,YAAY,IAAI,MAAM,EAAE,GAAG,SAAS;IAW9C;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAO3D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0B1F,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqDjI,aAAa,IAAI,MAAM,EAAE;IAiBnB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBhE,WAAW,IAAI,IAAI;IAUb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cASd,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CA8BrE"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH 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.RemoteDockerContainerConnection = void 0;
|
|
19
|
+
const core_1 = require("@theia/core");
|
|
20
|
+
const shell_quoting_1 = require("@theia/core/lib/common/shell-quoting");
|
|
21
|
+
const promise_util_1 = require("@theia/core/lib/common/promise-util");
|
|
22
|
+
const stream_1 = require("stream");
|
|
23
|
+
const child_process_1 = require("child_process");
|
|
24
|
+
const compose_service_1 = require("./docker-compose/compose-service");
|
|
25
|
+
class RemoteDockerContainerConnection {
|
|
26
|
+
constructor(options) {
|
|
27
|
+
this.onDidDisconnectEmitter = new core_1.Emitter();
|
|
28
|
+
this.onDidDisconnect = this.onDidDisconnectEmitter.event;
|
|
29
|
+
this.id = options.id;
|
|
30
|
+
this.type = options.type;
|
|
31
|
+
this.name = options.name;
|
|
32
|
+
this.docker = options.docker;
|
|
33
|
+
this.container = options.container;
|
|
34
|
+
this.config = options.config;
|
|
35
|
+
this.logger = options.logger;
|
|
36
|
+
this.docker.getEvents({ filters: { container: [this.container.id], event: ['stop'] } }).then(stream => {
|
|
37
|
+
this.dockerEventStream = stream;
|
|
38
|
+
stream.on('data', () => this.onDidDisconnectEmitter.fire());
|
|
39
|
+
}).catch(e => {
|
|
40
|
+
this.logger.error('Failed to register Docker event listener:', e);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
getRemoteEnv() {
|
|
44
|
+
const remoteEnv = this.config.remoteEnv;
|
|
45
|
+
if (!remoteEnv || Object.keys(remoteEnv).length === 0) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
const entries = Object.entries(remoteEnv)
|
|
49
|
+
.filter(([, value]) => value !== undefined)
|
|
50
|
+
.map(([key, value]) => `${key}=${value}`);
|
|
51
|
+
return entries.length > 0 ? entries : undefined;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Builds a shell command string safe for use with `sh -c`.
|
|
55
|
+
* Arguments are strong-quoted (single quotes) using {@link BashQuotingFunctions}
|
|
56
|
+
* so that no shell expansion occurs inside them.
|
|
57
|
+
*
|
|
58
|
+
* **`cmd` is not escaped** and must only contain trusted, internally-constructed
|
|
59
|
+
* values. All untrusted input must be passed via `args`.
|
|
60
|
+
*/
|
|
61
|
+
buildShellCommand(cmd, args) {
|
|
62
|
+
if (!args || args.length === 0) {
|
|
63
|
+
return cmd;
|
|
64
|
+
}
|
|
65
|
+
return `${cmd} ${(0, shell_quoting_1.createShellCommandLine)(args.map(a => ({ value: a, quoting: "strong" /* ShellQuoting.Strong */ })), shell_quoting_1.BashQuotingFunctions)}`;
|
|
66
|
+
}
|
|
67
|
+
async forwardOut(socket, port) {
|
|
68
|
+
const node = `${this.remoteSetupResult.nodeDirectory}/bin/node`;
|
|
69
|
+
const devContainerServer = `${this.remoteSetupResult.applicationDirectory}/backend/dev-container-server.js`;
|
|
70
|
+
try {
|
|
71
|
+
const ttySession = await this.container.exec({
|
|
72
|
+
Cmd: ['sh', '-c', this.buildShellCommand(node, [devContainerServer, `-target-port=${port ?? this.remotePort}`])],
|
|
73
|
+
Env: this.getRemoteEnv(),
|
|
74
|
+
AttachStdin: true, AttachStdout: true, AttachStderr: true
|
|
75
|
+
});
|
|
76
|
+
const stream = await ttySession.start({ hijack: true, stdin: true });
|
|
77
|
+
socket.pipe(stream);
|
|
78
|
+
ttySession.modem.demuxStream(stream, socket, socket);
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
this.logger.error('Failed to forward socket:', e);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async exec(cmd, args, options) {
|
|
85
|
+
const deferred = new promise_util_1.Deferred();
|
|
86
|
+
try {
|
|
87
|
+
// TODO add windows container support
|
|
88
|
+
const execution = await this.container.exec({
|
|
89
|
+
Cmd: ['sh', '-c', this.buildShellCommand(cmd, args)], Env: this.getRemoteEnv(), AttachStdout: true, AttachStderr: true
|
|
90
|
+
});
|
|
91
|
+
let stdoutBuffer = '';
|
|
92
|
+
let stderrBuffer = '';
|
|
93
|
+
const stream = await execution?.start({});
|
|
94
|
+
const stdout = new stream_1.PassThrough();
|
|
95
|
+
stdout.on('data', (chunk) => {
|
|
96
|
+
stdoutBuffer += chunk.toString();
|
|
97
|
+
});
|
|
98
|
+
const stderr = new stream_1.PassThrough();
|
|
99
|
+
stderr.on('data', (chunk) => {
|
|
100
|
+
stderrBuffer += chunk.toString();
|
|
101
|
+
});
|
|
102
|
+
execution.modem.demuxStream(stream, stdout, stderr);
|
|
103
|
+
stream?.addListener('close', () => deferred.resolve({ stdout: stdoutBuffer, stderr: stderrBuffer }));
|
|
104
|
+
}
|
|
105
|
+
catch (e) {
|
|
106
|
+
deferred.reject(e);
|
|
107
|
+
}
|
|
108
|
+
return deferred.promise;
|
|
109
|
+
}
|
|
110
|
+
async execPartial(cmd, tester, args, options) {
|
|
111
|
+
const deferred = new promise_util_1.Deferred();
|
|
112
|
+
try {
|
|
113
|
+
// TODO add windows container support
|
|
114
|
+
const execution = await this.container.exec({
|
|
115
|
+
Cmd: ['sh', '-c', this.buildShellCommand(cmd, args)], Env: this.getRemoteEnv(), AttachStdout: true, AttachStderr: true
|
|
116
|
+
});
|
|
117
|
+
let stdoutBuffer = '';
|
|
118
|
+
let stderrBuffer = '';
|
|
119
|
+
const stream = await execution?.start({});
|
|
120
|
+
const cleanupStreams = () => {
|
|
121
|
+
stdout.destroy();
|
|
122
|
+
stderr.destroy();
|
|
123
|
+
stream.destroy();
|
|
124
|
+
};
|
|
125
|
+
stream.on('close', () => {
|
|
126
|
+
if (deferred.state === 'unresolved') {
|
|
127
|
+
deferred.resolve({ stdout: stdoutBuffer, stderr: stderrBuffer });
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
const stdout = new stream_1.PassThrough();
|
|
131
|
+
stdout.on('data', (data) => {
|
|
132
|
+
this.logger.debug('REMOTE STDOUT:', data.toString());
|
|
133
|
+
if (deferred.state === 'unresolved') {
|
|
134
|
+
stdoutBuffer += data.toString();
|
|
135
|
+
if (tester(stdoutBuffer, stderrBuffer)) {
|
|
136
|
+
deferred.resolve({ stdout: stdoutBuffer, stderr: stderrBuffer });
|
|
137
|
+
cleanupStreams();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
const stderr = new stream_1.PassThrough();
|
|
142
|
+
stderr.on('data', (data) => {
|
|
143
|
+
this.logger.debug('REMOTE STDERR:', data.toString());
|
|
144
|
+
if (deferred.state === 'unresolved') {
|
|
145
|
+
stderrBuffer += data.toString();
|
|
146
|
+
if (tester(stdoutBuffer, stderrBuffer)) {
|
|
147
|
+
deferred.resolve({ stdout: stdoutBuffer, stderr: stderrBuffer });
|
|
148
|
+
cleanupStreams();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
execution.modem.demuxStream(stream, stdout, stderr);
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
deferred.reject(e);
|
|
156
|
+
}
|
|
157
|
+
return deferred.promise;
|
|
158
|
+
}
|
|
159
|
+
getDockerHost() {
|
|
160
|
+
const dockerHost = process.env.DOCKER_HOST;
|
|
161
|
+
try {
|
|
162
|
+
if (dockerHost) {
|
|
163
|
+
const dockerHostURL = new URL(dockerHost);
|
|
164
|
+
if (dockerHostURL.protocol === 'http:' || dockerHostURL.protocol === 'https:') {
|
|
165
|
+
dockerHostURL.protocol = 'tcp:';
|
|
166
|
+
}
|
|
167
|
+
return ['-H', dockerHostURL.href];
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch (e) {
|
|
171
|
+
this.logger.error('Failed to parse DOCKER_HOST:', e);
|
|
172
|
+
}
|
|
173
|
+
return [];
|
|
174
|
+
}
|
|
175
|
+
async copy(localPath, remotePath) {
|
|
176
|
+
const deferred = new promise_util_1.Deferred();
|
|
177
|
+
const hostArgs = this.getDockerHost();
|
|
178
|
+
const subprocess = (0, child_process_1.execFile)('docker', [...hostArgs, 'cp', '-a', localPath, `${this.container.id}:${remotePath}`]);
|
|
179
|
+
let stderr = '';
|
|
180
|
+
subprocess.stderr?.on('data', data => {
|
|
181
|
+
stderr += data.toString();
|
|
182
|
+
});
|
|
183
|
+
subprocess.on('close', code => {
|
|
184
|
+
if (code === 0) {
|
|
185
|
+
deferred.resolve();
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
deferred.reject(stderr);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return deferred.promise;
|
|
192
|
+
}
|
|
193
|
+
disposeSync() {
|
|
194
|
+
// cant use dockerode here since this needs to happen on one tick
|
|
195
|
+
this.shutdownContainer(true);
|
|
196
|
+
this.onDidDisconnectEmitter.dispose();
|
|
197
|
+
if (this.dockerEventStream) {
|
|
198
|
+
this.dockerEventStream.destroy();
|
|
199
|
+
this.dockerEventStream = undefined;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
async dispose() {
|
|
203
|
+
await this.shutdownContainer(false);
|
|
204
|
+
this.onDidDisconnectEmitter.dispose();
|
|
205
|
+
if (this.dockerEventStream) {
|
|
206
|
+
this.dockerEventStream.destroy();
|
|
207
|
+
this.dockerEventStream = undefined;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
async shutdownContainer(sync) {
|
|
211
|
+
const hostArgs = this.getDockerHost();
|
|
212
|
+
const shutdownAction = this.config.shutdownAction ?? (this.config.dockerComposeFile ? 'stopCompose' : 'stopContainer');
|
|
213
|
+
if (shutdownAction === 'none') {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
if (shutdownAction === 'stopContainer') {
|
|
217
|
+
return sync ? (0, child_process_1.execFileSync)('docker', [...hostArgs, 'stop', this.container.id]) : this.container.stop();
|
|
218
|
+
}
|
|
219
|
+
else if (shutdownAction === 'stopCompose') {
|
|
220
|
+
if (!this.config.dockerComposeFile) {
|
|
221
|
+
this.logger.warn('shutdownAction is stopCompose but dockerComposeFile is not defined, falling back to stopContainer');
|
|
222
|
+
return sync ? (0, child_process_1.execFileSync)('docker', [...hostArgs, 'stop', this.container.id]) : this.container.stop();
|
|
223
|
+
}
|
|
224
|
+
const composeFilePath = (0, compose_service_1.resolveComposeFilePath)(this.config);
|
|
225
|
+
return sync ? (0, child_process_1.execFileSync)('docker', [...hostArgs, 'compose', '-f', composeFilePath, 'stop']) :
|
|
226
|
+
new Promise((res, rej) => (0, child_process_1.execFile)('docker', [...hostArgs, 'compose', '-f', composeFilePath, 'stop'], err => {
|
|
227
|
+
if (err) {
|
|
228
|
+
this.logger.error('Failed to stop compose:', err);
|
|
229
|
+
rej(err);
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
res();
|
|
233
|
+
}
|
|
234
|
+
}));
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
exports.RemoteDockerContainerConnection = RemoteDockerContainerConnection;
|
|
239
|
+
//# sourceMappingURL=remote-docker-container-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-docker-container-connection.js","sourceRoot":"","sources":["../../src/electron-node/remote-docker-container-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-docker-container-connection.spec.d.ts","sourceRoot":"","sources":["../../src/electron-node/remote-docker-container-connection.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource 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
|
+
const chai_1 = require("chai");
|
|
19
|
+
const remote_docker_container_connection_1 = require("./remote-docker-container-connection");
|
|
20
|
+
class TestableDockerContainerConnection extends remote_docker_container_connection_1.RemoteDockerContainerConnection {
|
|
21
|
+
testGetRemoteEnv() {
|
|
22
|
+
return this.getRemoteEnv();
|
|
23
|
+
}
|
|
24
|
+
testBuildShellCommand(cmd, args) {
|
|
25
|
+
return this.buildShellCommand(cmd, args);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function createConnection(config) {
|
|
29
|
+
const mockDocker = {
|
|
30
|
+
getEvents: () => Promise.resolve({ on: () => { }, destroy: () => { } })
|
|
31
|
+
};
|
|
32
|
+
const mockContainer = {};
|
|
33
|
+
const mockLogger = {};
|
|
34
|
+
return new TestableDockerContainerConnection({
|
|
35
|
+
id: 'test-id',
|
|
36
|
+
name: 'test',
|
|
37
|
+
type: 'Dev Container',
|
|
38
|
+
docker: mockDocker,
|
|
39
|
+
container: mockContainer,
|
|
40
|
+
config,
|
|
41
|
+
logger: mockLogger
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
describe('RemoteDockerContainerConnection', () => {
|
|
45
|
+
describe('getRemoteEnv', () => {
|
|
46
|
+
it('should return undefined when remoteEnv is not set', () => {
|
|
47
|
+
const connection = createConnection({
|
|
48
|
+
image: 'test'
|
|
49
|
+
});
|
|
50
|
+
(0, chai_1.expect)(connection.testGetRemoteEnv()).to.be.undefined;
|
|
51
|
+
});
|
|
52
|
+
it('should return undefined when remoteEnv is empty', () => {
|
|
53
|
+
const connection = createConnection({
|
|
54
|
+
image: 'test',
|
|
55
|
+
remoteEnv: {}
|
|
56
|
+
});
|
|
57
|
+
(0, chai_1.expect)(connection.testGetRemoteEnv()).to.be.undefined;
|
|
58
|
+
});
|
|
59
|
+
it('should convert remoteEnv entries to KEY=value format', () => {
|
|
60
|
+
const connection = createConnection({
|
|
61
|
+
image: 'test',
|
|
62
|
+
remoteEnv: {
|
|
63
|
+
'MY_VAR': 'my_value',
|
|
64
|
+
'ANOTHER_VAR': 'another_value'
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const env = connection.testGetRemoteEnv();
|
|
68
|
+
(0, chai_1.expect)(env).to.have.lengthOf(2);
|
|
69
|
+
(0, chai_1.expect)(env).to.include('MY_VAR=my_value');
|
|
70
|
+
(0, chai_1.expect)(env).to.include('ANOTHER_VAR=another_value');
|
|
71
|
+
});
|
|
72
|
+
it('should filter out entries with undefined values', () => {
|
|
73
|
+
const connection = createConnection({
|
|
74
|
+
image: 'test',
|
|
75
|
+
remoteEnv: {
|
|
76
|
+
'KEEP_VAR': 'value',
|
|
77
|
+
'REMOVE_VAR': undefined
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
const env = connection.testGetRemoteEnv();
|
|
81
|
+
(0, chai_1.expect)(env).to.have.lengthOf(1);
|
|
82
|
+
(0, chai_1.expect)(env).to.include('KEEP_VAR=value');
|
|
83
|
+
});
|
|
84
|
+
it('should return undefined when all entries have undefined values', () => {
|
|
85
|
+
const connection = createConnection({
|
|
86
|
+
image: 'test',
|
|
87
|
+
remoteEnv: {
|
|
88
|
+
'VAR1': undefined,
|
|
89
|
+
'VAR2': undefined
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
(0, chai_1.expect)(connection.testGetRemoteEnv()).to.be.undefined;
|
|
93
|
+
});
|
|
94
|
+
it('should handle values containing equals signs', () => {
|
|
95
|
+
const connection = createConnection({
|
|
96
|
+
image: 'test',
|
|
97
|
+
remoteEnv: {
|
|
98
|
+
'CONNECTION_STRING': 'host=localhost;port=5432'
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
const env = connection.testGetRemoteEnv();
|
|
102
|
+
(0, chai_1.expect)(env).to.have.lengthOf(1);
|
|
103
|
+
(0, chai_1.expect)(env).to.include('CONNECTION_STRING=host=localhost;port=5432');
|
|
104
|
+
});
|
|
105
|
+
it('should handle empty string values', () => {
|
|
106
|
+
const connection = createConnection({
|
|
107
|
+
image: 'test',
|
|
108
|
+
remoteEnv: {
|
|
109
|
+
'EMPTY_VAR': ''
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
const env = connection.testGetRemoteEnv();
|
|
113
|
+
(0, chai_1.expect)(env).to.have.lengthOf(1);
|
|
114
|
+
(0, chai_1.expect)(env).to.include('EMPTY_VAR=');
|
|
115
|
+
});
|
|
116
|
+
it('should handle values with special characters', () => {
|
|
117
|
+
const connection = createConnection({
|
|
118
|
+
image: 'test',
|
|
119
|
+
remoteEnv: {
|
|
120
|
+
'PATH_EXTRA': '/usr/local/bin:/custom/path',
|
|
121
|
+
'QUOTED': 'hello "world"',
|
|
122
|
+
'SPACED': 'hello world'
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
const env = connection.testGetRemoteEnv();
|
|
126
|
+
(0, chai_1.expect)(env).to.have.lengthOf(3);
|
|
127
|
+
(0, chai_1.expect)(env).to.include('PATH_EXTRA=/usr/local/bin:/custom/path');
|
|
128
|
+
(0, chai_1.expect)(env).to.include('QUOTED=hello "world"');
|
|
129
|
+
(0, chai_1.expect)(env).to.include('SPACED=hello world');
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe('buildShellCommand', () => {
|
|
133
|
+
it('should return cmd unchanged when no args are provided', () => {
|
|
134
|
+
const connection = createConnection({ image: 'test' });
|
|
135
|
+
(0, chai_1.expect)(connection.testBuildShellCommand('echo')).to.equal('echo');
|
|
136
|
+
(0, chai_1.expect)(connection.testBuildShellCommand('echo', [])).to.equal('echo');
|
|
137
|
+
});
|
|
138
|
+
it('should strong-quote arguments to prevent shell expansion', () => {
|
|
139
|
+
const connection = createConnection({ image: 'test' });
|
|
140
|
+
(0, chai_1.expect)(connection.testBuildShellCommand('echo', ['hello world'])).to.equal("echo 'hello world'");
|
|
141
|
+
});
|
|
142
|
+
it('should handle arguments with dollar signs', () => {
|
|
143
|
+
const connection = createConnection({ image: 'test' });
|
|
144
|
+
(0, chai_1.expect)(connection.testBuildShellCommand('echo', ['$HOME'])).to.equal("echo '$HOME'");
|
|
145
|
+
});
|
|
146
|
+
it('should handle arguments with backticks', () => {
|
|
147
|
+
const connection = createConnection({ image: 'test' });
|
|
148
|
+
(0, chai_1.expect)(connection.testBuildShellCommand('echo', ['`whoami`'])).to.equal("echo '`whoami`'");
|
|
149
|
+
});
|
|
150
|
+
it('should handle arguments with single quotes', () => {
|
|
151
|
+
const connection = createConnection({ image: 'test' });
|
|
152
|
+
// Single quotes inside strong-quoted strings are handled by breaking out and using double-quoted quote
|
|
153
|
+
(0, chai_1.expect)(connection.testBuildShellCommand('echo', ["it's"])).to.equal('echo \'it\'"\'"\'s\'');
|
|
154
|
+
});
|
|
155
|
+
it('should handle arguments with double quotes', () => {
|
|
156
|
+
const connection = createConnection({ image: 'test' });
|
|
157
|
+
(0, chai_1.expect)(connection.testBuildShellCommand('echo', ['say "hi"'])).to.equal("echo 'say \"hi\"'");
|
|
158
|
+
});
|
|
159
|
+
it('should handle multiple arguments', () => {
|
|
160
|
+
const connection = createConnection({ image: 'test' });
|
|
161
|
+
(0, chai_1.expect)(connection.testBuildShellCommand('node', ['server.js', '--port=8080'])).to.equal("node 'server.js' '--port=8080'");
|
|
162
|
+
});
|
|
163
|
+
it('should handle arguments with newlines', () => {
|
|
164
|
+
const connection = createConnection({ image: 'test' });
|
|
165
|
+
const result = connection.testBuildShellCommand('echo', ['line1\nline2']);
|
|
166
|
+
// Literal newline is preserved inside single quotes
|
|
167
|
+
(0, chai_1.expect)(result).to.equal("echo 'line1\nline2'");
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
describe('shutdownContainer', () => {
|
|
171
|
+
function createConnectionWithConfig(config) {
|
|
172
|
+
const state = { stopCalled: false };
|
|
173
|
+
const mockDocker = {
|
|
174
|
+
getEvents: () => Promise.resolve({ on: () => { }, destroy: () => { } })
|
|
175
|
+
};
|
|
176
|
+
const mockContainer = {
|
|
177
|
+
id: 'test-container-id',
|
|
178
|
+
stop: () => { state.stopCalled = true; return Promise.resolve(); }
|
|
179
|
+
};
|
|
180
|
+
const mockLogger = {};
|
|
181
|
+
const connection = new remote_docker_container_connection_1.RemoteDockerContainerConnection({
|
|
182
|
+
id: 'test-id',
|
|
183
|
+
name: 'test',
|
|
184
|
+
type: 'Dev Container',
|
|
185
|
+
docker: mockDocker,
|
|
186
|
+
container: mockContainer,
|
|
187
|
+
config: config,
|
|
188
|
+
logger: mockLogger
|
|
189
|
+
});
|
|
190
|
+
return { connection, stopCalled: () => state.stopCalled };
|
|
191
|
+
}
|
|
192
|
+
it('should not stop container when shutdownAction is none', async () => {
|
|
193
|
+
const { connection, stopCalled } = createConnectionWithConfig({ shutdownAction: 'none' });
|
|
194
|
+
await connection.dispose();
|
|
195
|
+
(0, chai_1.expect)(stopCalled()).to.equal(false);
|
|
196
|
+
});
|
|
197
|
+
it('should stop container when shutdownAction is stopContainer', async () => {
|
|
198
|
+
const { connection, stopCalled } = createConnectionWithConfig({ shutdownAction: 'stopContainer' });
|
|
199
|
+
await connection.dispose();
|
|
200
|
+
(0, chai_1.expect)(stopCalled()).to.equal(true);
|
|
201
|
+
});
|
|
202
|
+
it('should default to stopContainer when shutdownAction is not set and no dockerComposeFile', async () => {
|
|
203
|
+
const { connection, stopCalled } = createConnectionWithConfig({});
|
|
204
|
+
await connection.dispose();
|
|
205
|
+
(0, chai_1.expect)(stopCalled()).to.equal(true);
|
|
206
|
+
});
|
|
207
|
+
it('should not stop container when shutdownAction is none even with dockerComposeFile', async () => {
|
|
208
|
+
const { connection, stopCalled } = createConnectionWithConfig({
|
|
209
|
+
shutdownAction: 'none',
|
|
210
|
+
dockerComposeFile: 'docker-compose.yml'
|
|
211
|
+
});
|
|
212
|
+
await connection.dispose();
|
|
213
|
+
(0, chai_1.expect)(stopCalled()).to.equal(false);
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
//# sourceMappingURL=remote-docker-container-connection.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-docker-container-connection.spec.js","sourceRoot":"","sources":["../../src/electron-node/remote-docker-container-connection.spec.ts"],"names":[],"mappings":"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"}
|