From 226891b9b1630c90835d1bc1a239c2ebbb5c9ff1 Mon Sep 17 00:00:00 2001
From: kabirgh <15871468+kabirgh@users.noreply.github.com>
Date: Sun, 11 Feb 2024 20:20:44 +0000
Subject: [PATCH] fix(fast rebuild): call only required emitters, don't always copy assets (#845)

---
 quartz/plugins/emitters/assets.ts |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/quartz/plugins/emitters/assets.ts b/quartz/plugins/emitters/assets.ts
index 379cd5b..036b27d 100644
--- a/quartz/plugins/emitters/assets.ts
+++ b/quartz/plugins/emitters/assets.ts
@@ -4,6 +4,13 @@
 import fs from "fs"
 import { glob } from "../../util/glob"
 import DepGraph from "../../depgraph"
+import { Argv } from "../../util/ctx"
+import { QuartzConfig } from "../../cfg"
+
+const filesToCopy = async (argv: Argv, cfg: QuartzConfig) => {
+  // glob all non MD files in content folder and copy it over
+  return await glob("**", argv.directory, ["**/*.md", ...cfg.configuration.ignorePatterns])
+}
 
 export const Assets: QuartzEmitterPlugin = () => {
   return {
@@ -15,7 +22,7 @@
       const { argv, cfg } = ctx
       const graph = new DepGraph<FilePath>()
 
-      const fps = await glob("**", argv.directory, ["**/*.md", ...cfg.configuration.ignorePatterns])
+      const fps = await filesToCopy(argv, cfg)
 
       for (const fp of fps) {
         const ext = path.extname(fp)
@@ -30,9 +37,8 @@
       return graph
     },
     async emit({ argv, cfg }, _content, _resources): Promise<FilePath[]> {
-      // glob all non MD/MDX/HTML files in content folder and copy it over
       const assetsPath = argv.output
-      const fps = await glob("**", argv.directory, ["**/*.md", ...cfg.configuration.ignorePatterns])
+      const fps = await filesToCopy(argv, cfg)
       const res: FilePath[] = []
       for (const fp of fps) {
         const ext = path.extname(fp)

--
Gitblit v1.10.0