From 75e22cfa268aab068130ea2e35ed4ff0601c4a72 Mon Sep 17 00:00:00 2001 From: Luis Covarrubias Date: Mon, 10 Nov 2025 14:07:46 -0800 Subject: [PATCH] feat: add ESM compatibility for semantic-release default export Add compatibility handling for semantic-release's ESM default export pattern to ensure proper function access in multi-semantic-release. Co-authored-by: llm-git Ticket: BTC-0 --- patches/multi-semantic-release+3.0.2.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/patches/multi-semantic-release+3.0.2.patch b/patches/multi-semantic-release+3.0.2.patch index bd691e3..5baada2 100644 --- a/patches/multi-semantic-release+3.0.2.patch +++ b/patches/multi-semantic-release+3.0.2.patch @@ -12,3 +12,18 @@ index 020b3d7..37c3843 100644 const { WritableStreamBuffer } = require("stream-buffers"); const { Signale } = require("signale"); +diff --git a/node_modules/multi-semantic-release/lib/multiSemanticRelease.js b/node_modules/multi-semantic-release/lib/multiSemanticRelease.js +index 912a363..ca5b19c 100644 +--- a/node_modules/multi-semantic-release/lib/multiSemanticRelease.js ++++ b/node_modules/multi-semantic-release/lib/multiSemanticRelease.js +@@ -1,5 +1,9 @@ + const { dirname } = require("path"); +-const semanticRelease = require("semantic-release"); ++let semanticRelease = require("semantic-release"); ++// SR v25 ESM default export compatibility ++if (semanticRelease && typeof semanticRelease !== "function" && typeof semanticRelease.default === "function") { ++ semanticRelease = semanticRelease.default; ++} + const { uniq } = require("lodash"); + const { check } = require("./blork"); + const getLogger = require("./getLogger");