Skip to content

Commit f7cb07d

Browse files
author
Mert Can Altin
committed
sync
1 parent 91ea1ed commit f7cb07d

File tree

5 files changed

+81
-38
lines changed

5 files changed

+81
-38
lines changed

doc/api/deprecations.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3786,7 +3786,7 @@ Type: Documentation-only
37863786
Passing non-supported argument types is deprecated and, instead of returning `false`,
37873787
will throw an error in a future version.
37883788

3789-
### DEP0187: `process.features.ipv6` and `process.features.uv`
3789+
### DEP0188: `process.features.ipv6` and `process.features.uv`
37903790

37913791
<!-- YAML
37923792
changes:
@@ -3799,7 +3799,7 @@ Type: Documentation-only
37993799

38003800
These properties are unconditionally `true`. Any checks based on these properties are redundant.
38013801

3802-
### DEP0188: `process.features.tls_*`
3802+
### DEP0189: `process.features.tls_*`
38033803

38043804
<!-- YAML
38053805
changes:
@@ -3959,4 +3959,4 @@ deprecated, as their values are guaranteed to be identical to that of `process.f
39593959
[static methods of `crypto.Certificate()`]: crypto.md#class-certificate
39603960
[subpath exports]: packages.md#subpath-exports
39613961
[subpath imports]: packages.md#subpath-imports
3962-
[subpath patterns]: packages.md#subpath-patterns
3962+
[subpath patterns]: packages.md#subpath-patterns

doc/api/stream.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3846,8 +3846,6 @@ added: v8.0.0
38463846

38473847
The `_destroy()` method is called by [`writable.destroy()`][writable-destroy].
38483848
It can be overridden by child classes but it **must not** be called directly.
3849-
Furthermore, the `callback` should not be mixed with async/await
3850-
once it is executed when a promise is resolved.
38513849

38523850
#### `writable._final(callback)`
38533851

@@ -4967,4 +4965,4 @@ contain multi-byte characters.
49674965
[writable-_destroy]: #writable_destroyerr-callback
49684966
[writable-destroy]: #writabledestroyerror
49694967
[writable-new]: #new-streamwritableoptions
4970-
[zlib]: zlib.md
4968+
[zlib]: zlib.md

doc/api/util.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1998,6 +1998,10 @@ The full list of formats can be found in [modifiers][].
19981998
19991999
<!-- YAML
20002000
added: v8.3.0
2001+
changes:
2002+
- version: v11.0.0
2003+
pr-url: https://github.com/nodejs/node/pull/22281
2004+
description: The class is now available on the global object.
20012005
-->
20022006
20032007
An implementation of the [WHATWG Encoding Standard][] `TextDecoder` API.
@@ -2076,14 +2080,6 @@ is not supported.
20762080
20772081
### `new TextDecoder([encoding[, options]])`
20782082
2079-
<!-- YAML
2080-
added: v8.3.0
2081-
changes:
2082-
- version: v11.0.0
2083-
pr-url: https://github.com/nodejs/node/pull/22281
2084-
description: The class is now available on the global object.
2085-
-->
2086-
20872083
* `encoding` {string} Identifies the `encoding` that this `TextDecoder` instance
20882084
supports. **Default:** `'utf-8'`.
20892085
* `options` {Object}
@@ -2166,6 +2162,10 @@ encoded bytes.
21662162
21672163
### `textEncoder.encodeInto(src, dest)`
21682164
2165+
<!-- YAML
2166+
added: v12.11.0
2167+
-->
2168+
21692169
* `src` {string} The text to encode.
21702170
* `dest` {Uint8Array} The array to hold the encode result.
21712171
* Returns: {Object}
@@ -3196,4 +3196,4 @@ util.isArray({});
31963196
[modifiers]: #modifiers
31973197
[realm]: https://tc39.es/ecma262/#realm
31983198
[semantically incompatible]: https://github.com/nodejs/node/issues/4179
3199-
[util.inspect.custom]: #utilinspectcustom
3199+
[util.inspect.custom]: #utilinspectcustom

doc/contributing/gn-build.md

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,33 @@ Node.js contains following GN build files:
2828

2929
Unlike GYP, the GN tool does not include any built-in rules for compiling a
3030
project, which means projects building with GN must provide their own build
31-
configurations for things like how to invoke a C++ compiler. Chromium related
32-
projects like V8 and skia choose to reuse Chromium's build configurations, and
33-
V8's Node.js integration testing repository
34-
([node-ci](https://chromium.googlesource.com/v8/node-ci/)) can be reused for
35-
building Node.js.
31+
configurations for things like how to invoke a C++ compiler.
32+
33+
Chromium related projects like V8 and skia choose to reuse Chromium's build
34+
configurations, and V8's Node.js integration testing repository
35+
[`node-ci`][node-ci] can be reused for building Node.js.
3636

3737
### 1. Install `depot_tools`
3838

39-
The `depot_tools` is a set of tools used by Chromium related projects for
40-
checking out code and managing dependencies, and since this guide is reusing the
41-
infra of V8, it needs to be installed and added to `PATH`:
39+
You'll need to install [`depot_tools`][depot-tools] the toolset
40+
used for fetching Chromium and its dependencies.
4241

4342
```bash
4443
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
4544
export PATH=/path/to/depot_tools:$PATH
4645
```
4746

48-
You can also follow the [official tutorial of
49-
`depot_tools`](https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html).
47+
You can ensure `depot_tools` is correctly added to your PATH by running
48+
`which gn` and confirming that it returns `/path/to/depot_tools/gn`.
49+
50+
**NOTE:** On Windows you'll also need to set the environment variable
51+
`DEPOT_TOOLS_WIN_TOOLCHAIN=0`. To do so, open `Control Panel` → `System and
52+
Security``System``Advanced system settings` and add a system variable
53+
`DEPOT_TOOLS_WIN_TOOLCHAIN` with value `0`. This tells `depot_tools` to use
54+
your locally installed version of Visual Studio (by default, `depot_tools` will
55+
try to download a Google-internal version that only Googlers have access to).
5056

51-
### 2. Check out code of Node.js
57+
### 2. Checkout Node.js Source Code
5258

5359
To check out the latest main branch of Node.js for building, use the `fetch`
5460
tool from `depot_tools`:
@@ -91,9 +97,9 @@ out at `node_gn/node/node`.
9197

9298
### 3. Build
9399

94-
GN only supports [`ninja`](https://ninja-build.org) for building, so to build
95-
Node.js with GN, `ninja` build files should be generated first, and then
96-
`ninja` can be invoked to do the building.
100+
GN only supports [`ninja`](https://ninja-build.org) for building. To build
101+
Node.js with GN you'll first need to generate `ninja` build files and then invoke
102+
`ninja` to perform the build.
97103

98104
The `node-ci` repository provides a script for calling GN:
99105

@@ -103,9 +109,10 @@ cd node # Enter `node_gn/node` which contains a node-ci checkout
103109
```
104110

