caolan / caolan/highland

WHATWG Streams compatibility

Open
#460 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3.4k
Forks
145
PR merge metrics
No merged PRs in 30d

Description

Hey folks,

WHATWG seems to have finished a the browser streams spec along with a [working implementation](https://github.com/whatwg/streams). There are some minor differences between `node Stream`s and `web Stream`s, like [these](https://github.com/nodejs/readable-stream/issues/97#issuecomment-69569641).

It should be trivial to wrap the latter around to have similar APIs, while WHATWG and Node battle it out.

It would then allow us to NOT bundle the node streams module through browserify into the library. We can then ask browser users to bring their own stream polyfill (which in time would become unnecessary). This would greatly reduce library footprint. This might also make splitting into modules ala #3 a lot easier, @caolan

If any of this sound good, happy to PR.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the WHATWG Streams working implementation and the linked differences between Node streams and web streams, then compare Highland's current stream dependency and browser build. Done means browser users can provide their own stream polyfill, the Node streams module is no longer bundled, and the existing API remains compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
backend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.