From d4a1eb88b855a01080965f60dccce173dcb3f852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Thu, 4 Sep 2025 09:57:57 +0200 Subject: [PATCH] fix: handle new depends_on object instead of array #195 --- self-hosting/quiz.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/self-hosting/quiz.ts b/self-hosting/quiz.ts index 9ece53cc..20ecfa17 100644 --- a/self-hosting/quiz.ts +++ b/self-hosting/quiz.ts @@ -66,7 +66,7 @@ export interface DockerComposeFile { restart: string; ports: string[]; volumes: string[]; - depends_on: string[]; + depends_on?: Record | string[]; } >; volumes?: Record; @@ -104,11 +104,19 @@ function removeServiceFromDockerCompose(serviceName: string) { // filter depends_on Object.keys(dockerCompose.services).forEach((service) => { - if (dockerCompose.services[service]?.depends_on) { - // @ts-expect-error - dockerCompose.services[service].depends_on = dockerCompose.services[ - service - ].depends_on.filter((dep) => dep !== serviceName); + const serviceConfig = dockerCompose.services[service]; + if (serviceConfig?.depends_on) { + if (Array.isArray(serviceConfig.depends_on)) { + // Handle legacy array format + 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]; + } + } } });