Web Dev Solutions

Catalin Mititiuc

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(-) 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