fix: handle new depends_on object instead of array #195

This commit is contained in:
Carl-Gerhard Lindesvärd
2025-09-04 09:57:57 +02:00
parent 52b86682e2
commit d4a1eb88b8

View File

@@ -66,7 +66,7 @@ export interface DockerComposeFile {
restart: string; restart: string;
ports: string[]; ports: string[];
volumes: string[]; volumes: string[];
depends_on: string[]; depends_on?: Record<string, { condition: string }> | string[];
} }
>; >;
volumes?: Record<string, unknown>; volumes?: Record<string, unknown>;
@@ -104,11 +104,19 @@ function removeServiceFromDockerCompose(serviceName: string) {
// filter depends_on // filter depends_on
Object.keys(dockerCompose.services).forEach((service) => { Object.keys(dockerCompose.services).forEach((service) => {
if (dockerCompose.services[service]?.depends_on) { const serviceConfig = dockerCompose.services[service];
// @ts-expect-error if (serviceConfig?.depends_on) {
dockerCompose.services[service].depends_on = dockerCompose.services[ if (Array.isArray(serviceConfig.depends_on)) {
service // Handle legacy array format
].depends_on.filter((dep) => dep !== serviceName); serviceConfig.depends_on = serviceConfig.depends_on.filter(
(dep) => dep !== serviceName,
);
} else {
// Handle new object format
if (serviceConfig.depends_on[serviceName]) {
delete serviceConfig.depends_on[serviceName];
}
}
} }
}); });