Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Streams

Open
#2 0 comments 0 reactions 1 assignee View on GitHub

@CrabDude is already working on this.

Since May 5, 2015.

Assessment

This issue has not been assessed yet.

Description

help wanted
  1. Break the below into coherent sections
  2. Explain unix pipes and their corollary with node.js streams (explaining the concept of node.js streams as well)
  3. Explain the need for streams (memory pressure, decreased latency, CPU amortization & convenience)
  4. Lead with .pipe examples
    • Emphasize that source streams can be piped to multiple destination streams
    • Show example of piping from multiple source streams (readable.pipe(writable, {end: false}))
  5. Cover the basics: .read(), .write(), .pause(), .resume & events: 'data', 'close', 'error'
  6. Mention briefly push vs pull-based streams and how Streams 2/3 uses pull streams
  7. Mention how back-pressure is handled
  8. Briefly explain buffers, link to a reference (docs or blog post or guide), and show String(buffer)
  9. Show 2 simple as possible examples of consuming (read: piping) each of the 4 stream types. You should use the most common examples e.g., req/res, through, fs read/write.
  10. Provide a common use case (e.g., A common type of duplex stream would be a WebSocket).
  11. Strongly recommend working through the stream-adventure nodeschool.io workshop and provide a screen shot of the stream-adventure exercise selection menu.

Advanced section:

  1. Explain object mode briefly, provide minimalist example and provide link to a more comprehensive explanation
  2. Provide code samples on how to create your own streams (i.e., .push, _read, _write & _transform) and additional links
  3. Show of JSON streaming example & explain !!LOUDLY!! how JSON.parse/stringify are the #1 cause of CPU blocking in node.js

The stream handbook is nice, but it's too verbose and needs more structure. In general the examples are good, so use them.

What success looks like: Succinctness and clarity. Less is more.
Reference Wikis: Authentication & Authorization, Setup

Open separate issues for required links to community sources if you're having trouble finding any.

Please assign to yourself before working on this.
/cc @NinjaSudo @philster @azoff @DiyahM

Dominant language
No language data
Stars
74
Forks
18
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from codepath/nodejs_guides

All issues in codepath/nodejs_guides

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.