Socket
Socket
Sign inDemoInstall

@uppy/fs-tail-stream

Package Overview
Dependencies
Maintainers
2
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uppy/fs-tail-stream

fs.createReadStream that supports ongoing tailing of files


Version published
Weekly downloads
58
Maintainers
2
Weekly downloads
 
Created
Source

@uppy/fs-tail-stream

This is a fork of eugeneware/fs-tail-stream that fixes an encoding issue. Switch back to the original when https://github.com/eugeneware/fs-tail-stream/pull/2 is merged and released.

fs.createReadStream that supports ongoing tailing of files

build status

The built in fs.createReadStream function stops streaming once the file has come to an end.

If you want to tail the file so that it keeps streaming data when the file grows then you're out of luck.

This module adds a { tail: true } option to the options which will keep streaming data as data is added to the file, or until the .close() method is called on the read stream.

Because this module wraps the underlying fs.createReadStream function all the options work as expected.

Installation

This module is installed via npm:

$ npm install fs-tail-stream

Example Usage

var fst = require('fs-tail-stream');
var fs = require('fs');
var ws = fs.createWriteStream(tmpFile, { flags: 'a' });

// file with the text 'hello' in it
var tmpFile = '/tmp/my-temp-file.txt';

// same parameters as `fs.createReadStream`, but pass through `tail: true`
fst.createReadStream(tmpFile, { encoding: 'utf8', start: 80, tail: true })
  .on('sync', function () {
    // called when at the end of the file
    var self = this;
    // write some new data to the file
    ws.write('world', 'utf8', function (err) {
      // stop watching for files, and let the file stream end
      // otherwise the file watching will be indefinite and the process
      // won't' exit
      self.close();
    });
  })
  // will print out both the existing contents of the file, plus the
  // newly added data
  .on('data', console.log);
  // prints out:
  //   hello
  //   world

Keywords

FAQs

Package last updated on 16 Apr 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc