From fbb452385325d4418ce53e61178fe2494255caf5 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Fri, 14 Mar 2025 22:08:23 +0000
Subject: [PATCH] fix(folder): use memoized trie instead of handrolled path solution (closes #1767)

---
 quartz/plugins/emitters/assets.ts |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/quartz/plugins/emitters/assets.ts b/quartz/plugins/emitters/assets.ts
index bb85080..120d168 100644
--- a/quartz/plugins/emitters/assets.ts
+++ b/quartz/plugins/emitters/assets.ts
@@ -33,10 +33,9 @@
 
       return graph
     },
-    async emit({ argv, cfg }, _content, _resources): Promise<FilePath[]> {
+    async *emit({ argv, cfg }, _content, _resources) {
       const assetsPath = argv.output
       const fps = await filesToCopy(argv, cfg)
-      const res: FilePath[] = []
       for (const fp of fps) {
         const ext = path.extname(fp)
         const src = joinSegments(argv.directory, fp) as FilePath
@@ -46,10 +45,8 @@
         const dir = path.dirname(dest) as FilePath
         await fs.promises.mkdir(dir, { recursive: true }) // ensure dir exists
         await fs.promises.copyFile(src, dest)
-        res.push(dest)
+        yield dest
       }
-
-      return res
     },
   }
 }

--
Gitblit v1.10.0