A mirror of Node.js core streams for userland, providing a stable streams API across Node.js versions and browsers.
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.
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.
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.
Node-core streams for userland
Mirrors Node.js core streams with semantic versioning from v2.0.0, preventing breaking changes across Node.js versions and ensuring predictable upgrades.
Works in browsers without polyfills since v4.2.0, enabling consistent streams usage in Node.js and browser environments with bundlers like webpack.
Provides Readable, Writable, Transform, Duplex, pipeline, and finished classes identical to Node.js stream module, ensuring developer familiarity and ease of adoption.
Maintained by the Node.js Streams Working Group, guaranteeing alignment with Node.js evolution, reliability, and long-term support for the ecosystem.
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.
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.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.