From 99d7f52143fe02da1433815a52db12c31f54cc59 Mon Sep 17 00:00:00 2001 From: Neal Granger Date: Tue, 14 Oct 2025 13:01:05 -0700 Subject: [PATCH] Refactor XML parser initialization Remove DOMParser initialization import side-effect. Prevents the entire lib from breaking in environments where global DOMParser is not available and XML parsing is not required. --- packages/xml-builder/src/xml-parser.browser.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/xml-builder/src/xml-parser.browser.ts b/packages/xml-builder/src/xml-parser.browser.ts index 3b43833e7cd4..6ad824c28170 100644 --- a/packages/xml-builder/src/xml-parser.browser.ts +++ b/packages/xml-builder/src/xml-parser.browser.ts @@ -1,4 +1,4 @@ -const parser = new DOMParser(); +let parser: DOMParser | undefined; /** * Cases where this differs from fast-xml-parser: @@ -9,6 +9,10 @@ const parser = new DOMParser(); * @internal */ export function parseXML(xmlString: string): any { + if (!parser) { + parser = new DOMParser(); + } + const xmlDocument = parser.parseFromString(xmlString, "application/xml"); if (xmlDocument.getElementsByTagName("parsererror").length > 0) {