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.

Refer to API > Binary data > Typed arrays for more information on working with Uint8Array and other binary data formats in Bun.