@theia/dev-container 1.72.0-next.5 → 1.72.0-next.52
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-container-service.d.ts","sourceRoot":"","sources":["../../src/electron-node/docker-container-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,yBAAyB,
|
|
1
|
+
{"version":3,"file":"docker-container-service.d.ts","sourceRoot":"","sources":["../../src/electron-node/docker-container-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAA2B,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,eAAO,MAAM,6BAA6B,eAA2C,CAAC;AAEtF,MAAM,WAAW,6BAA6B;IAC1C,uBAAuB,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,sBAAsB,EACjE,eAAe,EAAE,yBAAyB,EAC1C,GAAG,EAAE,MAAM,EACX,cAAc,CAAC,EAAE,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAElE;;OAEG;IACH,gBAAgB,CAAC,CAAC,eAAe,EAAE,yBAAyB,EACxD,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,GAAG,EAAE,MAAM,EACX,cAAc,CAAC,EAAE,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAElE;;OAEG;IACH,iBAAiB,CAAC,CAAC,eAAe,EAAE,yBAAyB,EAAE,UAAU,EAAE,+BAA+B,EACtG,cAAc,CAAC,EAAE,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,qBACa,sBAAsB;IAG/B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;IAGvG,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAElC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,EAAE,cAAc,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;IAyB9I,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,+BAA+B,EAAE,cAAc,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;cASjI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;CAuDhK"}
|
|
@@ -76,6 +76,14 @@ let DockerContainerService = class DockerContainerService {
|
|
|
76
76
|
for (const containerCreateContrib of this.containerCreationContributions.getContributions()) {
|
|
77
77
|
await containerCreateContrib.handleContainerCreation?.(containerCreateOptions, devcontainerConfig, docker, outputProvider);
|
|
78
78
|
}
|
|
79
|
+
// Per the devcontainer spec, overrideCommand defaults to true for non-compose containers.
|
|
80
|
+
// When true, override the image's CMD with a sleep loop to keep the container alive.
|
|
81
|
+
if (!devcontainerConfig.dockerComposeFile) {
|
|
82
|
+
const overrideCommand = devcontainerConfig.overrideCommand;
|
|
83
|
+
if (overrideCommand !== false) {
|
|
84
|
+
containerCreateOptions.Cmd = ['/bin/sh', '-c', 'while sleep 1000; do :; done'];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
79
87
|
let container;
|
|
80
88
|
if (devcontainerConfig.dockerComposeFile) {
|
|
81
89
|
const containerName = await this.dockerComposeService.createContainers(devcontainerConfig, containerCreateOptions, outputProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-container-service.js","sourceRoot":"","sources":["../../src/electron-node/docker-container-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"docker-container-service.js","sourceRoot":"","sources":["../../src/electron-node/docker-container-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/dev-container",
|
|
3
|
-
"version": "1.72.0-next.
|
|
3
|
+
"version": "1.72.0-next.52+726081b2a",
|
|
4
4
|
"description": "Theia - Editor Preview Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.72.0-next.
|
|
7
|
-
"@theia/output": "1.72.0-next.
|
|
8
|
-
"@theia/remote": "1.72.0-next.
|
|
9
|
-
"@theia/workspace": "1.72.0-next.
|
|
10
|
-
"dockerode": "^4.0.
|
|
11
|
-
"jsonc-parser": "^
|
|
6
|
+
"@theia/core": "1.72.0-next.52+726081b2a",
|
|
7
|
+
"@theia/output": "1.72.0-next.52+726081b2a",
|
|
8
|
+
"@theia/remote": "1.72.0-next.52+726081b2a",
|
|
9
|
+
"@theia/workspace": "1.72.0-next.52+726081b2a",
|
|
10
|
+
"dockerode": "^4.0.12",
|
|
11
|
+
"jsonc-parser": "^3.3.1",
|
|
12
12
|
"uuid": "^8.3.2"
|
|
13
13
|
},
|
|
14
14
|
"publishConfig": {
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@theia/ext-scripts": "1.71.0",
|
|
49
|
-
"@types/dockerode": "^3.3.
|
|
49
|
+
"@types/dockerode": "^3.3.47"
|
|
50
50
|
},
|
|
51
51
|
"nyc": {
|
|
52
52
|
"extends": "../../configs/nyc.json"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "726081b2aa03827611ba4a323da1a6aaf0e9a9b9"
|
|
55
55
|
}
|
|
@@ -20,7 +20,7 @@ import { WorkspaceServer } from '@theia/workspace/lib/common';
|
|
|
20
20
|
import * as fs from '@theia/core/shared/fs-extra';
|
|
21
21
|
import * as Docker from 'dockerode';
|
|
22
22
|
import { ContainerConnectionOptions } from '../electron-common/remote-container-connection-provider';
|
|
23
|
-
import { DevContainerConfiguration } from './devcontainer-file';
|
|
23
|
+
import { DevContainerConfiguration, NonComposeContainerBase } from './devcontainer-file';
|
|
24
24
|
import { DevContainerFileService } from './dev-container-file-service';
|
|
25
25
|
import { ContainerOutputProvider } from '../electron-common/container-output-provider';
|
|
26
26
|
import { RemoteDockerContainerConnection } from './remote-container-connection-provider';
|
|
@@ -125,6 +125,15 @@ export class DockerContainerService {
|
|
|
125
125
|
await containerCreateContrib.handleContainerCreation?.(containerCreateOptions, devcontainerConfig, docker, outputProvider);
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
// Per the devcontainer spec, overrideCommand defaults to true for non-compose containers.
|
|
129
|
+
// When true, override the image's CMD with a sleep loop to keep the container alive.
|
|
130
|
+
if (!devcontainerConfig.dockerComposeFile) {
|
|
131
|
+
const overrideCommand = (devcontainerConfig as NonComposeContainerBase).overrideCommand;
|
|
132
|
+
if (overrideCommand !== false) {
|
|
133
|
+
containerCreateOptions.Cmd = ['/bin/sh', '-c', 'while sleep 1000; do :; done'];
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
128
137
|
let container: Docker.Container;
|
|
129
138
|
|
|
130
139
|
if (devcontainerConfig.dockerComposeFile) {
|