{"id":13451897,"url":"https://github.com/nodejs/readable-stream","last_synced_at":"2025-05-14T22:05:41.179Z","repository":{"id":4081329,"uuid":"5187096","full_name":"nodejs/readable-stream","owner":"nodejs","description":"Node-core streams for userland","archived":false,"fork":false,"pushed_at":"2025-01-07T10:06:21.000Z","size":2360,"stargazers_count":1038,"open_issues_count":16,"forks_count":231,"subscribers_count":58,"default_branch":"main","last_synced_at":"2025-04-22T17:04:32.236Z","etag":null,"topics":["node","nodejs"],"latest_commit_sha":null,"homepage":"https://nodejs.org/api/stream.html","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nodejs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"nodejs","open_collective":"nodejs"}},"created_at":"2012-07-26T02:52:52.000Z","updated_at":"2025-04-04T02:17:06.000Z","dependencies_parsed_at":"2025-04-22T16:56:39.624Z","dependency_job_id":"fecfb53d-3c3b-4cfc-9659-5e41569674fb","html_url":"https://github.com/nodejs/readable-stream","commit_stats":{"total_commits":454,"total_committers":56,"mean_commits":8.107142857142858,"dds":0.762114537444934,"last_synced_commit":"a2e9aedf4aeee4a5e4d8efcb175edb67e2817eaa"},"previous_names":[],"tags_count":104,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodejs%2Freadable-stream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodejs%2Freadable-stream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodejs%2Freadable-stream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodejs%2Freadable-stream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodejs","download_url":"https://codeload.github.com/nodejs/readable-stream/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251536717,"owners_count":21605201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["node","nodejs"],"created_at":"2024-07-31T07:01:06.210Z","updated_at":"2025-05-07T08:35:42.467Z","avatar_url":"https://github.com/nodejs.png","language":"JavaScript","readme":"# readable-stream\n\n**_Node.js core streams for userland_**\n\n[![npm status](https://img.shields.io/npm/v/readable-stream.svg)](https://npm.im/readable-stream)\n[![node](https://img.shields.io/node/v/readable-stream.svg)](https://www.npmjs.org/package/readable-stream)\n[![Node.js Build](https://github.com/nodejs/readable-stream/workflows/Node.js/badge.svg)](https://github.com/nodejs/readable-stream/actions?query=workflow%3ANode.js)\n[![Browsers Build](https://github.com/nodejs/readable-stream/workflows/Browsers/badge.svg)](https://github.com/nodejs/readable-stream/actions?query=workflow%3ABrowsers)\n\n```bash\nnpm install readable-stream\n```\n\nThis package is a mirror of the streams implementations in Node.js 18.19.0.\n\nFull documentation may be found on the [Node.js website](https://nodejs.org/dist/v18.19.0/docs/api/stream.html).\n\nIf you want to guarantee a stable streams base, regardless of what version of\nNode 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](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).\n\nAs of version 2.0.0 **readable-stream** uses semantic versioning.\n\n## Version 4.x.x\n\nv4.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.\nThe breaking changes introduced by v4 are composed of the combined breaking changes in:\n* [Node v12](https://nodejs.org/en/blog/release/v12.0.0/)\n* [Node v13](https://nodejs.org/en/blog/release/v13.0.0/)\n* [Node v14](https://nodejs.org/en/blog/release/v14.0.0/)\n* [Node v15](https://nodejs.org/en/blog/release/v15.0.0/)\n* [Node v16](https://nodejs.org/en/blog/release/v16.0.0/)\n* [Node v17](https://nodejs.org/en/blog/release/v17.0.0/)\n* [Node v18](https://nodejs.org/en/blog/release/v18.0.0/)\n\nThis also includes _many_ new features.\n\n## Version 3.x.x\n\nv3.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](https://nodejs.org/en/blog/release/v9.0.0/) and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows:\n\n1. Error codes: https://github.com/nodejs/node/pull/13310,\n   https://github.com/nodejs/node/pull/13291,\n   https://github.com/nodejs/node/pull/16589,\n   https://github.com/nodejs/node/pull/15042,\n   https://github.com/nodejs/node/pull/15665,\n   https://github.com/nodejs/readable-stream/pull/344\n2. 'readable' have precedence over flowing\n   https://github.com/nodejs/node/pull/18994\n3. make virtual methods errors consistent\n   https://github.com/nodejs/node/pull/18813\n4. updated streams error handling\n   https://github.com/nodejs/node/pull/18438\n5. writable.end should return this.\n   https://github.com/nodejs/node/pull/18780\n6. readable continues to read when push('')\n   https://github.com/nodejs/node/pull/18211\n7. add custom inspect to BufferList\n   https://github.com/nodejs/node/pull/17907\n8. always defer 'readable' with nextTick\n   https://github.com/nodejs/node/pull/17979\n\n## Version 2.x.x\n\nv2.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 \u0026 11.\n\n# Usage\n\nYou can swap your `require('stream')` with `require('readable-stream')`\nwithout any changes, if you are just using one of the main classes and\nfunctions.\n\n```js\nconst {\n  Readable,\n  Writable,\n  Transform,\n  Duplex,\n  pipeline,\n  finished\n} = require('readable-stream')\n```\n\nNote that `require('stream')` will return `Stream`, while\n`require('readable-stream')` will return `Readable`. We discourage using\nwhatever is exported directly, but rather use one of the properties as\nshown in the example above.\n\n## Usage In Browsers\n\nYou will need a bundler like [`browserify`](https://github.com/browserify/browserify#readme), [`webpack`](https://webpack.js.org/), [`parcel`](https://github.com/parcel-bundler/parcel#readme) or similar. Polyfills are no longer required since version 4.2.0.\n\n# Streams Working Group\n\n`readable-stream` is maintained by the Streams Working Group, which\noversees the development and maintenance of the Streams API within\nNode.js. The responsibilities of the Streams Working Group include:\n\n- Addressing stream issues on the Node.js issue tracker.\n- Authoring and editing stream documentation within the Node.js project.\n- Reviewing changes to stream subclasses within the Node.js project.\n- Redirecting changes to streams from the Node.js project to this\n  project.\n- Assisting in the implementation of stream providers within Node.js.\n- Recommending versions of `readable-stream` to be included in Node.js.\n- Messaging about the future of streams to give the community advance\n  notice of changes.\n\n\u003ca name=\"members\"\u003e\u003c/a\u003e\n\n## Team Members\n\n- **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) \u0026lt;mathiasbuus@gmail.com\u0026gt;\n- **Matteo Collina** ([@mcollina](https://github.com/mcollina)) \u0026lt;matteo.collina@gmail.com\u0026gt;\n  - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E\n- **Robert Nagy** ([@ronag](https://github.com/ronag)) \u0026lt;ronagy@icloud.com\u0026gt;\n- **Vincent Weevers** ([@vweevers](https://github.com/vweevers)) \u0026lt;mail@vincentweevers.nl\u0026gt;\n","funding_links":["https://github.com/sponsors/nodejs","https://opencollective.com/nodejs"],"categories":["Packages","JavaScript","Repository","包","目录","Streams","Modules","Playwright"],"sub_categories":["Streams","文件流","流处理","流","nodejs/readable-stream"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodejs%2Freadable-stream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodejs%2Freadable-stream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodejs%2Freadable-stream/lists"}