From 9a3a0437ff74b2e1661ef79981dcabef23e65c3e Mon Sep 17 00:00:00 2001 From: broksy Date: Thu, 10 Oct 2024 16:27:32 +0300 Subject: [PATCH] fix: add to backend array case --- packages/ui5-config/src/ui5config.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/ui5-config/src/ui5config.ts b/packages/ui5-config/src/ui5config.ts index 0775b1e3a2..5fc260226c 100644 --- a/packages/ui5-config/src/ui5config.ts +++ b/packages/ui5-config/src/ui5config.ts @@ -283,23 +283,27 @@ export class UI5Config { let backendNode; const proxyMiddlewareYamlContent = this.findCustomMiddleware(fioriToolsProxy); const proxyMiddlewareConfig = proxyMiddlewareYamlContent?.configuration as FioriToolsProxyConfig; - // Avoid adding duplicates by checking existing backend configs + // Add new entry to existing backend configurations in yaml if (proxyMiddlewareConfig?.backend) { + // Avoid adding duplicates by checking existing backend configs if (!proxyMiddlewareConfig.backend.find((existingBackend) => existingBackend.url === backend.url)) { - // Create new 'backend' node in yaml for middleware config keeping previous backend definitions backendNode = this.document.createNode({ - value: [...proxyMiddlewareConfig.backend, backend], + value: backend, comments }); + const configuration = this.document.getMap({ + start: proxyMiddleware as YAMLMap, + path: 'configuration' + }); + const backendConfigs = this.document.getSequence({ start: configuration, path: 'backend' }); + backendConfigs.add(backendNode); } } else { - // Create new 'backend' node in yaml for middleware config - backendNode = this.document.createNode({ value: [backend], comments }); - } - if (backendNode) { + // Create a new 'backend' node in yaml for middleware config + backendNode = this.document.createNode({ value: backend, comments }); this.document .getMap({ start: proxyMiddleware as YAMLMap, path: 'configuration' }) - .set('backend', backendNode); + .set('backend', [backendNode]); } return this; }