Skip to content

Commit 6ecbd1b

Browse files
committed
Ignore objectscript.conn.docker-compose when running in dev container
1 parent 978ec96 commit 6ecbd1b

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/api/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,12 @@ export class AtelierAPI {
177177
if (config("intersystems.servers").has(serverName)) {
178178
this.externalServer = true;
179179
} else if (
180-
!conn["docker-compose"] &&
180+
!(conn["docker-compose"] && extensionContext.extension.extensionKind !== vscode.ExtensionKind.Workspace) &&
181181
conn.server &&
182182
config("intersystems.servers", workspaceFolderName).has(conn.server)
183183
) {
184+
// Connect to the server named in objectscript.conn
185+
// unless a docker-compose conn object exists and this extension isn't running remotely (i.e. within the dev container)
184186
serverName = conn.server;
185187
} else {
186188
serverName = "";

src/utils/index.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { R_OK } from "constants";
44
import * as url from "url";
55
import { exec } from "child_process";
66
import * as vscode from "vscode";
7-
import { config, schemas, workspaceState, terminals, extensionId } from "../extension";
7+
import { config, schemas, workspaceState, terminals, extensionId, extensionContext } from "../extension";
88
import { getCategory } from "../commands/export";
99
const packageJson = vscode.extensions.getExtension(extensionId).packageJSON;
1010

@@ -403,11 +403,18 @@ export function notNull(el: any): boolean {
403403
}
404404

405405
export async function portFromDockerCompose(): Promise<{ port: number; docker: boolean; service?: string }> {
406+
// When running remotely, behave as if there is no docker-compose object within objectscript.conn
407+
if (extensionContext.extension.extensionKind === vscode.ExtensionKind.Workspace) {
408+
return { docker: false, port: null };
409+
}
410+
411+
// Seek a valid docker-compose object within objectscript.conn
406412
const { "docker-compose": dockerCompose = {} } = config("conn");
407413
const { service, file = "docker-compose.yml", internalPort = 52773, envFile } = dockerCompose;
408414
if (!internalPort || !file || !service || service === "") {
409415
return { docker: false, port: null };
410416
}
417+
411418
const result = { port: null, docker: true, service };
412419
const workspaceFolderPath = uriOfWorkspaceFolder().fsPath;
413420
const workspaceRootPath = vscode.workspace.workspaceFolders[0].uri.fsPath;

0 commit comments

Comments
 (0)