From cf5e8a34fe586aa1c3af1b25e96d7d4e76e0458d Mon Sep 17 00:00:00 2001
From: Catalin Mititiuc
Date: Thu, 30 May 2024 22:51:56 -0700
Subject: Handle resolving JSDOM promises better
---
esbuild-server.mjs | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
(limited to 'esbuild-server.mjs')
diff --git a/esbuild-server.mjs b/esbuild-server.mjs
index 51d953d..b897a09 100644
--- a/esbuild-server.mjs
+++ b/esbuild-server.mjs
@@ -125,17 +125,17 @@ const resolveImportedSvg = {
build.onLoad({ filter: /\.svg$/ }, async (args) => {
const document = (await JSDOM.fromFile(args.path)).window.document;
const externalResourceUseEls = Array.from(document.querySelectorAll('use[href*=".svg"'));
- const readFiles = {};
const files = [...new Set([...externalResourceUseEls.map(el =>
el.getAttributeNS(null, 'href').match(/.+\.svg/).at(0)
)])];
- await Promise.all(files.map((filename) =>
- JSDOM
- .fromFile(path.join(path.dirname(args.path), filename))
- .then(dom => readFiles[filename] = dom.window.document)
- ));
+ const readFiles = await Promise.all(
+ files.map(filename => JSDOM.fromFile(path.join(path.dirname(args.path), filename)))
+ ).then(result => result.reduce((acc, dom, index) => {
+ acc[files[index]] = dom.window.document;
+ return acc;
+ }, {}));
const refs = {};
--
cgit v1.2.3