From 2f29a58b4e642d4f43688363c5352c960dc3540d Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Tue, 14 Apr 2026 17:24:16 +0100 Subject: [PATCH] fix(plugin-sdk): share facade activation check candidate loader --- src/plugin-sdk/facade-runtime.ts | 41 +++++++++++++++++++------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/src/plugin-sdk/facade-runtime.ts b/src/plugin-sdk/facade-runtime.ts index 2ecef96fe24..d5c2eadb18f 100644 --- a/src/plugin-sdk/facade-runtime.ts +++ b/src/plugin-sdk/facade-runtime.ts @@ -187,28 +187,37 @@ function getFacadeActivationCheckRuntimeJiti(): JitiLoader { return facadeActivationCheckRuntimeJiti; } +function loadFacadeActivationCheckRuntimeFromCandidates( + loadCandidate: ( + candidate: (typeof FACADE_ACTIVATION_CHECK_RUNTIME_CANDIDATES)[number], + ) => unknown, +): FacadeActivationCheckRuntimeModule | undefined { + for (const candidate of FACADE_ACTIVATION_CHECK_RUNTIME_CANDIDATES) { + try { + return loadCandidate(candidate) as FacadeActivationCheckRuntimeModule; + } catch { + // Try source/runtime candidates in order. + } + } + return undefined; +} + function loadFacadeActivationCheckRuntime(): FacadeActivationCheckRuntimeModule { if (facadeActivationCheckRuntimeModule) { return facadeActivationCheckRuntimeModule; } - for (const candidate of FACADE_ACTIVATION_CHECK_RUNTIME_CANDIDATES) { - try { - facadeActivationCheckRuntimeModule = nodeRequire( - candidate, - ) as FacadeActivationCheckRuntimeModule; - return facadeActivationCheckRuntimeModule; - } catch { - // Try source/runtime candidates in order. - } + facadeActivationCheckRuntimeModule = loadFacadeActivationCheckRuntimeFromCandidates((candidate) => + nodeRequire(candidate), + ); + if (facadeActivationCheckRuntimeModule) { + return facadeActivationCheckRuntimeModule; } const jiti = getFacadeActivationCheckRuntimeJiti(); - for (const candidate of FACADE_ACTIVATION_CHECK_RUNTIME_CANDIDATES) { - try { - facadeActivationCheckRuntimeModule = jiti(candidate) as FacadeActivationCheckRuntimeModule; - return facadeActivationCheckRuntimeModule; - } catch { - // Try source/runtime candidates in order. - } + facadeActivationCheckRuntimeModule = loadFacadeActivationCheckRuntimeFromCandidates((candidate) => + jiti(candidate), + ); + if (facadeActivationCheckRuntimeModule) { + return facadeActivationCheckRuntimeModule; } throw new Error("Unable to load facade activation check runtime"); }