Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Node 18.0.0 #471

Merged
merged 19 commits into from
May 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 0 additions & 18 deletions .airtap.yml

This file was deleted.

17 changes: 0 additions & 17 deletions .babelrc

This file was deleted.

23 changes: 23 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
module.exports = {
parserOptions: {
ecmaVersion: 'latest'
},
extends: ['standard'],
rules: {
/*
This is inserted to make this compatible with prettier.
Once https://github.com/prettier/prettier/issues/3845 and https://github.com/prettier/prettier/issues/3847 are solved this might be not needed any more.
*/
'space-before-function-paren': 0,
curly: [2, 'all']
},
overrides: [
{
files: ['**/*.mjs'],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module'
}
}
]
}
39 changes: 39 additions & 0 deletions .github/workflows/browsers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Browsers

on: [push, pull_request]

jobs:
build:
name: Browsers
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest', 'windows-latest', 'macos-latest']
browser: ['chrome', 'firefox', 'safari', 'edge']
bundler: ['browserify', 'esbuild', 'rollup', 'webpack']
exclude:
- os: ubuntu-latest
browser: safari
- os: windows-latest
browser: safari
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Node.js 16
uses: actions/setup-node@v3
with:
node-version: 16
- name: Restore cached dependencies
uses: actions/cache@v3
with:
path: node_modules
key: node-modules-${{ matrix.os }}-${{ hashFiles('package.json') }}
- name: Install dependencies
run: npm install
- name: Install Browser
run: ./node_modules/.bin/playwright install ${{ fromJSON('{"chrome":"chromium","edge":"msedge","firefox":"firefox","safari":"webkit"}')[matrix.browser] }}
- name: Bundle code
run: npm run test:prepare ${{ matrix.bundler }}
- name: Run Tests on Browsers
run: npm run test:browsers ${{ matrix.browser }} ${{ matrix.bundler }}
32 changes: 32 additions & 0 deletions .github/workflows/bundlers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Bundlers

on: [push, pull_request]

jobs:
build:
name: Bundlers
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [12.x, 14.x, 16.x, 18.x]
bundler: ['browserify', 'esbuild', 'rollup', 'webpack']
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Restore cached dependencies
uses: actions/cache@v3
with:
path: node_modules
key: node-modules-${{ matrix.os }}-${{ hashFiles('package.json') }}
- name: Install dependencies
run: npm install
- name: Bundle code
run: npm run test:prepare ${{ matrix.bundler }}
- name: Run Tests on Browsers
run: npm run test:bundlers ${{ matrix.bundler }}
22 changes: 0 additions & 22 deletions .github/workflows/ci.yml

This file was deleted.

29 changes: 29 additions & 0 deletions .github/workflows/node.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Node.js

on: [push, pull_request]

jobs:
build:
name: Node.js
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [12.x, 14.x, 16.x, 18.x]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Restore cached dependencies
uses: actions/cache@v3
with:
path: node_modules
key: node-modules-${{ hashFiles('package.json') }}
- name: Install dependencies
run: npm install
- name: Run Tests
run: npm run coverage
24 changes: 0 additions & 24 deletions .github/workflows/sauce.yml

This file was deleted.

9 changes: 3 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
coverage/
node_modules/
.zuul.yml
.nyc_output
coverage
node-*.tar.gz
package-lock.json
*.tap
.airtaprc
yarn.lock
tmp/
12 changes: 0 additions & 12 deletions .npmignore

This file was deleted.

57 changes: 22 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
# readable-stream

***Node.js core streams for userland***
**_Node.js core streams for userland_**

[![npm status](http://img.shields.io/npm/v/readable-stream.svg)](https://www.npmjs.org/package/readable-stream)
[![npm status](https://img.shields.io/npm/v/readable-stream.svg)](https://npm.im/readable-stream)
[![node](https://img.shields.io/node/v/readable-stream.svg)](https://www.npmjs.org/package/readable-stream)
![Node.js](https://github.com/nodejs/readable-stream/workflows/Node.js/badge.svg?branch=main)
![Sauce Labs](https://github.com/nodejs/readable-stream/workflows/Sauce%20Labs/badge.svg?branch=main)

[![Sauce Test Status](https://saucelabs.com/browser-matrix/readabe-stream.svg)](https://saucelabs.com/u/readabe-stream)
[![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)
[![Browsers Build](https://github.com/nodejs/readable-stream/workflows/Browsers/badge.svg)](https://github.com/nodejs/readable-stream/actions?query=workflow%3ABrowsers)

```bash
npm install --save readable-stream
```

This package is a mirror of the streams implementations in Node.js.
This package is a mirror of the streams implementations in Node.js 18.0.0.

Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.19.0/docs/api/stream.html).
Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v18.0.0/docs/api/stream.html).

If you want to guarantee a stable streams base, regardless of what version of
Node 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).
Node 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).

As of version 2.0.0 **readable-stream** uses semantic versioning.

Expand Down Expand Up @@ -48,11 +46,8 @@ v3.x.x of `readable-stream` is a cut from Node 10. This version supports Node 6,
https://github.com/nodejs/node/pull/17979

## Version 2.x.x
v2.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 & 11.

### Big Thanks

Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][sauce]
v2.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 & 11.

# Usage

Expand All @@ -61,15 +56,8 @@ without any changes, if you are just using one of the main classes and
functions.

```js
const {
Readable,
Writable,
Transform,
Duplex,
pipeline,
finished
} = require('readable-stream')
````
const { Readable, Writable, Transform, Duplex, pipeline, finished } = require('readable-stream')
```

Note that `require('stream')` will return `Stream`, while
`require('readable-stream')` will return `Readable`. We discourage using
Expand Down Expand Up @@ -106,23 +94,22 @@ module.exports = {
oversees the development and maintenance of the Streams API within
Node.js. The responsibilities of the Streams Working Group include:

* Addressing stream issues on the Node.js issue tracker.
* Authoring and editing stream documentation within the Node.js project.
* Reviewing changes to stream subclasses within the Node.js project.
* Redirecting changes to streams from the Node.js project to this
- Addressing stream issues on the Node.js issue tracker.
- Authoring and editing stream documentation within the Node.js project.
- Reviewing changes to stream subclasses within the Node.js project.
- Redirecting changes to streams from the Node.js project to this
project.
* Assisting in the implementation of stream providers within Node.js.
* Recommending versions of `readable-stream` to be included in Node.js.
* Messaging about the future of streams to give the community advance
- Assisting in the implementation of stream providers within Node.js.
- Recommending versions of `readable-stream` to be included in Node.js.
- Messaging about the future of streams to give the community advance
notice of changes.

<a name="members"></a>

## Team Members

* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;[email protected]&gt;
* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) &lt;[email protected]&gt;
- **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;[email protected]&gt;
- **Matteo Collina** ([@mcollina](https://github.com/mcollina)) &lt;[email protected]&gt;
- Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E
* **Robert Nagy** ([@ronag](https://github.com/ronag)) &lt;[email protected]&gt;
* **Vincent Weevers** ([@vweevers](https://github.com/vweevers)) &lt;[email protected]&gt;

[sauce]: https://saucelabs.com
- **Robert Nagy** ([@ronag](https://github.com/ronag)) &lt;[email protected]&gt;
- **Vincent Weevers** ([@vweevers](https://github.com/vweevers)) &lt;[email protected]&gt;
3 changes: 3 additions & 0 deletions babel.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
plugins: ['@babel/proposal-nullish-coalescing-operator', '@babel/proposal-optional-chaining']
}
1 change: 0 additions & 1 deletion build/.gitignore

This file was deleted.

Loading