nodejs / readable-stream

Node-core streams for userland
https://nodejs.org/api/stream.html
Other
1.03k stars 229 forks source link

Update to Node 18.0.0 #471

Closed ShogunPanda closed 2 years ago

ShogunPanda commented 2 years ago

Summary:

  1. Rewrite the build system reducing dependency.
  2. Drop compatiblity for Node < 12.0 and Internet Explorer. Only active Node versions and ever-green browsers are supported.
  3. Dropped most dependency (note: once we decide to drop support for Node 12 and Node 14, no dependency besides object-inspect, which is for browsers, will be needed)
  4. Updated the exported stream API to Node 18.0.0.
benjamingr commented 2 years ago

This is great, awesome work - thanks 🙏

(Not LGTMing since I didn't review fully and Matteo is already looking whom I trust to approve once issues have been resolved)

mcollina commented 2 years ago

If supporting Node v12 does not add much of a problem, then it would be great!

ShogunPanda commented 2 years ago

I'll try and see what happens. Will keep you posted!

mcollina commented 2 years ago

Good work! I see CI is passing.. minus Safari. Do you know why?

ShogunPanda commented 2 years ago

There is a bug reported in airtap-sauce (https://github.com/airtap/sauce/issues/11).

I was thinking: since we can use playwright for all browsers and all platforms (thanks to GH actions matrix), do we still need sauce?

Anyway, tomorrow I'll focus on Node 12 compatibility (I think I just have to transpile ?. and ??) and this should be good to go.

mcollina commented 2 years ago

playwright would be awesome

ShogunPanda commented 2 years ago

@mcollina I was able to accomplish both: Node 12 is now supported and SauceLabs has been dropped in favor of playwright.