fix: handle new depends_on object instead of array #195
This commit is contained in:
@@ -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];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user