{"id":4548,"url":"https://github.com/thejmazz/awesome-nodejs-streams","name":"awesome-nodejs-streams","description":"Awesome resources and modules for Streams in Node","projects_count":61,"last_synced_at":"2026-07-22T03:00:36.089Z","repository":{"id":54545709,"uuid":"62085168","full_name":"thejmazz/awesome-nodejs-streams","owner":"thejmazz","description":"Awesome resources and modules for Streams in Node","archived":false,"fork":false,"pushed_at":"2021-02-11T14:27:08.000Z","size":12,"stargazers_count":182,"open_issues_count":2,"forks_count":13,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-05-30T07:03:10.158Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thejmazz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-27T20:17:36.000Z","updated_at":"2025-11-19T08:49:34.000Z","dependencies_parsed_at":"2022-08-13T19:20:11.655Z","dependency_job_id":null,"html_url":"https://github.com/thejmazz/awesome-nodejs-streams","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thejmazz/awesome-nodejs-streams","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejmazz%2Fawesome-nodejs-streams","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejmazz%2Fawesome-nodejs-streams/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejmazz%2Fawesome-nodejs-streams/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejmazz%2Fawesome-nodejs-streams/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thejmazz","download_url":"https://codeload.github.com/thejmazz/awesome-nodejs-streams/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thejmazz%2Fawesome-nodejs-streams/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34381762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"}},"created_at":"2024-01-06T20:24:58.444Z","updated_at":"2026-07-22T03:00:36.090Z","primary_language":"JavaScript","list_of_lists":false,"displayable":true,"categories":["Modules","Articles","Talks","Interactive"],"sub_categories":[],"readme":"# awesome-nodejs-streams [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\nAwesome resources and modules for Streams in Node\n\n## Articles\n\n- [Why I don't use Node's core 'stream' module](https://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html)\n- [stream-handbook](https://github.com/substack/stream-handbook)\n- [The Definitive Guide to Object Streams in Node.js](https://community.risingstack.com/the-definitive-guide-to-object-streams-in-node-js)\n\n## Interactive\n\n- [stream-adventure](https://github.com/workshopper/stream-adventure)\n\n## Talks\n\n- [James Halliday - Harnessing The Awesome Power Of Streams](https://www.youtube.com/watch?v=lQAV3bPOYHo)\n\n## Modules\n\n- [lewisdiamond/stromjs](https://github.com/lewisdiamond/stromjs) - Dependency-free stream utils. The Lodash of streams.\n- [almost/through2-concurrent](https://github.com/almost/through2-concurrent) - Simple Node.JS stream (streams2) Transform that runs the transform functions concurrently (with a set max concurrency)\n- [bendrucker/stream-to-promise](https://github.com/bendrucker/stream-to-promise) - Convert streams (readable or writable) to promises\n- [grncdr/merge-stream](https://github.com/grncdr/merge-stream) - Merge multiple streams into one interleaved stream\n- [dominictarr/event-stream](https://github.com/dominictarr/event-stream) - EventStream is like functional programming meets IO\n- [dominictarr/map-stream](https://github.com/dominictarr/map-stream) - refactored out of event-stream\n- [dominictarr/JSONStream](https://github.com/dominictarr/JSONStream) - streaming JSON.parse and stringify\n- [dominictarr/split](https://github.com/dominictarr/split) - Break up a stream and reassemble it so that each line is a chunk. matcher may be a String, or a RegExp\n- [dominictarr/stream-combiner](https://github.com/dominictarr/stream-combiner) - Turn a pipeline into a single stream. Combine returns a stream that writes to the first stream and reads from the last stream\n- [dominictarr/stream-spec](https://github.com/dominictarr/stream-spec) - executable specification for Stream (make testing streams easy)\n- [feross/multistream](https://github.com/feross/multistream) - A stream that emits multiple other streams one after another (streams2)\n- [floatdrop/stream-assert](https://github.com/floatdrop/stream-assert) - Assertion library for streams\n- [freeall/progress-stream](https://github.com/freeall/progress-stream) - Read the progress of a stream\n- [gagle/node-streamifier](https://github.com/gagle/node-streamifier) - Converts a Buffer/String to a readable stream.\n- [hughsk/from2](https://github.com/hughsk/from2) - Convenience wrapper for ReadableStream, inspired by through2\n- [jahewson/node-byline](https://github.com/jahewson/node-byline) - Line-by-line Stream reader\n- [kikobeats/stream-callback](https://github.com/kikobeats/stream-callback) – Turns a stream into a callback.\n- [mafintosh/duplexify](https://github.com/mafintosh/duplexify) - Turn a writeable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input\n- [mafintosh/end-of-stream](https://github.com/mafintosh/end-of-stream) - Call a callback when a readable/writable/duplex stream has completed or failed\n- [mafintosh/flush-write-stream](https://github.com/mafintosh/flush-write-stream) - A write stream constructor that supports a flush function that is called before finish is emitted\n- [mafintosh/peek-stream](https://github.com/mafintosh/peek-stream) - Transform stream that lets you peek the first line before deciding how to parse it\n- [mafintosh/pump](https://github.com/mafintosh/pump) - pipe streams together and close all of them if one of them closes\n- [mafintosh/pumpify](https://github.com/) - Combine an array of streams into a single duplex stream using pump and duplexify\n- [mafintosh/multi-read-stream](https://github.com/mafintosh/multi-read-stream) - Readable stream that reads from multiple readable streams at the same time\n- [mafintosh/multi-write-stream](https://github.com/mafintosh/multi-write-stream) - Create a writable stream that writes to multiple other writeable streams\n- [mafintosh/stream-each](https://github.com/mafintosh/stream-each) - Iterate all the data in a stream\n- [mafintosh/stream-shift](https://github.com/mafintosh/stream-shift) - Returns the next buffer/object in a stream's readable queue\n- [mafintosh/tar-stream](https://github.com/mafintosh/tar-stream) - tar-stream is a streaming tar parser and generator\n- [maxogden/binary-split](https://github.com/maxogden/binary-split) - A fast newline (or any delimiter) splitter stream\n- [maxogden/concat-stream](https://github.com/maxogden/concat-stream) - writable stream that concatenates strings or data and calls a callback with the result\n- [maxogden/mississippi](https://github.com/maxogden/mississippi) - A collection of useful stream utility modules for writing better code using streams\n- [maxogden/ndjson](https://github.com/maxogden/ndjson) - streaming line delimited json parser + serializer](https://github.com/mcollina/cloneable-readable)\n- [mcollina/cloneable-readable](https://github.com/mcollina/cloneable-readable) - Clone a Readable stream, safely \n- [mcollina/split2](https://github.com/mcollina/split2) - Split streams3 style\n- [nodejs/readable-stream](https://github.com/nodejs/readable-stream) - Node-core streams for userland\n- [npm/fstream](https://github.com/npm/fstream) - Advanced FS Streaming for Node\n- [parshap/node-stream-reduce](https://github.com/parshap/node-stream-reduce) - Reduce stream data to a single value\n- [raynos/duplexer](https://github.com/raynos/duplexer) - Creates a duplex stream\n- [rvagg/isstream](https://github.com/rvagg/isstream) - Determine if an object is a Node.js Stream\n- [rvagg/through2](https://github.com/rvagg/through2) - Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise\n- [samcday/node-stream-buffer](https://github.com/samcday/node-stream-buffer) - Readable and Writable Streams that use backing Buffers\n- [schnittstabil/stream-from-promise](https://github.com/schnittstabil/stream-from-promise) - Create streams from promises\n- [sindresorhus/first-chunk-stream](https://github.com/sindresorhus/first-chunk-stream) - Buffer and transform the n first bytes of a stream\n- [sindresorhus/get-stream](https://github.com/sindresorhus/get-stream) - Get a stream as a string, buffer, or array\n- [sindresorhus/into-stream](https://github.com/sindresorhus/into-stream) - Convert a buffer/string/array/object into a stream\n- [sindresorhus/is-stream](https://github.com/sindresorhus/is-stream) - Check if something is a Node.js stream\n- [spion/promise-streams](https://github.com/spion/promise-streams) - A collection of node.js streams that work well with promises (through, map, reduce, etc...)\n- [stream-utils/destroy](https://github.com/stream-utils/destroy) - destroy a stream if possible\n- [suarasaur/exec-stream](https://github.com/suarasaur/exec-stream) - stream to a child process \n- [substack/emit-stream](https://github.com/substack/emit-stream) - turn event emitters into streams and streams into event emitters\n- [substack/oppressor](https://github.com/substack/oppressor) - streaming http compression response negotiator\n- [substack/stream-combiner2](https://github.com/substack/stream-combiner2) - stream-combiner for streams3\n- [substack/resumer](https://github.com/substack/resumer) - a through stream that starts paused and resumes on the next tick\n- [teambition/merge2](https://github.com/teambition/merge2) - Merge multiple streams into one stream in sequence or parallel\n- [uhop/stream-json](https://github.com/uhop/stream-json) - stream-json is a collection of node.js stream components for creating custom standard-compliant JSON processors, which requires a minimal memory footprint. It can parse JSON files far exceeding available memory. Even individual primitive data items (keys, strings, and numbers) can be streamed piece-wise. Streaming SAX-inspired event-based API is included as well.\n- [caolan/highland](https://highlandjs.org/#) - The high-level streams library for Node.js and the browser.\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/thejmazz%2Fawesome-nodejs-streams/projects"}