Jacky Zhao
2023-08-17 0998bc355e6425e6b2bdf3d2da7124aa7b63b2a2
quartz/build.ts
@@ -77,7 +77,7 @@
  }
  const initialSlugs = ctx.allSlugs
  let timeoutId: ReturnType<typeof setTimeout> | null = null
  let timeoutIds: Set<ReturnType<typeof setTimeout>> = new Set()
  let toRebuild: Set<FilePath> = new Set()
  let toRemove: Set<FilePath> = new Set()
  let trackedAssets: Set<FilePath> = new Set()
@@ -106,12 +106,11 @@
      toRemove.add(filePath)
    }
    if (timeoutId) {
      clearTimeout(timeoutId)
    }
    timeoutIds.forEach((id) => clearTimeout(id))
    // debounce rebuilds every 250ms
    timeoutId = setTimeout(async () => {
    timeoutIds.add(
      setTimeout(async () => {
      const perf = new PerfTimer()
      console.log(chalk.yellow("Detected change, rebuilding..."))
      try {
@@ -144,7 +143,8 @@
      clientRefresh()
      toRebuild.clear()
      toRemove.clear()
    }, 250)
      }, 250),
    )
  }
  const watcher = chokidar.watch(".", {