105111
which writes `ninja` build files into the `out/Release` directory under
106-
`node_gn/node`.
112+
`node_gn/node`. To see all possible configurable options, run
113+
`tools/gn-gen.py --help`.
107114

108-
And then you can execute `ninja`:
115+
When `gn-gen.py` has executed successfully, you can then execute `ninja`:
109116

110117
```bash
111118
ninja -C out/Release node
@@ -116,10 +123,12 @@ After the build is completed, the compiled Node.js executable can be found in
116123

117124
## Status of the GN build
118125

119-
Currently the GN build of Node.js is not fully functioning. It builds for macOS
120-
and Linux, while the Windows build is still a work in progress. And some tests
121-
are still failing with the GN build.
126+
Currently the GN build of Node.js is not fully functioning. Some tests
127+
are still failing with the GN build, and there may be other small pitfall
128+
for certain configuration options.
129+
130+
An effort is currently underway to make GN build work without using `depot_tools`,
131+
which is tracked in [#51689](https://github.com/nodejs/node/issues/51689).
122132

123-
There are also efforts on making GN build work without using `depot_tools`,
124-
which is tracked in the issue
125-
[#51689](https://github.com/nodejs/node/issues/51689).
133+
[depot-tools]: https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
134+
[node-ci]: https://chromium.googlesource.com/v8/node-ci

doc/contributing/releases.md

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1383,6 +1383,42 @@ Infrastructure team is able to perform the switch of the default. An issue
13831383
should be opened on the [Node.js Snap management repository][] requesting this
13841384
take place once a new LTS line has been released.
13851385

1386+
## FAQ
1387+
1388+
Due to how `tools/release.sh` work, it isn't uncommon to face some errors
1389+
during the promotion process as it depends on network communication and machine
1390+
availability. This section aims to guide the releaser through potential
1391+
failures.
1392+
1393+
### Error on dist-indexer while promoting
1394+
1395+
```bash
1396+
node:events:491
1397+
throw er; // Unhandled 'error' event
1398+
^
1399+
1400+
Error: read ECONNRESET
1401+
at TLSWrap.onStreamRead (node:internal/stream_base_commons:217:20)
1402+
Emitted 'error' event on DestroyableTransform instance at:
1403+
at ClientRequest.<anonymous> (/usr/lib/node_modules/nodejs-dist-indexer/node_modules/hyperquest/index.js:14:19)
1404+
at ClientRequest.emit (node:events:513:28)
1405+
at TLSSocket.socketErrorListener (node:_http_client:494:9)
1406+
at TLSSocket.emit (node:events:513:28)
1407+
at emitErrorNT (node:internal/streams/destroy:157:8)
1408+
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
1409+
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
1410+
errno: -104,
1411+
code: 'ECONNRESET',
1412+
syscall: 'read'
1413+
}
1414+
```
1415+
1416+
Typical resolution: sign the release again.
1417+
1418+
```bash
1419+
./tools/release.sh -s vX.Y.Z
1420+
```
1421+
13861422
[Build issue tracker]: https://github.com/nodejs/build/issues/new
13871423
[CI lockdown procedure]: https://github.com/nodejs/build/blob/HEAD/doc/jenkins-guide.md#restricting-access-for-security-releases
13881424
[Node.js Snap management repository]: https://github.com/nodejs/snap
@@ -1391,4 +1427,4 @@ take place once a new LTS line has been released.
13911427
[build-infra team]: https://github.com/orgs/nodejs/teams/build-infra
13921428
[expected assets]: https://github.com/nodejs/build/tree/HEAD/ansible/www-standalone/tools/promote/expected_assets
13931429
[nodejs.org release-post.js script]: https://github.com/nodejs/nodejs.org/blob/HEAD/scripts/release-post/index.mjs
1394-
[nodejs.org repository]: https://github.com/nodejs/nodejs.org
1430+
[nodejs.org repository]: https://github.com/nodejs/nodejs.org

0 commit comments

Comments
 (0)