Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Node.js
  3. readable-stream

readable-stream

NOASSERTIONJavaScriptv4.7.0

A mirror of Node.js core streams for userland, providing a stable streams API across Node.js versions and browsers.

Visit WebsiteGitHubGitHub
1.0k stars237 forks0 contributors

What is readable-stream?

readable-stream is a standalone npm package that provides the Node.js core streams API for use in userland libraries and applications. It mirrors the streams implementation from specific Node.js releases, offering a stable and versioned streams API that works consistently across different Node.js versions and browsers. This solves the problem of streams API incompatibility between Node.js versions and environments.

Target Audience

JavaScript developers and library authors who need a stable, versioned streams API that works consistently across Node.js versions and browser environments. It's particularly useful for those building libraries or applications that must maintain compatibility with multiple Node.js versions.

Value Proposition

Developers choose readable-stream because it provides a stable, versioned streams API decoupled from Node.js release cycles, ensuring compatibility across environments. Its direct mirroring of Node.js core streams and maintenance by the Node.js Streams Working Group guarantee reliability and alignment with official Node.js streams evolution.

Overview

Node-core streams for userland

Use Cases

Best For

  • Building libraries that require stable streams API across Node.js versions
  • Ensuring streams compatibility in applications supporting multiple Node.js versions
  • Using Node.js streams API in browser environments with bundlers
  • Maintaining long-term streams compatibility without breaking changes
  • Developing cross-platform JavaScript applications with consistent streams behavior
  • Creating tools that need reliable streams implementation independent of Node.js updates

Not Ideal For

  • Projects locked to a single Node.js version where streams API compatibility isn't a concern
  • Applications requiring the absolute latest Node.js streams features, as readable-stream mirrors specific releases and may lag behind core updates
  • Environments where minimizing dependencies is critical, as readable-stream adds an extra package compared to using Node.js native stream module
  • Server-side rendering setups aiming for zero JavaScript or minimal bundle size, since readable-stream increases frontend payload when used in browsers

Pros & Cons

Pros

Stable Versioned API

Mirrors Node.js core streams with semantic versioning from v2.0.0, preventing breaking changes across Node.js versions and ensuring predictable upgrades.

Cross-Platform Compatibility

Works in browsers without polyfills since v4.2.0, enabling consistent streams usage in Node.js and browser environments with bundlers like webpack.

Core Interface Match

Provides Readable, Writable, Transform, Duplex, pipeline, and finished classes identical to Node.js stream module, ensuring developer familiarity and ease of adoption.

Official Maintenance

Maintained by the Node.js Streams Working Group, guaranteeing alignment with Node.js evolution, reliability, and long-term support for the ecosystem.

Cons

Delayed Updates

Since it mirrors specific Node.js releases (e.g., v4.x.x is from Node 18), new features and fixes in Node.js core streams are not immediately available, potentially lagging behind.

Additional Dependency Overhead

Adds an extra package to manage, which can be redundant for projects using a fixed Node.js version without cross-version or browser compatibility needs.

Version Management Complexity

With versions tied to Node.js releases, developers must carefully choose compatible versions, and the README notes breaking changes aggregated from multiple Node.js versions, adding upgrade complexity.

Frequently Asked Questions

Quick Stats

Stars1,045
Forks237
Contributors0
Open Issues15
Last commit1 year ago
CreatedSince 2012

Tags

#npm-package#streams-api#nodejs#node#cross-platform#browser-compatibility

Built With

N
Node.js

Links & Resources

Website

Included in

Node.js65.5k
Auto-fetched 6 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub