Skip to main content
Bun implements the node:fs module, including the fs.watch function for listening for file system changes. The following code listens for changes to files in the current directory. By default the watch is shallow: changes to files in subdirectories are not detected.

To listen for changes in subdirectories, pass the recursive: true option to fs.watch.

With the node:fs/promises module, you can listen for changes with for await...of instead of a callback.

To stop listening for changes, call watcher.close(). It’s common to do this when the process receives a SIGINT signal, such as when the user presses Ctrl-C.

See the Node.js documentation for fs.watch.