1. readable-stream
Node.js Streams, a user-land copy of the stream library from Node.js
readable-stream
Package: readable-stream
Created by: nodejs
Last modified: Wed, 27 Dec 2023 22:00:47 GMT
Version: 4.5.2
License: MIT
Downloads: 628,423,204
Repository: https://github.com/nodejs/readable-stream

Install

npm install readable-stream
yarn add readable-stream

readable-stream

Node.js core streams for userland

npm status
node
Node.js Build
Browsers Build

 npm install readable-stream

This package is a mirror of the streams implementations in Node.js 18.19.0.

Full documentation may be found on the Node.js website.

If you want to guarantee a stable streams base, regardless of what version of
Node you, or the users of your libraries are using, use readable-stream only and avoid the "stream" module in Node-core, for background see this blogpost.

As of version 2.0.0 readable-stream uses semantic versioning.

Version 4.x.x

v4.x.x of readable-stream is a cut from Node 18. This version supports Node 12, 14, 16 and 18, as well as evergreen browsers.
The breaking changes introduced by v4 are composed of the combined breaking changes in:

This also includes many new features.

Version 3.x.x

v3.x.x of readable-stream is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in Node v9 and Node v10, as follows:

  1. Error codes: https://github.com/nodejs/node/pull/13310,
    https://github.com/nodejs/node/pull/13291,
    https://github.com/nodejs/node/pull/16589,
    https://github.com/nodejs/node/pull/15042,
    https://github.com/nodejs/node/pull/15665,
    https://github.com/nodejs/readable-stream/pull/344
  2. 'readable' have precedence over flowing
    https://github.com/nodejs/node/pull/18994
  3. make virtual methods errors consistent
    https://github.com/nodejs/node/pull/18813
  4. updated streams error handling
    https://github.com/nodejs/node/pull/18438
  5. writable.end should return this.
    https://github.com/nodejs/node/pull/18780
  6. readable continues to read when push('')
    https://github.com/nodejs/node/pull/18211
  7. add custom inspect to BufferList
    https://github.com/nodejs/node/pull/17907
  8. always defer 'readable' with nextTick
    https://github.com/nodejs/node/pull/17979

Version 2.x.x

v2.x.x of readable-stream is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11.

Usage

You can swap your require('stream') with require('readable-stream')
without any changes, if you are just using one of the main classes and
functions.

 const {
  Readable,
  Writable,
  Transform,
  Duplex,
  pipeline,
  finished
} = require('readable-stream')

Note that require('stream') will return Stream, while
require('readable-stream') will return Readable. We discourage using
whatever is exported directly, but rather use one of the properties as
shown in the example above.

Usage In Browsers

You will need a bundler like browserify, webpack, parcel or similar. Polyfills are no longer required since version 4.2.0.

Streams Working Group

readable-stream is maintained by the Streams Working Group, which
oversees the development and maintenance of the Streams API within
Node.js. The responsibilities of the Streams Working Group include:

  • Addressing stream issues on the Node.js issue tracker.
  • Authoring and editing stream documentation within the Node.js project.
  • Reviewing changes to stream subclasses within the Node.js project.
  • Redirecting changes to streams from the Node.js project to this
    project.
  • Assisting in the implementation of stream providers within Node.js.
  • Recommending versions of readable-stream to be included in Node.js.
  • Messaging about the future of streams to give the community advance
    notice of changes.

Team Members

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code