A readable file stream for files that are growing.
Switch branches/tags
Clone or download
Latest commit 55707b5 Dec 29, 2015
Failed to load latest commit information.
lib Omitted unnecessary end: Infinity from stream Dec 29, 2015
test Remove microtest dep for now Apr 5, 2011
.gitignore Initial version Apr 5, 2011
Readme.md Updated docs Dec 29, 2015
index.js Initial version Apr 5, 2011
package.json version 0.1.3 Jul 4, 2011




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 = GrowingFile.open('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 = GrowingFile.open(path, options);

Where options defaults to:

    timeout: 3000,
    interval: 100,
    startFromEnd: false

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.
  • startFromEnd starts the read stream from the currently last byte.


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