Jon Erling Hustadnes
2026-01-05 5208a96a3768e92d203e3d2c6fd3a79e21be64be
fix(build.ts/startWatching): add option `awaitWriteFinish` with 250ms threshold (#2235)

This makes it so that the events are not fired until the file have stabilized.
This also changes the order of the fired events.
A move / rename now results in `delete` then `add` rather than the other way around.

From `chokidar` README - https://github.com/paulmillr/chokidar?tab=readme-ov-file#performance:
```
awaitWriteFinish.stabilityThreshold (default: 2000). Amount of time in milliseconds for a file size to remain constant before emitting its event.
```

Fixes #2232
1 files modified
1 ■■■■ changed files
quartz/build.ts 1 ●●●● patch | view | raw | blame | history
quartz/build.ts
@@ -143,6 +143,7 @@
  }
  const watcher = chokidar.watch(".", {
    awaitWriteFinish: { stabilityThreshold: 250 },
    persistent: true,
    cwd: argv.directory,
    ignoreInitial: true,