From 3d0dbd694b3064e925ce3d33ef33d19c4a7d2a43 Mon Sep 17 00:00:00 2001 From: Kyryll O Date: Mon, 25 May 2026 16:04:36 +0300 Subject: [PATCH] fix: make remoteEntry resolution robust for relative paths --- src/backend/services/core.service.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/backend/services/core.service.ts b/src/backend/services/core.service.ts index 87c1361..0381854 100644 --- a/src/backend/services/core.service.ts +++ b/src/backend/services/core.service.ts @@ -75,8 +75,21 @@ export class CoreService { try { const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8')); if (process.env.PUBLIC_URL) { - const p = manifest.remoteEntry ? new URL(manifest.remoteEntry).pathname : '/remoteEntry.js'; - manifest.remoteEntry = `${process.env.PUBLIC_URL}${p}`; + let p = '/remoteEntry.js'; + if (manifest.remoteEntry) { + try { + if (manifest.remoteEntry.startsWith('http://') || manifest.remoteEntry.startsWith('https://')) { + p = new URL(manifest.remoteEntry).pathname; + } else { + p = manifest.remoteEntry; + } + } catch (e) { + p = manifest.remoteEntry; + } + } + const publicUrl = process.env.PUBLIC_URL.endsWith('/') ? process.env.PUBLIC_URL.slice(0, -1) : process.env.PUBLIC_URL; + const pathname = p.startsWith('/') ? p : '/' + p; + manifest.remoteEntry = `${publicUrl}${pathname}`; } manifest.backendUrl = backendUrl;