node package manager




Sometimes you need to read from a file that is still being written to by another process. This library provides a readable stream that keeps reading until the file has been idle for a certain time.

Current status

This module is still fresh. Try it while it's hot.


npm install growing-file


var file ='my-growing-file.dat');
file.pipe(<some writeable stream>);

Note: The file does not have to exist yet when invoking this method. An 'error' event is emitted if it is not created within the configured timeout.


GrowingFile.create accepts an options array.

var file =, options);

Where options defaults to:

  timeout: 3000,
  interval: 100,

Time values are given in ms.

  • timeout determines after what time a file is considered to be done growing.
  • interval specifies the frequency at which the file is being polled for changes.


Written by Felix Geisendörfer, licensed under the MIT license.