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

v16.12.0 proposal #40504

Merged
merged 60 commits into from Oct 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
1ef2cf8
doc: anchor link parity between markdown and html-generated docs
foxxyz Jul 5, 2021
3743406
esm: consolidate ESM loader hooks
JakobJingleheimer Aug 25, 2021
5f3f3a5
v8: remove --harmony-top-level-await
GeoffreyBooth Sep 27, 2021
a8926d1
crypto: remove incorrect constructor invocation
gc Oct 4, 2021
d1d9f2d
doc: deprecate (doc-only) http abort related
dr-js Jan 18, 2021
f848553
doc: assign missing deprecation number
targos Oct 5, 2021
3b3aaa0
doc: fix typo in ESM example
tniessen Oct 1, 2021
5b074af
doc: fix typo in esm.md
MasonM Oct 1, 2021
71a94aa
doc: correct ESM load hook table header
JakobJingleheimer Sep 27, 2021
2d409ed
dns: refactor and use validators
VoltrexKeyva Sep 6, 2021
4116b6c
vm: add support for import assertions in dynamic imports
aduh95 Sep 5, 2021
38d8138
doc: add link to core promises tracking issue
mhdawson Oct 6, 2021
7e02124
dgram: add `nread` assertion to `UDPWrap::OnRecv`
RaisinTen Oct 3, 2021
6c091c7
doc: improve phrasing in fs.md
warlock1996 Sep 29, 2021
c3a744f
tools: warn about duplicates when generating AUTHORS file
Trott Oct 3, 2021
5668182
meta: use .mailmap to consolidate AUTHORS entries for ide
Trott Oct 7, 2021
fb7afb9
doc: format doc/guides using format-md task
Trott Oct 7, 2021
13d6a56
test: improve test coverage of `fs.ReadStream` with `FileHandle`
aduh95 Sep 6, 2021
7f50313
meta: update label-pr-config
Mesteery Sep 23, 2021
d8a36ee
test: fix "test/common/debugger" identify async function
gdccwxx Oct 6, 2021
07dae7f
test: replace .then chains with await
gdccwxx Oct 6, 2021
641b1bb
test: add test for readStream.path when fd is specified
Ayase-252 Oct 7, 2021
168020e
lib: refactor to use let
gdccwxx Oct 7, 2021
1224817
meta: consolidate AUTHORS entry for thw0rted
Trott Oct 9, 2021
2de57ed
build: make scripts in gyp run with right python
zcbenz Aug 11, 2021
6f6b99c
test: fix typos in whatwg-webstreams explanations
tniessen Oct 9, 2021
65b51d0
typings: fix declaration of primordials
targos Sep 26, 2021
c3a7a0b
typings: define types for timers binding
targos Sep 26, 2021
ca9a854
typings: add missing types to options and util bindings
targos Sep 26, 2021
7733b5e
typings: define types for os binding
targos Sep 26, 2021
93a48e0
doc: fix typos in n-api docs
igncp Oct 10, 2021
fff3135
meta: update AUTHORS
nodejs-github-bot Oct 10, 2021
93cecb4
meta: consolidate duplicate AUTHORS entries for hassaanp
Trott Oct 9, 2021
6f77d1a
doc: fix asyncLocalStorage.run() description
elegantcoder Oct 8, 2021
857af2b
src: add missing initialization
mhdawson Oct 8, 2021
91c3bf6
deps: upgrade Corepack to 0.10
arcanis Oct 8, 2021
dca5ac1
deps: suppress zlib compiler warnings
danbev Oct 6, 2021
5eb9402
doc: fix missing variable in deepStrictEqual example
olivierodo Oct 7, 2021
1d5857c
doc: format changelogs
Trott Oct 9, 2021
282b6eb
tools: fix ESLint update scripts
Trott Oct 10, 2021
43b97c7
tools: prepare ESLint rules for 8.0.0 requirements
Trott Oct 10, 2021
d9157aa
tools: update ESLint to 8.0.0
Trott Oct 10, 2021
d6a99b7
tools: remove @babel/plugin-syntax-top-level-await
Trott Oct 10, 2021
b72d693
tools: remove @bable/plugin-syntax-class-properties
Trott Oct 10, 2021
3611073
tools: remove @babel/plugin-syntax-import-assertions
Trott Oct 10, 2021
50f91ab
tools: udpate @babel/eslint-parser
Trott Oct 10, 2021
8bb3951
build: remove duplicate check for authors.yml
Trott Oct 10, 2021
80b4245
meta: consolidate AUTHORS information for geirha
Trott Oct 11, 2021
85b7385
doc: add pronouns for tniessen to README
tniessen Oct 11, 2021
dc7291d
doc: remove ESLint comments which were breaking the CJS/ESM toggles
Oct 11, 2021
faf9e28
src: remove usage of `AllocatedBuffer` from `stream_*`
RaisinTen Oct 3, 2021
bcd59d7
meta: consolidate AUTHORS entries for gabrielschulhof
Trott Oct 12, 2021
a672be5
net: throw error to object mode in Socket
watilde Oct 7, 2021
dbb2e6f
net: check objectMode first and then readble || writable
watilde Oct 7, 2021
4564a93
net: remove unused ObjectKeys
watilde Oct 7, 2021
1e15137
test: replace common port with specific number
watilde Oct 7, 2021
bc86084
net: check if option is undefined
watilde Oct 8, 2021
8fdabcb
deps: upgrade npm to 8.1.0
npm-robot Oct 14, 2021
2bfa87e
stream: fix fromAsyncGen
ronag Oct 18, 2021
4941550
2021-10-20, Version 16.12.0 (Current)
richardlau Oct 18, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 0 additions & 10 deletions .eslintrc.js
Expand Up @@ -17,9 +17,6 @@ const hacks = [
'eslint-plugin-node-core',
'eslint-plugin-markdown',
'@babel/eslint-parser',
'@babel/plugin-syntax-class-properties',
'@babel/plugin-syntax-import-assertions',
'@babel/plugin-syntax-top-level-await',
];
Module._findPath = (request, paths, isMain) => {
const r = ModuleFindPath(request, paths, isMain);
Expand All @@ -39,13 +36,6 @@ module.exports = {
plugins: ['markdown', 'node-core'],
parser: '@babel/eslint-parser',
parserOptions: {
babelOptions: {
plugins: [
Module._findPath('@babel/plugin-syntax-class-properties'),
Module._findPath('@babel/plugin-syntax-import-assertions'),
Module._findPath('@babel/plugin-syntax-top-level-await'),
],
},
requireConfigFile: false,
sourceType: 'script',
},
Expand Down
5 changes: 2 additions & 3 deletions .github/label-pr-config.yml
Expand Up @@ -100,12 +100,11 @@ subSystemLabels:
/^lib\/worker_threads.js$/: worker
/^lib\/internal\/url\.js$/: whatwg-url
/^lib\/internal\/modules\/esm/: esm
/^lib\/internal\/quic\/*/: quic, dont-land-on-v14.x, dont-land-on-v12.x

# All other lib/ files map directly
/^lib\/_(\w+)_\w+\.js?$/: $1 # e.g. _(stream)_wrap
/^lib(\/internal)?\/(\w+)\.js?$/: $2 # Other .js files
/^lib\/internal\/(\w+)(?:\/|$)/: $1 # internal subfolders
/^lib(?:\/internal)?\/(\w+)\.js?$/: $1 # Other .js files
/^lib(?:\/internal)?\/(\w+)(?:\/|$)/: $1 # Subfolders

exlusiveLabels:
# more specific tests
Expand Down
13 changes: 1 addition & 12 deletions .github/workflows/authors.yml
Expand Up @@ -15,23 +15,12 @@ jobs:
with:
fetch-depth: '0' # This is required to actually get all the authors
- run: "tools/update-authors.js" # Run the AUTHORS tool
- name: "Check for duplicates"
run: |
PATTERN_FILE=`mktemp`;
git diff | egrep '^\+[^+]' | perl -pe 's/^\+(.+?) <.+\n/\1\n/g' > $PATTERN_FILE;
DUPLICATES=`grep -F -f $PATTERN_FILE AUTHORS | cut -d'<' -f1 | sort | uniq -c | sort -n | grep -v '^ *1 ' | perl -pe 's/^ *\d+ / /'`; # Last part here substitues a space at the start of each line
echo 'DUPLICATES<<EOF' >> $GITHUB_ENV
if [ ! -z "${DUPLICATES}" ]; then
echo "The following may be duplicates; consider adding a .mailmap entry for them:" >> $GITHUB_ENV;
echo "${DUPLICATES}" >> $GITHUB_ENV;
fi;
echo 'EOF' >> $GITHUB_ENV; # Each line of duplicates starts with a space, so it won't conflict with 'EOF'
- uses: gr2m/create-or-update-pull-request-action@v1 # Create a PR or update the Action's existing PR
env:
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}
with:
author: Node.js GitHub Bot <github-bot@iojs.org>
body: "Here are some new additions to the AUTHORS file. This is an automatically generated PR by the `authors.yml` GitHub Action, which runs `tools/update-authors.js`.\n\n{{ env.DUPLICATES }}"
body: "Here are some new additions to the AUTHORS file. This is an automatically generated PR by the `authors.yml` GitHub Action, which runs `tools/update-authors.js`."
branch: "actions/authors-update" # Custom branch *just* for this Action.
commit-message: "meta: update AUTHORS"
labels: meta
Expand Down
5 changes: 5 additions & 0 deletions .mailmap
Expand Up @@ -148,9 +148,11 @@ Franziska Hinkelmann <franziska.hinkelmann@gmail.com> <fhinkel@vt.edu>
Friedemann Altrock <frodenius@gmail.com>
Fuji Goro <gfuji@cpan.org>
Gabriel de Perthuis <g2p.code@gmail.com>
Gabriel Schulhof <gabrielschulhof@gmail.com> <gabriel.schulhof@intel.com>
Gareth Ellis <gareth.ellis@uk.ibm.com> <gareth@gsellis.com>
Garwah Lam <garwahlam@gmail.com>
garygsc <garygsc@gmail.com> <GaryGSC@users.noreply.github.com>
Geir Hauge <geir.hauge@gmail.com> <geir.hauge@ntnu.no>
Geoffrey Booth <webadmin@geoffreybooth.com> <GeoffreyBooth@users.noreply.github.com>
Geoffrey Booth <webadmin@geoffreybooth.com> <webmaster@geoffreybooth.com>
Geoffrey Bugaisky <gbugaisk@gmail.com>
Expand All @@ -165,6 +167,7 @@ Guy Bedford <guybedford@gmail.com>
Halil İbrahim Şener <hisener@yahoo.com>
Hannah Kim <h.heeeun.kim@gmail.com>
Hannes Magnusson <hannes.magnusson@gmail.com> <hannes.magnusson@creditkarma.com>
Hassaan Pasha <pasha.hassaan@gmail.com> <hassaan.pasha@teamo.io>
Hendrik Schwalm <mail@hendrikschwalm.de>
Henry Chin <hheennrryy@gmail.com>
Herbert Vojčík <herby@mailbox.sk>
Expand All @@ -186,7 +189,9 @@ Jackson Tian <shyvo1987@gmail.com> <puling.tyq@alibaba-inc.com>
Jake Verbaten <raynos2@gmail.com>
Jamen Marzonie <jamenmarz@gmail.com> <jamenmarz+gh@gmail.com>
James Beavers <jamesjbeavers@gmail.com>
James Bromwell <james.bromwell@gdit.com> <943160+thw0rted@users.noreply.github.com>
James Hartig <fastest963@gmail.com> <james.hartig@grooveshark.com>
James Ide <ide@jameside.com> <ide@expo.io>
James M Snell <jasnell@gmail.com>
James Nimlos <james@nimlos.com>
Jan Krems <jan.krems@gmail.com> <jan.krems@groupon.com>
Expand Down
16 changes: 8 additions & 8 deletions AUTHORS
Expand Up @@ -551,7 +551,7 @@ Yuki KAN <re@pixely.jp>
Evan Carroll <me@evancarroll.com>
William Bert <william@spanishdict.com>
goussardg <guillaume.goussard@mgo.com>
Geir Hauge <geir.hauge@ntnu.no>
Geir Hauge <geir.hauge@gmail.com>
Farrin Reid <blakmatrix@gmail.com>
Denys Zariaiev <denys.zariaiev@gmail.com>
Sean McArthur <sean.monstar@gmail.com>
Expand Down Expand Up @@ -1430,7 +1430,7 @@ Ahmad Nassri <ahmad@ahmadnassri.com>
Tobias Nießen <tniessen@tnie.de>
Joseph Gentle <me@josephg.com>
Arunesh Chandra <arunesh.chandra@microsoft.com>
Gabriel Schulhof <gabriel.schulhof@intel.com>
Gabriel Schulhof <gabrielschulhof@gmail.com>
Ian Halliday <ianhall@microsoft.com>
Sampson Gao <sampsong@ca.ibm.com>
Taylor Woll <taylor.woll@microsoft.com>
Expand Down Expand Up @@ -2266,7 +2266,6 @@ sagulati <sagulati@adobe.com>
conectado <gabrielalejandro7@gmail.com>
Vitor Bruno de Oliveira Barth <vbob@vbob.com.br>
Christian Clauss <cclauss@me.com>
James Ide <ide@expo.io>
bhavayAnand9 <bhavayanandcse@gmail.com>
Brandon Lee <40652534+brandonlwt@users.noreply.github.com>
Oryan Moshe <iamoryanmoshe@gmail.com>
Expand All @@ -2281,7 +2280,6 @@ Musa Hamwala <musahamwala@icloud.com>
James Bromwell <james.bromwell@gdit.com>
Jeremy Apthorp <nornagon@nornagon.net>
Eugen Cazacu <32613393+oygen87@users.noreply.github.com>
James Bromwell <943160+thw0rted@users.noreply.github.com>
Csaba Palfi <csaba@palfi.me>
Ryan Petrich <rpetrich@gmail.com>
Andreas Girgensohn <andreasg@fxpal.com>
Expand Down Expand Up @@ -2666,7 +2664,6 @@ Avi ד <avi.the.coder@gmail.com>
Thomas <hakerh403@gmail.com>
Aymen Naghmouchi <aymen.aymen@live.it>
himself65 <himself65@outlook.com>
Geir Hauge <geir.hauge@gmail.com>
Patrick Gansterer <paroga@paroga.com>
Nicolas Moteau <nicolas.moteau@orange.com>
Anthony Tuininga <anthony.tuininga@oracle.com>
Expand Down Expand Up @@ -2997,7 +2994,7 @@ ExE Boss <3889017+ExE-Boss@users.noreply.github.com>
Mateusz Krawczuk <krawczukmat@gmail.com>
Jonathan MERCIER <jmercier@cng.fr>
Jichan <development@jc-lab.net>
Hassaan Pasha <hassaan.pasha@teamo.io>
Hassaan Pasha <pasha.hassaan@gmail.com>
Eric Dobbertin <eric@dairystatedesigns.com>
Victor <doc999tor@gmail.com>
Ling Samuel <lingsamuelgrace@gmail.com>
Expand Down Expand Up @@ -3216,7 +3213,6 @@ Dawid Rusnak <dawid@drcode.pl>
obi-el <elobiobinna@gmail.com>
Merlin Luntke <22600241+Luntke@users.noreply.github.com>
Marko Kaznovac <kaznovac@users.noreply.github.com>
Gabriel Schulhof <gabrielschulhof@gmail.com>
Ian Kerins <ianskerins@gmail.com>
dbachko <dbachko@gmail.com>
Mattias Buelens <mattias@buelens.com>
Expand All @@ -3226,7 +3222,6 @@ simov <simeonvelichkov@gmail.com>
wwwzbwcom <zbwhome@outlook.com>
David Glasser <glasser@davidglasser.net>
pezhmanparsaee <p.parsaee@gmail.com>
Hassaan Pasha <pasha.hassaan@gmail.com>
Darkripper214 <phakorn214@gmail.com>
Anu Pasumarthy <anupama.pasumarthy@gmail.com>
HiroyukiYagihashi <hey@hiroy.uk>
Expand Down Expand Up @@ -3327,5 +3322,10 @@ Gary Ho <me@garyho.dev>
Arslan Ali <arslanali.921996@gmail.com>
Chris Heisterkamp <cheister@squareup.com>
kokke <spam@rowdy.dk>
Mason Malone <mason.malone@gmail.com>
gc <30398469+gc@users.noreply.github.com>
ylemkimon <y@ylem.kim>
Milan Burda <milan.burda@gmail.com>
gdccwxx <765553928@qq.com>

# Generated by tools/update-authors.js
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -33,7 +33,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V16.md#16.11.1">16.11.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V16.md#16.12.0">16.12.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.11.1">16.11.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.11.0">16.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.10.0">16.10.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.9.1">16.9.1</a><br/>
Expand Down
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -202,7 +202,7 @@ For information about the governance of the Node.js project, see
* [targos](https://github.com/targos) -
**Michaël Zasso** \<targos@protonmail.com> (he/him)
* [tniessen](https://github.com/tniessen) -
**Tobias Nießen** \<tniessen@tnie.de>
**Tobias Nießen** \<tniessen@tnie.de> (he/him)
* [Trott](https://github.com/Trott) -
**Rich Trott** \<rtrott@gmail.com> (he/him)

Expand Down Expand Up @@ -438,7 +438,7 @@ For information about the governance of the Node.js project, see
* [TimothyGu](https://github.com/TimothyGu) -
**Tiancheng "Timothy" Gu** \<timothygu99@gmail.com> (he/him)
* [tniessen](https://github.com/tniessen) -
**Tobias Nießen** \<tniessen@tnie.de>
**Tobias Nießen** \<tniessen@tnie.de> (he/him)
* [trivikr](https://github.com/trivikr) -
**Trivikram Kamat** \<trivikr.dev@gmail.com>
* [Trott](https://github.com/Trott) -
Expand Down
29 changes: 7 additions & 22 deletions deps/corepack/README.md
@@ -1,14 +1,14 @@
# <img src="./icon.svg" height="25" /> corepack

Corepack is a zero-runtime-dependency Node script that acts as a bridge between Node projects and the package managers they are intended to be used with during development. In practical terms, **Corepack will let you use Yarn and pnpm without having to install them** - just like what currently happens with npm, which is shipped by Node by default.
Corepack is a zero-runtime-dependency Node.js script that acts as a bridge between Node.js projects and the package managers they are intended to be used with during development. In practical terms, **Corepack will let you use Yarn and pnpm without having to install them** - just like what currently happens with npm, which is shipped by Node.js by default.

**Important:** At the moment, Corepack only covers Yarn and pnpm. Given that we have little control on the npm project, we prefer to focus on the Yarn and pnpm use cases. As a result, Corepack doesn't have any effect at all on the way you use npm.

## How to Install

### Default Installs

Corepack isn't intended to be installed manually. While it's certainly possible, we're working with the Node TSC to provide Corepack by default starting from Node 15, thus ensuring that all package managers can be used with little to no friction.
Corepack is distributed by default with Node.js 16.9, but is opt-in for the time being. Run `corepack enable` to install the required shims.

### Manual Installs

Expand All @@ -30,22 +30,7 @@ Then install Corepack:
npm install -g corepack
```

We do acknowledge the irony and overhead of using npm to install Corepack, which is at least part of why the preferred option is to use the Corepack version that will be distributed along with Node itself.

</details>

### Prebuilt Binaries

<details>
<summary>Click here to see how to download prebuilt Corepack Node distributions</summary>

We have a few prebuilt Node binaries (based on the [following branch](https://github.com/arcanis/node/tree/mael/pmm)) that you can just download, unpack somewhere, and add to your `PATH` environment variable.

1. Go to [this page](https://github.com/arcanis/pmm/actions?query=workflow%3ABuild)
2. Open the latest build (the one at the top)
3. Download the right artifact (Linux or Darwin)
4. Unzip the artifact, then untar it
5. Add the `node-v15.0.0-nightlyYYYY-MM-DDXXXX-linux-x64/bin` directory to your `$PATH`
We do acknowledge the irony and overhead of using npm to install Corepack, which is at least part of why the preferred option is to use the Corepack version that is distributed along with Node.js itself.

</details>

Expand All @@ -61,7 +46,7 @@ Just use your package managers as you usually would. Run `yarn install` in Yarn

## Known Good Releases

When running Yarn or pnpm within projects that don't list a supported package manager, Corepack will default to a set of Known Good Releases. In a way, you can compare this to Node, where each version ships with a specific version of npm.
When running Yarn or pnpm within projects that don't list a supported package manager, Corepack will default to a set of Known Good Releases. In a way, you can compare this to Node.js, where each version ships with a specific version of npm.

The Known Good Releases can be updated system-wide using the `--activate` flag from the `corepack prepare` and `corepack hydrate` commands.

Expand Down Expand Up @@ -89,15 +74,15 @@ Note that those commands still check whether the local project is configured for
| --- | --- |
| `--install-directory` | Add the shims to the specified location |

This command will detect where Node is installed and will create shims next to it for each of the specified package managers (or all of them if the command is called without parameters). Note that the npm shims will not be installed unless explicitly requested, as npm is currently distributed with Node through other means.
This command will detect where Node.js is installed and will create shims next to it for each of the specified package managers (or all of them if the command is called without parameters). Note that the npm shims will not be installed unless explicitly requested, as npm is currently distributed with Node.js through other means.

### `corepack disable [... name]`

| Option | Description |
| --- | --- |
| `--install-directory` | Remove the shims to the specified location |

This command will detect where Node is installed and will remove the shims from there.
This command will detect where Node.js is installed and will remove the shims from there.

### `corepack prepare [... name@version]`

Expand All @@ -119,7 +104,7 @@ This command will retrieve the given package manager from the specified archive

## Environment Variables

- `COREPACK_ENABLED` has no functional impact on Corepack itself; it's automatically being set in your environment by Corepack when it shells out to the underlying package managers, so that they can feature-detect its presence (useful for commands like `yarn init`).
- `COREPACK_ROOT` has no functional impact on Corepack itself; it's automatically being set in your environment by Corepack when it shells out to the underlying package managers, so that they can feature-detect its presence (useful for commands like `yarn init`).

## Contributing

Expand Down