Skip to content

Commit 90fe35a

Browse files
committed
Merge tag 'v12.18.4' into v12.x-httpp
2020-09-15 Node.js v12.18.4 'Erbium' (LTS) Release Git-EVTag-v0-SHA512: a75f5590d5813727cbcfa5784a746ccb85f5e8841dd83d0963d36b5e7af8bb8d9275e96b136e8cfb91df2edd828f2d5531f31a103d7b3e9f9a6409e72049ba7e
2 parents 948430b + 1d60ea4 commit 90fe35a

927 files changed

Lines changed: 62440 additions & 49284 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc.js

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ module.exports = {
5959
],
6060
rules: {
6161
// ESLint built-in rules
62-
// http://eslint.org/docs/rules
62+
// https://eslint.org/docs/rules/
6363
'accessor-pairs': 'error',
6464
'array-callback-return': 'error',
6565
'arrow-parens': ['error', 'always'],
@@ -129,6 +129,7 @@ module.exports = {
129129
'no-dupe-else-if': 'error',
130130
'no-duplicate-case': 'error',
131131
'no-duplicate-imports': 'error',
132+
'no-else-return': ['error', { allowElseIf: true }],
132133
'no-empty-character-class': 'error',
133134
'no-ex-assign': 'error',
134135
'no-extra-boolean-cast': 'error',
@@ -189,34 +190,6 @@ module.exports = {
189190
// as well to lib/.eslintrc.yaml.
190191
'no-restricted-syntax': [
191192
'error',
192-
{
193-
selector: "CallExpression[callee.property.name='deepStrictEqual'][arguments.2.type='Literal']",
194-
message: 'Do not use a literal for the third argument of assert.deepStrictEqual()',
195-
},
196-
{
197-
selector: "CallExpression[callee.property.name='doesNotThrow']",
198-
message: 'Do not use `assert.doesNotThrow()`. Write the code without the wrapper and add a comment instead.',
199-
},
200-
{
201-
selector: "CallExpression[callee.property.name='doesNotReject']",
202-
message: 'Do not use `assert.doesNotReject()`. Write the code without the wrapper and add a comment instead.',
203-
},
204-
{
205-
selector: "CallExpression[callee.property.name='rejects'][arguments.length<2]",
206-
message: '`assert.rejects()` must be invoked with at least two arguments.',
207-
},
208-
{
209-
selector: "CallExpression[callee.property.name='strictEqual'][arguments.2.type='Literal']",
210-
message: 'Do not use a literal for the third argument of assert.strictEqual()',
211-
},
212-
{
213-
selector: "CallExpression[callee.property.name='throws'][arguments.1.type='Literal']:not([arguments.1.regex])",
214-
message: 'Use an object as second argument of `assert.throws()`.',
215-
},
216-
{
217-
selector: "CallExpression[callee.property.name='throws'][arguments.length<2]",
218-
message: '`assert.throws()` must be invoked with at least two arguments.',
219-
},
220193
{
221194
selector: "CallExpression[callee.name='setTimeout'][arguments.length<2]",
222195
message: '`setTimeout()` must be invoked with at least two arguments.',
@@ -229,22 +202,6 @@ module.exports = {
229202
selector: 'ThrowStatement > CallExpression[callee.name=/Error$/]',
230203
message: 'Use `new` keyword when throwing an `Error`.',
231204
},
232-
{
233-
selector: "CallExpression[callee.property.name='notDeepStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
234-
message: 'The first argument should be the `actual`, not the `expected` value.',
235-
},
236-
{
237-
selector: "CallExpression[callee.property.name='notStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
238-
message: 'The first argument should be the `actual`, not the `expected` value.',
239-
},
240-
{
241-
selector: "CallExpression[callee.property.name='deepStrictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
242-
message: 'The first argument should be the `actual`, not the `expected` value.',
243-
},
244-
{
245-
selector: "CallExpression[callee.property.name='strictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
246-
message: 'The first argument should be the `actual`, not the `expected` value.',
247-
},
248205
{
249206
selector: "CallExpression[callee.name='isNaN']",
250207
message: 'Use Number.isNaN() instead of the global isNaN() function.',

.github/CODEOWNERS

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Node.js Project Codeowners
2+
3+
# 1. Codeowners must always be teams, never individuals
4+
# 2. Each codeowner team should contain at least one TSC member
5+
# 3. PRs touching any code with a codeowner must be signed off by at least one
6+
# person on the code owner team.
7+
8+
./.github/CODEOWNERS @nodejs/tsc
9+
10+
# net
11+
12+
# ./deps/cares @nodejs/net
13+
# ./doc/api/dns.md @nodejs/net
14+
# ./doc/api/dgram.md @nodejs/net
15+
# ./doc/api/net.md @nodejs/net
16+
# ./lib/dgram.js @nodejs/net
17+
# ./lib/dns.js @nodejs/net
18+
# ./lib/net.js @nodejs/net @nodejs/quic
19+
# ./lib/internal/dgram.js @nodejs/net
20+
# ./lib/internal/dns/* @nodejs/net
21+
# ./lib/internal/net.js @nodejs/net
22+
# ./lib/internal/socket_list.js @nodejs/net
23+
# ./lib/internal/js_stream_socket.js @nodejs/net
24+
# ./src/cares_wrap.h @nodejs/net
25+
# ./src/connect_wrap.* @nodejs/net
26+
# ./src/connection_wrap.* @nodejs/net
27+
# ./src/node_sockaddr* @nodejs/net
28+
# ./src/tcp_wrap.* @nodejs/net
29+
# ./src/udp_wrap.* @nodejs/net
30+
31+
# tls/crypto
32+
33+
# ./lib/internal/crypto/* @nodejs/crypto
34+
# ./lib/internal/tls.js @nodejs/crypto @nodejs/net
35+
# ./lib/crypto.js @nodejs/crypto
36+
# ./lib/tls.js @nodejs/crypto @nodejs/net
37+
# ./src/node_crypto* @nodejs/crypto
38+
# ./src/node_crypto_common* @nodejs/crypto @nodejs/quic
39+
40+
# http
41+
42+
# ./deps/llhttp/* @nodejs/http @nodejs/net
43+
# ./doc/api/http.md @nodejs/http @nodejs/net
44+
# ./doc/api/http2.md @nodejs/http @nodejs/net
45+
# ./lib/_http_* @nodejs/http @nodejs/net
46+
# ./lib/http.js @nodejs/http @nodejs/net
47+
# ./lib/https.js @nodejs/crypto @nodejs/net @nodejs/http
48+
# ./src/node_http_common* @nodejs/http @nodejs/http2 @nodejs/quic @nodejs/net
49+
# ./src/node_http_parser.cc @nodejs/http @nodejs/net
50+
51+
# http2
52+
53+
# ./deps/nghttp2/* @nodejs/http2 @nodejs/net
54+
# ./doc/api/http2.md @nodejs/http2 @nodejs/net
55+
# ./lib/http2.js @nodejs/http2 @nodejs/net
56+
# ./lib/internal/http2/* @nodejs/http2 @nodejs/net
57+
# ./src/node_http2* @nodejs/http2 @nodejs/net
58+
# ./src/node_mem* @nodejs/http2
59+
60+
# quic
61+
62+
./deps/ngtcp2/* @nodejs/quic
63+
./deps/nghttp3/* @nodejs/quic
64+
./doc/api/quic.md @nodejs/quic
65+
./lib/internal/quic/* @nodejs/quic
66+
./src/node_bob* @nodejs/quic
67+
./src/quic/* @nodejs/quic
68+
69+
# modules
70+
71+
# ./doc/api/modules.md @nodejs/modules
72+
# ./doc/api/esm.md @nodejs/modules
73+
# ./lib/module.js @nodejs/modules
74+
# ./lib/internal/modules/* @nodejs/modules
75+
# ./lib/internal/bootstrap/loaders.js @nodejs/modules
76+
# ./src/module_wrap* @nodejs/modules @nodejs/vm
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
name: "\U0001F4D7 Open an issue regarding the Node.js API reference docs"
3+
about: Let us know about any problematic API reference documents
4+
title: "doc: "
5+
labels: doc
6+
---
7+
8+
# 📗 API Reference Docs Problem
9+
10+
<!------------------------------------------------------------------------------
11+
Thank you for wanting to make nodejs.org better!
12+
13+
This template is for issues with the Node.js API reference docs.
14+
15+
For more general support, please open an issue in
16+
our help repo at “https://github.com/nodejs/help”.
17+
18+
For the issue title, enter a one-line summary after “doc: ”.
19+
The “✍️” signifies a request for input. If unsure, do the best you can.
20+
21+
If you found a problem with nodejs.org beyond the API reference docs, please
22+
open an issue in our website repo at “https://github.com/nodejs/nodejs.org”.
23+
------------------------------------------------------------------------------->
24+
25+
<!--
26+
Version: output of “node -v”
27+
Platform: output of “uname -a” (UNIX), or version and 32 or 64-bit (Windows)
28+
Subsystem: if known, please specify affected core module name
29+
-->
30+
31+
- **Version**: ✍️
32+
- **Platform**: ✍️
33+
- **Subsystem**: ✍️
34+
35+
## Location
36+
37+
_Section of the site where the content exists_
38+
39+
Affected URL(s):
40+
- https://nodejs.org/api/✍️
41+
42+
## Problem description
43+
44+
_Concise explanation of what you found to be problematic_
45+
46+
<!-- If applicable, include any screenshots that may help solve the problem. -->
47+
48+
✍️
49+
50+
---
51+
52+
<!-- Use “[x]” to check the box below if interested in contributing. -->
53+
54+
- [ ] I would like to work on this issue and submit a pull request.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Report a flaky test
3+
about: Report a flaky test in our CI
4+
labels: "CI / flaky test"
5+
6+
---
7+
8+
<!--
9+
Thank you for reporting a flaky test.
10+
11+
Flaky tests are tests that fail occasionally in the Node.js CI, but not
12+
consistently enough to block PRs from landing, or that are failing in CI jobs or
13+
test modes that are not run for every PR.
14+
15+
Please fill in as much of the template below as you're able.
16+
17+
Test: The test that is flaky - e.g. `test-fs-stat-bigint`
18+
Platform: The platform the test is flaky on - e.g. `macos` or `linux`
19+
Console Output: A pasted console output from a failed CI job showing the whole
20+
failure of the test
21+
Build Links: Links to builds affected by the flaky test
22+
23+
If any investigation has been done, please include any information found, such
24+
as how consistently the test fails, whether the failure could be reproduced
25+
locally, when the test started failing, or anything else you think is relevant.
26+
-->
27+
28+
* **Test**:
29+
* **Platform**:
30+
* **Console Output:**
31+
```
32+
REPLACE ME
33+
```
34+
* **Build Links**:

.github/SUPPORT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ resources:
1717
* [Questions tagged 'node.js' on Stack Overflow](https://stackoverflow.com/questions/tagged/node.js)
1818
* [#node.js channel on chat.freenode.net](https://webchat.freenode.net?channels=node.js&uio=d4)
1919
* [Node.js Slack Community](https://node-js.slack.com/)
20-
* To register: [nodeslackers.com](http://www.nodeslackers.com/)
20+
* To register: [nodeslackers.com](https://www.nodeslackers.com/)
2121

2222
GitHub issues are for tracking enhancements and bugs, not general support.
2323

.github/workflows/linters.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Set up Python ${{ env.PYTHON_VERSION }}
2727
uses: actions/setup-python@v1
2828
with:
29-
PYTHON_VERSION: ${{ env.PYTHON_VERSION }}
29+
python-version: ${{ env.PYTHON_VERSION }}
3030
- name: Environment Information
3131
run: npx envinfo
3232
- name: Lint C/C++ files
@@ -64,7 +64,7 @@ jobs:
6464
- name: Set up Python ${{ env.PYTHON_VERSION }}
6565
uses: actions/setup-python@v1
6666
with:
67-
PYTHON_VERSION: ${{ env.PYTHON_VERSION }}
67+
python-version: ${{ env.PYTHON_VERSION }}
6868
- name: Environment Information
6969
run: npx envinfo
7070
- name: Lint Python

BUILDING.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ Consult previous versions of this document for older versions of Node.js:
225225
The Node.js project uses Python as part of its build process and has
226226
historically only been Python 2 compatible.
227227

228-
Python 2 will reach its _end-of-life_ at the end of 2019 at which point the
228+
Python 2 will reach its _End-of-Life_ at the end of 2019 at which point the
229229
interpreter will cease receiving updates. See <https://python3statement.org/>
230230
for more information.
231231

@@ -255,6 +255,8 @@ Installation via Linux package manager can be achieved with:
255255

256256
FreeBSD and OpenBSD users may also need to install `libexecinfo`.
257257

258+
Python 3 users may also need to install `python3-distutils`.
259+
258260
#### macOS prerequisites
259261

260262
* Xcode Command Line Tools >= 8 for macOS
@@ -689,7 +691,7 @@ that works for both your host and target environments.
689691
### Build with a specific ICU
690692

691693
You can find other ICU releases at
692-
[the ICU homepage](http://icu-project.org/download).
694+
[the ICU homepage](http://site.icu-project.org/download).
693695
Download the file named something like `icu4c-**##.#**-src.tgz` (or
694696
`.zip`).
695697

@@ -720,7 +722,7 @@ $ ./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz
720722
#### Windows
721723

722724
First unpack latest ICU to `deps/icu`
723-
[icu4c-**##.#**-src.tgz](http://icu-project.org/download) (or `.zip`)
725+
[icu4c-**##.#**-src.tgz](http://site.icu-project.org/download) (or `.zip`)
724726
as `deps/icu` (You'll have: `deps/icu/source/...`)
725727

726728
```console

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ release.
2828
</tr>
2929
<tr>
3030
<td valign="top">
31-
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.18.0">12.18.0</a></b><br/>
31+
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.18.4">12.18.4</a></b><br/>
32+
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.3">12.18.3</a><br/>
33+
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.2">12.18.2</a><br/>
34+
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.1">12.18.1</a><br/>
35+
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.0">12.18.0</a><br/>
3236
<a href="doc/changelogs/CHANGELOG_V12.md#12.17.0">12.17.0</a><br/>
3337
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.3">12.16.3</a><br/>
3438
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.2">12.16.2</a><br/>

LICENSE

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,6 +1471,39 @@ The externally maintained libraries used by Node.js are:
14711471
THE POSSIBILITY OF SUCH DAMAGE.
14721472
"""
14731473

1474+
- highlight.js, located at doc/api_assets/highlight.pack.js, is licensed as follows:
1475+
"""
1476+
BSD 3-Clause License
1477+
1478+
Copyright (c) 2006, Ivan Sagalaev.
1479+
All rights reserved.
1480+
1481+
Redistribution and use in source and binary forms, with or without
1482+
modification, are permitted provided that the following conditions are met:
1483+
1484+
* Redistributions of source code must retain the above copyright notice, this
1485+
list of conditions and the following disclaimer.
1486+
1487+
* Redistributions in binary form must reproduce the above copyright notice,
1488+
this list of conditions and the following disclaimer in the documentation
1489+
and/or other materials provided with the distribution.
1490+
1491+
* Neither the name of the copyright holder nor the names of its
1492+
contributors may be used to endorse or promote products derived from
1493+
this software without specific prior written permission.
1494+
1495+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1496+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1497+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1498+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
1499+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1500+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1501+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1502+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1503+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1504+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1505+
"""
1506+
14741507
- node-heapdump, located at src/heap_utils.cc, is licensed as follows:
14751508
"""
14761509
ISC License

0 commit comments

Comments
 (0)