diff --git a/CHANGELOG.md b/CHANGELOG.md index ce2c2a9f01df78..818d612bc78a05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,8 @@ release. - 7.7.2
+ 7.7.3
+ 7.7.2
7.7.1
7.7.0
7.6.0
diff --git a/README.md b/README.md index 5db1b427ce499e..375119484b0770 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,8 @@ more information about the governance of the Node.js project, see **Colin Ihrig** <cjihrig@gmail.com> * [evanlucas](https://github.com/evanlucas) - **Evan Lucas** <evanlucas@me.com> (he/him) +* [fhinkel](https://github.com/fhinkel) - +**Franziska Hinkelmann** <franziska.hinkelmann@gmail.com> * [fishrock123](https://github.com/fishrock123) - **Jeremiah Senkpiel** <fishrock123@rocketmail.com> * [indutny](https://github.com/indutny) - @@ -229,8 +231,6 @@ more information about the governance of the Node.js project, see **Alexander Makarenko** <estliberitas@gmail.com> * [eugeneo](https://github.com/eugeneo) - **Eugene Ostroukhov** <eostroukhov@google.com> -* [fhinkel](https://github.com/fhinkel) - -**Franziska Hinkelmann** <franziska.hinkelmann@gmail.com> * [firedfox](https://github.com/firedfox) - **Daniel Wang** <wangyang0123@gmail.com> * [geek](https://github.com/geek) - diff --git a/common.gypi b/common.gypi index a52915d59a7ac4..3aad8e7722d57b 100644 --- a/common.gypi +++ b/common.gypi @@ -315,12 +315,12 @@ 'ldflags': [ '-m64' ], }], [ 'target_arch=="s390"', { - 'cflags': [ '-m31' ], - 'ldflags': [ '-m31' ], + 'cflags': [ '-m31', '-march=z196' ], + 'ldflags': [ '-m31', '-march=z196' ], }], [ 'target_arch=="s390x"', { - 'cflags': [ '-m64' ], - 'ldflags': [ '-m64' ], + 'cflags': [ '-m64', '-march=z196' ], + 'ldflags': [ '-m64', '-march=z196' ], }], [ 'OS=="solaris"', { 'cflags': [ '-pthreads' ], diff --git a/doc/api/assert.md b/doc/api/assert.md index 8478c235e783b6..4dc58000390b15 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -241,7 +241,7 @@ added: v0.1.21 * `actual` {any} * `expected` {any} * `message` {any} -* `operator` {String} +* `operator` {string} Throws an `AssertionError`. If `message` is falsy, the error message is set as the values of `actual` and `expected` separated by the provided `operator`. diff --git a/doc/api/buffer.md b/doc/api/buffer.md index eda33fb7c27c19..19a82a72c803dd 100644 --- a/doc/api/buffer.md +++ b/doc/api/buffer.md @@ -357,8 +357,8 @@ changes: * `arrayBuffer` {ArrayBuffer} An [`ArrayBuffer`] or the `.buffer` property of a [`TypedArray`]. -* `byteOffset` {Integer} Index of first byte to expose. **Default:** `0` -* `length` {Integer} Number of bytes to expose. +* `byteOffset` {integer} Index of first byte to expose. **Default:** `0` +* `length` {integer} Number of bytes to expose. **Default:** `arrayBuffer.length - byteOffset` This creates a view of the [`ArrayBuffer`] without copying the underlying @@ -438,7 +438,7 @@ changes: > Stability: 0 - Deprecated: Use [`Buffer.alloc()`] instead (also see > [`Buffer.allocUnsafe()`]). -* `size` {Integer} The desired length of the new `Buffer` +* `size` {integer} The desired length of the new `Buffer` Allocates a new `Buffer` of `size` bytes. If the `size` is larger than [`buffer.kMaxLength`] or smaller than 0, a [`RangeError`] will be thrown. @@ -478,8 +478,8 @@ changes: > Stability: 0 - Deprecated: > Use [`Buffer.from(string[, encoding])`][`Buffer.from(string)`] instead. -* `string` {String} String to encode -* `encoding` {String} The encoding of `string`. **Default:** `'utf8'` +* `string` {string} String to encode +* `encoding` {string} The encoding of `string`. **Default:** `'utf8'` Creates a new `Buffer` containing the given JavaScript string `string`. If provided, the `encoding` parameter identifies the character encoding of `string`. @@ -507,10 +507,10 @@ console.log(buf2.toString()); added: v5.10.0 --> -* `size` {Integer} The desired length of the new `Buffer` -* `fill` {String | Buffer | Integer} A value to pre-fill the new `Buffer` with. +* `size` {integer} The desired length of the new `Buffer` +* `fill` {string|Buffer|integer} A value to pre-fill the new `Buffer` with. **Default:** `0` -* `encoding` {String} If `fill` is a string, this is its encoding. +* `encoding` {string} If `fill` is a string, this is its encoding. **Default:** `'utf8'` Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the @@ -568,7 +568,7 @@ changes: description: Passing a negative `size` will now throw an error. --> -* `size` {Integer} The desired length of the new `Buffer` +* `size` {integer} The desired length of the new `Buffer` Allocates a new `Buffer` of `size` bytes. If the `size` is larger than [`buffer.kMaxLength`] or smaller than 0, a [`RangeError`] will be thrown. @@ -614,7 +614,7 @@ additional performance that [`Buffer.allocUnsafe()`] provides. added: v5.10.0 --> -* `size` {Integer} The desired length of the new `Buffer` +* `size` {integer} The desired length of the new `Buffer` Allocates a new `Buffer` of `size` bytes. If the `size` is larger than [`buffer.kMaxLength`] or smaller than 0, a [`RangeError`] will be thrown. @@ -674,11 +674,11 @@ changes: or `ArrayBuffer`. --> -* `string` {String | Buffer | TypedArray | DataView | ArrayBuffer} A value to +* `string` {string|Buffer|TypedArray|DataView|ArrayBuffer} A value to calculate the length of -* `encoding` {String} If `string` is a string, this is its encoding. +* `encoding` {string} If `string` is a string, this is its encoding. **Default:** `'utf8'` -* Returns: {Integer} The number of bytes contained within `string` +* Returns: {integer} The number of bytes contained within `string` Returns the actual byte length of a string. This is not the same as [`String.prototype.length`] since that returns the number of *characters* in @@ -708,7 +708,7 @@ added: v0.11.13 * `buf1` {Buffer} * `buf2` {Buffer} -* Returns: {Integer} +* Returns: {integer} Compares `buf1` to `buf2` typically for the purpose of sorting arrays of `Buffer` instances. This is equivalent to calling @@ -732,7 +732,7 @@ added: v0.7.11 --> * `list` {Array} List of `Buffer` instances to concat -* `totalLength` {Integer} Total length of the `Buffer` instances in `list` +* `totalLength` {integer} Total length of the `Buffer` instances in `list` when concatenated * Returns: {Buffer} @@ -792,8 +792,8 @@ added: v5.10.0 * `arrayBuffer` {ArrayBuffer} An [`ArrayBuffer`] or the `.buffer` property of a [`TypedArray`]. -* `byteOffset` {Integer} Index of first byte to expose. **Default:** `0` -* `length` {Integer} Number of bytes to expose. +* `byteOffset` {integer} Index of first byte to expose. **Default:** `0` +* `length` {integer} Number of bytes to expose. **Default:** `arrayBuffer.length - byteOffset` This creates a view of the [`ArrayBuffer`] without copying the underlying @@ -868,8 +868,8 @@ A `TypeError` will be thrown if `buffer` is not a `Buffer`. added: v5.10.0 --> -* `string` {String} A string to encode. -* `encoding` {String} The encoding of `string`. **Default:** `'utf8'` +* `string` {string} A string to encode. +* `encoding` {string} The encoding of `string`. **Default:** `'utf8'` Creates a new `Buffer` containing the given JavaScript string `string`. If provided, the `encoding` parameter identifies the character encoding of `string`. @@ -900,7 +900,7 @@ added: v0.1.101 --> * `obj` {Object} -* Returns: {Boolean} +* Returns: {boolean} Returns `true` if `obj` is a `Buffer`, `false` otherwise. @@ -909,8 +909,8 @@ Returns `true` if `obj` is a `Buffer`, `false` otherwise. added: v0.9.1 --> -* `encoding` {String} A character encoding name to check -* Returns: {Boolean} +* `encoding` {string} A character encoding name to check +* Returns: {boolean} Returns `true` if `encoding` contains a supported character encoding, or `false` otherwise. @@ -920,7 +920,7 @@ otherwise. added: v0.11.3 --> -* {Integer} **Default:** `8192` +* {integer} **Default:** `8192` This is the number of bytes used to determine the size of pre-allocated, internal `Buffer` instances used for pooling. This value may be modified. @@ -959,17 +959,17 @@ changes: --> * `target` {Buffer} A `Buffer` to compare to -* `targetStart` {Integer} The offset within `target` at which to begin +* `targetStart` {integer} The offset within `target` at which to begin comparison. **Default:** `0` -* `targetEnd` {Integer} The offset with `target` at which to end comparison +* `targetEnd` {integer} The offset with `target` at which to end comparison (not inclusive). Ignored when `targetStart` is `undefined`. **Default:** `target.length` -* `sourceStart` {Integer} The offset within `buf` at which to begin comparison. +* `sourceStart` {integer} The offset within `buf` at which to begin comparison. Ignored when `targetStart` is `undefined`. **Default:** `0` -* `sourceEnd` {Integer} The offset within `buf` at which to end comparison +* `sourceEnd` {integer} The offset within `buf` at which to end comparison (not inclusive). Ignored when `targetStart` is `undefined`. **Default:** [`buf.length`] -* Returns: {Integer} +* Returns: {integer} Compares `buf` with `target` and returns a number indicating whether `buf` comes before, after, or is the same as `target` in sort order. @@ -1035,13 +1035,13 @@ added: v0.1.90 --> * `target` {Buffer|Uint8Array} A `Buffer` or [`Uint8Array`] to copy into. -* `targetStart` {Integer} The offset within `target` at which to begin +* `targetStart` {integer} The offset within `target` at which to begin copying to. **Default:** `0` -* `sourceStart` {Integer} The offset within `buf` at which to begin copying from. +* `sourceStart` {integer} The offset within `buf` at which to begin copying from. Ignored when `targetStart` is `undefined`. **Default:** `0` -* `sourceEnd` {Integer} The offset within `buf` at which to stop copying (not +* `sourceEnd` {integer} The offset within `buf` at which to stop copying (not inclusive). Ignored when `sourceStart` is `undefined`. **Default:** [`buf.length`] -* Returns: {Integer} The number of bytes copied. +* Returns: {integer} The number of bytes copied. Copies data from a region of `buf` to a region in `target` even if the `target` memory region overlaps with `buf`. @@ -1114,7 +1114,7 @@ added: v0.11.13 --> * `otherBuffer` {Buffer} A `Buffer` to compare to -* Returns: {Boolean} +* Returns: {boolean} Returns `true` if both `buf` and `otherBuffer` have exactly the same bytes, `false` otherwise. @@ -1142,10 +1142,10 @@ changes: description: The `encoding` parameter is supported now. --> -* `value` {String | Buffer | Integer} The value to fill `buf` with -* `offset` {Integer} Where to start filling `buf`. **Default:** `0` -* `end` {Integer} Where to stop filling `buf` (not inclusive). **Default:** [`buf.length`] -* `encoding` {String} If `value` is a string, this is its encoding. +* `value` {string|Buffer|integer} The value to fill `buf` with +* `offset` {integer} Where to start filling `buf`. **Default:** `0` +* `end` {integer} Where to stop filling `buf` (not inclusive). **Default:** [`buf.length`] +* `encoding` {string} If `value` is a string, this is its encoding. **Default:** `'utf8'` * Returns: {Buffer} A reference to `buf` @@ -1179,11 +1179,11 @@ console.log(Buffer.allocUnsafe(3).fill('\u0222')); added: v5.3.0 --> -* `value` {String | Buffer | Integer} What to search for -* `byteOffset` {Integer} Where to begin searching in `buf`. **Default:** `0` -* `encoding` {String} If `value` is a string, this is its encoding. +* `value` {string|Buffer|integer} What to search for +* `byteOffset` {integer} Where to begin searching in `buf`. **Default:** `0` +* `encoding` {string} If `value` is a string, this is its encoding. **Default:** `'utf8'` -* Returns: {Boolean} `true` if `value` was found in `buf`, `false` otherwise +* Returns: {boolean} `true` if `value` was found in `buf`, `false` otherwise Equivalent to [`buf.indexOf() !== -1`][`buf.indexOf()`]. @@ -1225,11 +1225,11 @@ changes: is no longer required. --> -* `value` {String | Buffer | Integer} What to search for -* `byteOffset` {Integer} Where to begin searching in `buf`. **Default:** `0` -* `encoding` {String} If `value` is a string, this is its encoding. +* `value` {string|Buffer|integer} What to search for +* `byteOffset` {integer} Where to begin searching in `buf`. **Default:** `0` +* `encoding` {string} If `value` is a string, this is its encoding. **Default:** `'utf8'` -* Returns: {Integer} The index of the first occurrence of `value` in `buf` or `-1` +* Returns: {integer} The index of the first occurrence of `value` in `buf` or `-1` if `buf` does not contain `value` If `value` is: @@ -1330,12 +1330,12 @@ for (const key of buf.keys()) { added: v6.0.0 --> -* `value` {String | Buffer | Integer} What to search for -* `byteOffset` {Integer} Where to begin searching in `buf`. +* `value` {string|Buffer|integer} What to search for +* `byteOffset` {integer} Where to begin searching in `buf`. **Default:** [`buf.length`]` - 1` -* `encoding` {String} If `value` is a string, this is its encoding. +* `encoding` {string} If `value` is a string, this is its encoding. **Default:** `'utf8'` -* Returns: {Integer} The index of the last occurrence of `value` in `buf` or `-1` +* Returns: {integer} The index of the last occurrence of `value` in `buf` or `-1` if `buf` does not contain `value` Identical to [`buf.indexOf()`], except `buf` is searched from back to front @@ -1410,7 +1410,7 @@ console.log(b.lastIndexOf('b', [])); added: v0.1.90 --> -* {Integer} +* {integer} Returns the amount of memory allocated for `buf` in bytes. Note that this does not necessarily reflect the amount of "usable" data within `buf`. @@ -1456,9 +1456,9 @@ console.log(buf.length); added: v0.11.15 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 8` -* `noAssert` {Boolean} Skip `offset` validation? **Default:** `false` -* Returns: {Number} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 8` +* `noAssert` {boolean} Skip `offset` validation? **Default:** `false` +* Returns: {number} Reads a 64-bit double from `buf` at the specified `offset` with specified endian format (`readDoubleBE()` returns big endian, `readDoubleLE()` returns @@ -1492,9 +1492,9 @@ console.log(buf.readDoubleLE(1, true)); added: v0.11.15 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 4` -* `noAssert` {Boolean} Skip `offset` validation? **Default:** `false` -* Returns: {Number} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 4` +* `noAssert` {boolean} Skip `offset` validation? **Default:** `false` +* Returns: {number} Reads a 32-bit float from `buf` at the specified `offset` with specified endian format (`readFloatBE()` returns big endian, `readFloatLE()` returns @@ -1527,9 +1527,9 @@ console.log(buf.readFloatLE(1, true)); added: v0.5.0 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 1` -* `noAssert` {Boolean} Skip `offset` validation? **Default:** `false` -* Returns: {Integer} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 1` +* `noAssert` {boolean} Skip `offset` validation? **Default:** `false` +* Returns: {integer} Reads a signed 8-bit integer from `buf` at the specified `offset`. @@ -1559,9 +1559,9 @@ console.log(buf.readInt8(2)); added: v0.5.5 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 2` -* `noAssert` {Boolean} Skip `offset` validation? **Default:** `false` -* Returns: {Integer} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 2` +* `noAssert` {boolean} Skip `offset` validation? **Default:** `false` +* Returns: {integer} Reads a signed 16-bit integer from `buf` at the specified `offset` with the specified endian format (`readInt16BE()` returns big endian, @@ -1593,9 +1593,9 @@ console.log(buf.readInt16LE(1)); added: v0.5.5 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 4` -* `noAssert` {Boolean} Skip `offset` validation? **Default:** `false` -* Returns: {Integer} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 4` +* `noAssert` {boolean} Skip `offset` validation? **Default:** `false` +* Returns: {integer} Reads a signed 32-bit integer from `buf` at the specified `offset` with the specified endian format (`readInt32BE()` returns big endian, @@ -1627,10 +1627,10 @@ console.log(buf.readInt32LE(1)); added: v0.11.15 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - byteLength` -* `byteLength` {Integer} How many bytes to read. Must satisfy: `0 < byteLength <= 6` -* `noAssert` {Boolean} Skip `offset` and `byteLength` validation? **Default:** `false` -* Returns: {Integer} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - byteLength` +* `byteLength` {integer} How many bytes to read. Must satisfy: `0 < byteLength <= 6` +* `noAssert` {boolean} Skip `offset` and `byteLength` validation? **Default:** `false` +* Returns: {integer} Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as a two's complement signed value. Supports up to 48 @@ -1659,9 +1659,9 @@ console.log(buf.readIntBE(1, 6).toString(16)); added: v0.5.0 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 1` -* `noAssert` {Boolean} Skip `offset` validation? **Default:** `false` -* Returns: {Integer} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 1` +* `noAssert` {boolean} Skip `offset` validation? **Default:** `false` +* Returns: {integer} Reads an unsigned 8-bit integer from `buf` at the specified `offset`. @@ -1689,9 +1689,9 @@ console.log(buf.readUInt8(2)); added: v0.5.5 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 2` -* `noAssert` {Boolean} Skip `offset` validation? **Default:** `false` -* Returns: {Integer} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 2` +* `noAssert` {boolean} Skip `offset` validation? **Default:** `false` +* Returns: {integer} Reads an unsigned 16-bit integer from `buf` at the specified `offset` with specified endian format (`readUInt16BE()` returns big endian, `readUInt16LE()` @@ -1727,9 +1727,9 @@ console.log(buf.readUInt16LE(2).toString(16)); added: v0.5.5 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 4` -* `noAssert` {Boolean} Skip `offset` validation? **Default:** `false` -* Returns: {Integer} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - 4` +* `noAssert` {boolean} Skip `offset` validation? **Default:** `false` +* Returns: {integer} Reads an unsigned 32-bit integer from `buf` at the specified `offset` with specified endian format (`readUInt32BE()` returns big endian, @@ -1759,10 +1759,10 @@ console.log(buf.readUInt32LE(1).toString(16)); added: v0.11.15 --> -* `offset` {Integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - byteLength` -* `byteLength` {Integer} How many bytes to read. Must satisfy: `0 < byteLength <= 6` -* `noAssert` {Boolean} Skip `offset` and `byteLength` validation? **Default:** `false` -* Returns: {Integer} +* `offset` {integer} Where to start reading. Must satisfy: `0 <= offset <= buf.length - byteLength` +* `byteLength` {integer} How many bytes to read. Must satisfy: `0 < byteLength <= 6` +* `noAssert` {boolean} Skip `offset` and `byteLength` validation? **Default:** `false` +* Returns: {integer} Reads `byteLength` number of bytes from `buf` at the specified `offset` and interprets the result as an unsigned integer. Supports up to 48 @@ -1800,8 +1800,8 @@ changes: calculations with them. --> -* `start` {Integer} Where the new `Buffer` will start. **Default:** `0` -* `end` {Integer} Where the new `Buffer` will end (not inclusive). +* `start` {integer} Where the new `Buffer` will start. **Default:** `0` +* `end` {integer} Where the new `Buffer` will end (not inclusive). **Default:** [`buf.length`] * Returns: {Buffer} @@ -1981,11 +1981,11 @@ console.log(copy); added: v0.1.90 --> -* `encoding` {String} The character encoding to decode to. **Default:** `'utf8'` -* `start` {Integer} The byte offset to start decoding at. **Default:** `0` -* `end` {Integer} The byte offset to stop decoding at (not inclusive). +* `encoding` {string} The character encoding to decode to. **Default:** `'utf8'` +* `start` {integer} The byte offset to start decoding at. **Default:** `0` +* `end` {integer} The byte offset to stop decoding at (not inclusive). **Default:** [`buf.length`] -* Returns: {String} +* Returns: {string} Decodes `buf` to a string according to the specified character encoding in `encoding`. `start` and `end` may be passed to decode only a subset of `buf`. @@ -2062,11 +2062,11 @@ for (const value of buf) { added: v0.1.90 --> -* `string` {String} String to be written to `buf` -* `offset` {Integer} Where to start writing `string`. **Default:** `0` -* `length` {Integer} How many bytes to write. **Default:** `buf.length - offset` -* `encoding` {String} The character encoding of `string`. **Default:** `'utf8'` -* Returns: {Integer} Number of bytes written +* `string` {string} String to be written to `buf` +* `offset` {integer} Where to start writing `string`. **Default:** `0` +* `length` {integer} How many bytes to write. **Default:** `buf.length - offset` +* `encoding` {string} The character encoding of `string`. **Default:** `'utf8'` +* Returns: {integer} Number of bytes written Writes `string` to `buf` at `offset` according to the character encoding in `encoding`. The `length` parameter is the number of bytes to write. If `buf` did not contain @@ -2090,10 +2090,10 @@ console.log(`${len} bytes: ${buf.toString('utf8', 0, len)}`); added: v0.11.15 --> -* `value` {Number} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 8` -* `noAssert` {Boolean} Skip `value` and `offset` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* `value` {number} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 8` +* `noAssert` {boolean} Skip `value` and `offset` validation? **Default:** `false` +* Returns: {integer} `offset` plus the number of bytes written Writes `value` to `buf` at the specified `offset` with specified endian format (`writeDoubleBE()` writes big endian, `writeDoubleLE()` writes little @@ -2125,10 +2125,10 @@ console.log(buf); added: v0.11.15 --> -* `value` {Number} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 4` -* `noAssert` {Boolean} Skip `value` and `offset` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* `value` {number} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 4` +* `noAssert` {boolean} Skip `value` and `offset` validation? **Default:** `false` +* Returns: {integer} `offset` plus the number of bytes written Writes `value` to `buf` at the specified `offset` with specified endian format (`writeFloatBE()` writes big endian, `writeFloatLE()` writes little @@ -2159,10 +2159,10 @@ console.log(buf); added: v0.5.0 --> -* `value` {Integer} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 1` -* `noAssert` {Boolean} Skip `value` and `offset` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* `value` {integer} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 1` +* `noAssert` {boolean} Skip `value` and `offset` validation? **Default:** `false` +* Returns: {integer} `offset` plus the number of bytes written Writes `value` to `buf` at the specified `offset`. `value` *should* be a valid signed 8-bit integer. Behavior is undefined when `value` is anything other than @@ -2191,10 +2191,10 @@ console.log(buf); added: v0.5.5 --> -* `value` {Integer} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 2` -* `noAssert` {Boolean} Skip `value` and `offset` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* `value` {integer} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 2` +* `noAssert` {boolean} Skip `value` and `offset` validation? **Default:** `false` +* Returns: {integer} `offset` plus the number of bytes written Writes `value` to `buf` at the specified `offset` with specified endian format (`writeInt16BE()` writes big endian, `writeInt16LE()` writes little @@ -2224,10 +2224,10 @@ console.log(buf); added: v0.5.5 --> -* `value` {Integer} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 4` -* `noAssert` {Boolean} Skip `value` and `offset` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* `value` {integer} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 4` +* `noAssert` {boolean} Skip `value` and `offset` validation? **Default:** `false` +* Returns: {integer} `offset` plus the number of bytes written Writes `value` to `buf` at the specified `offset` with specified endian format (`writeInt32BE()` writes big endian, `writeInt32LE()` writes little @@ -2257,12 +2257,12 @@ console.log(buf); added: v0.11.15 --> -* `value` {Integer} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - byteLength` -* `byteLength` {Integer} How many bytes to write. Must satisfy: `0 < byteLength <= 6` -* `noAssert` {Boolean} Skip `value`, `offset`, and `byteLength` validation? +* `value` {integer} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - byteLength` +* `byteLength` {integer} How many bytes to write. Must satisfy: `0 < byteLength <= 6` +* `noAssert` {boolean} Skip `value`, `offset`, and `byteLength` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* Returns: {integer} `offset` plus the number of bytes written Writes `byteLength` bytes of `value` to `buf` at the specified `offset`. Supports up to 48 bits of accuracy. Behavior is undefined when `value` is @@ -2292,10 +2292,10 @@ console.log(buf); added: v0.5.0 --> -* `value` {Integer} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 1` -* `noAssert` {Boolean} Skip `value` and `offset` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* `value` {integer} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 1` +* `noAssert` {boolean} Skip `value` and `offset` validation? **Default:** `false` +* Returns: {integer} `offset` plus the number of bytes written Writes `value` to `buf` at the specified `offset`. `value` *should* be a valid unsigned 8-bit integer. Behavior is undefined when `value` is anything @@ -2324,10 +2324,10 @@ console.log(buf); added: v0.5.5 --> -* `value` {Integer} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 2` -* `noAssert` {Boolean} Skip `value` and `offset` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* `value` {integer} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 2` +* `noAssert` {boolean} Skip `value` and `offset` validation? **Default:** `false` +* Returns: {integer} `offset` plus the number of bytes written Writes `value` to `buf` at the specified `offset` with specified endian format (`writeUInt16BE()` writes big endian, `writeUInt16LE()` writes little @@ -2361,10 +2361,10 @@ console.log(buf); added: v0.5.5 --> -* `value` {Integer} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 4` -* `noAssert` {Boolean} Skip `value` and `offset` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* `value` {integer} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - 4` +* `noAssert` {boolean} Skip `value` and `offset` validation? **Default:** `false` +* Returns: {integer} `offset` plus the number of bytes written Writes `value` to `buf` at the specified `offset` with specified endian format (`writeUInt32BE()` writes big endian, `writeUInt32LE()` writes little @@ -2396,12 +2396,12 @@ console.log(buf); added: v0.5.5 --> -* `value` {Integer} Number to be written to `buf` -* `offset` {Integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - byteLength` -* `byteLength` {Integer} How many bytes to write. Must satisfy: `0 < byteLength <= 6` -* `noAssert` {Boolean} Skip `value`, `offset`, and `byteLength` validation? +* `value` {integer} Number to be written to `buf` +* `offset` {integer} Where to start writing. Must satisfy: `0 <= offset <= buf.length - byteLength` +* `byteLength` {integer} How many bytes to write. Must satisfy: `0 < byteLength <= 6` +* `noAssert` {boolean} Skip `value`, `offset`, and `byteLength` validation? **Default:** `false` -* Returns: {Integer} `offset` plus the number of bytes written +* Returns: {integer} `offset` plus the number of bytes written Writes `byteLength` bytes of `value` to `buf` at the specified `offset`. Supports up to 48 bits of accuracy. Behavior is undefined when `value` is @@ -2431,7 +2431,7 @@ console.log(buf); added: v0.5.4 --> -* {Integer} **Default:** `50` +* {integer} **Default:** `50` Returns the maximum number of bytes that will be returned when `buf.inspect()` is called. This can be overridden by user modules. See @@ -2445,7 +2445,7 @@ Note that this is a property on the `buffer` module returned by added: v3.0.0 --> -* {Integer} The largest size allowed for a single `Buffer` instance +* {integer} The largest size allowed for a single `Buffer` instance On 32-bit architectures, this value is `(2^30)-1` (~1GB). On 64-bit architectures, this value is `(2^31)-1` (~2GB). @@ -2459,8 +2459,8 @@ added: v7.1.0 --> * `source` {Buffer} A `Buffer` instance -* `fromEnc` {String} The current encoding -* `toEnc` {String} To target encoding +* `fromEnc` {string} The current encoding +* `toEnc` {string} To target encoding Re-encodes the given `Buffer` instance from one character encoding to another. Returns a new `Buffer` instance. @@ -2532,7 +2532,7 @@ deprecated: v6.0.0 > Stability: 0 - Deprecated: Use [`Buffer.allocUnsafeSlow()`] instead. -* `size` {Integer} The desired length of the new `SlowBuffer` +* `size` {integer} The desired length of the new `SlowBuffer` Allocates a new `Buffer` of `size` bytes. If the `size` is larger than [`buffer.kMaxLength`] or smaller than 0, a [`RangeError`] will be thrown. diff --git a/doc/api/child_process.md b/doc/api/child_process.md index 1cb2410a84dcee..5819d0978e6922 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -125,25 +125,26 @@ exec('"my script.cmd" a b', (err, stdout, stderr) => { added: v0.1.90 --> -* `command` {String} The command to run, with space-separated arguments +* `command` {string} The command to run, with space-separated arguments * `options` {Object} - * `cwd` {String} Current working directory of the child process + * `cwd` {string} Current working directory of the child process * `env` {Object} Environment key-value pairs - * `encoding` {String} (Default: `'utf8'`) - * `shell` {String} Shell to execute the command with + * `encoding` {string} (Default: `'utf8'`) + * `shell` {string} Shell to execute the command with (Default: `'/bin/sh'` on UNIX, `'cmd.exe'` on Windows, The shell should understand the `-c` switch on UNIX or `/d /s /c` on Windows. On Windows, command line parsing should be compatible with `cmd.exe`.) - * `timeout` {Number} (Default: `0`) - * [`maxBuffer`][] {Number} largest amount of data (in bytes) allowed on - stdout or stderr - if exceeded child process is killed (Default: `200*1024`) - * `killSignal` {String|Integer} (Default: `'SIGTERM'`) - * `uid` {Number} Sets the user identity of the process. (See setuid(2).) - * `gid` {Number} Sets the group identity of the process. (See setgid(2).) + * `timeout` {number} (Default: `0`) + * `maxBuffer` {number} Largest amount of data in bytes allowed on stdout or + stderr. (Default: `200*1024`) If exceeded, the child process is terminated. + See caveat at [`maxBuffer` and Unicode][]. + * `killSignal` {string|integer} (Default: `'SIGTERM'`) + * `uid` {number} Sets the user identity of the process. (See setuid(2).) + * `gid` {number} Sets the group identity of the process. (See setgid(2).) * `callback` {Function} called with the output when process terminates * `error` {Error} - * `stdout` {String|Buffer} - * `stderr` {String|Buffer} + * `stdout` {string|Buffer} + * `stderr` {string|Buffer} * Returns: {ChildProcess} Spawns a shell then executes the `command` within that shell, buffering any @@ -193,7 +194,7 @@ the process is spawned. The default options are: } ``` -If `timeout` is greater than `0`, the parent will send the the signal +If `timeout` is greater than `0`, the parent will send the signal identified by the `killSignal` property (the default is `'SIGTERM'`) if the child runs longer than `timeout` milliseconds. @@ -205,22 +206,23 @@ replace the existing process and uses a shell to execute the command.* added: v0.1.91 --> -* `file` {String} The name or path of the executable file to run +* `file` {string} The name or path of the executable file to run * `args` {Array} List of string arguments * `options` {Object} - * `cwd` {String} Current working directory of the child process + * `cwd` {string} Current working directory of the child process * `env` {Object} Environment key-value pairs - * `encoding` {String} (Default: `'utf8'`) - * `timeout` {Number} (Default: `0`) - * [`maxBuffer`][] {Number} largest amount of data (in bytes) allowed on - stdout or stderr - if exceeded child process is killed (Default: `200*1024`) - * `killSignal` {String|Integer} (Default: `'SIGTERM'`) - * `uid` {Number} Sets the user identity of the process. (See setuid(2).) - * `gid` {Number} Sets the group identity of the process. (See setgid(2).) + * `encoding` {string} (Default: `'utf8'`) + * `timeout` {number} (Default: `0`) + * `maxBuffer` {number} Largest amount of data in bytes allowed on stdout or + stderr. (Default: `200*1024`) If exceeded, the child process is terminated. + See caveat at [`maxBuffer` and Unicode][]. + * `killSignal` {string|integer} (Default: `'SIGTERM'`) + * `uid` {number} Sets the user identity of the process. (See setuid(2).) + * `gid` {number} Sets the group identity of the process. (See setgid(2).) * `callback` {Function} called with the output when process terminates * `error` {Error} - * `stdout` {String|Buffer} - * `stderr` {String|Buffer} + * `stdout` {string|Buffer} + * `stderr` {string|Buffer} * Returns: {ChildProcess} The `child_process.execFile()` function is similar to [`child_process.exec()`][] @@ -257,15 +259,15 @@ changes: description: The `stdio` option is supported now. --> -* `modulePath` {String} The module to run in the child +* `modulePath` {string} The module to run in the child * `args` {Array} List of string arguments * `options` {Object} - * `cwd` {String} Current working directory of the child process + * `cwd` {string} Current working directory of the child process * `env` {Object} Environment key-value pairs - * `execPath` {String} Executable used to create the child process + * `execPath` {string} Executable used to create the child process * `execArgv` {Array} List of string arguments passed to the executable (Default: `process.execArgv`) - * `silent` {Boolean} If `true`, stdin, stdout, and stderr of the child will be + * `silent` {boolean} If `true`, stdin, stdout, and stderr of the child will be piped to the parent, otherwise they will be inherited from the parent, see the `'pipe'` and `'inherit'` options for [`child_process.spawn()`][]'s [`stdio`][] for more details (Default: `false`) @@ -273,8 +275,8 @@ changes: [`stdio`][] option. When this option is provided, it overrides `silent`. The array must contain exactly one item with value `'ipc'` or an error will be thrown. For instance `[0, 1, 2, 'ipc']`. - * `uid` {Number} Sets the user identity of the process. (See setuid(2).) - * `gid` {Number} Sets the group identity of the process. (See setgid(2).) + * `uid` {number} Sets the user identity of the process. (See setuid(2).) + * `gid` {number} Sets the group identity of the process. (See setgid(2).) * Returns: {ChildProcess} The `child_process.fork()` method is a special case of @@ -315,21 +317,21 @@ changes: description: The `shell` option is supported now. --> -* `command` {String} The command to run +* `command` {string} The command to run * `args` {Array} List of string arguments * `options` {Object} - * `cwd` {String} Current working directory of the child process + * `cwd` {string} Current working directory of the child process * `env` {Object} Environment key-value pairs - * `argv0` {String} Explicitly set the value of `argv[0]` sent to the child + * `argv0` {string} Explicitly set the value of `argv[0]` sent to the child process. This will be set to `command` if not specified. - * `stdio` {Array|String} Child's stdio configuration. (See + * `stdio` {Array|string} Child's stdio configuration. (See [`options.stdio`][`stdio`]) - * `detached` {Boolean} Prepare child to run independently of its parent + * `detached` {boolean} Prepare child to run independently of its parent process. Specific behavior depends on the platform, see [`options.detached`][]) - * `uid` {Number} Sets the user identity of the process. (See setuid(2).) - * `gid` {Number} Sets the group identity of the process. (See setgid(2).) - * `shell` {Boolean|String} If `true`, runs `command` inside of a shell. Uses + * `uid` {number} Sets the user identity of the process. (See setuid(2).) + * `gid` {number} Sets the group identity of the process. (See setgid(2).) + * `shell` {boolean|string} If `true`, runs `command` inside of a shell. Uses `'/bin/sh'` on UNIX, and `'cmd.exe'` on Windows. A different shell can be specified as a string. The shell should understand the `-c` switch on UNIX, or `/d /s /c` on Windows. Defaults to `false` (no shell). @@ -595,27 +597,28 @@ changes: description: The `encoding` option can now explicitly be set to `buffer`. --> -* `file` {String} The name or path of the executable file to run +* `file` {string} The name or path of the executable file to run * `args` {Array} List of string arguments * `options` {Object} - * `cwd` {String} Current working directory of the child process - * `input` {String|Buffer} The value which will be passed as stdin to the + * `cwd` {string} Current working directory of the child process + * `input` {string|Buffer} The value which will be passed as stdin to the spawned process - supplying this value will override `stdio[0]` - * `stdio` {String | Array} Child's stdio configuration. (Default: `'pipe'`) + * `stdio` {string|Array} Child's stdio configuration. (Default: `'pipe'`) - `stderr` by default will be output to the parent process' stderr unless `stdio` is specified * `env` {Object} Environment key-value pairs - * `uid` {Number} Sets the user identity of the process. (See setuid(2).) - * `gid` {Number} Sets the group identity of the process. (See setgid(2).) - * `timeout` {Number} In milliseconds the maximum amount of time the process + * `uid` {number} Sets the user identity of the process. (See setuid(2).) + * `gid` {number} Sets the group identity of the process. (See setgid(2).) + * `timeout` {number} In milliseconds the maximum amount of time the process is allowed to run. (Default: `undefined`) - * `killSignal` {String|Integer} The signal value to be used when the spawned + * `killSignal` {string|integer} The signal value to be used when the spawned process will be killed. (Default: `'SIGTERM'`) - * [`maxBuffer`][] {Number} largest amount of data (in bytes) allowed on - stdout or stderr - if exceeded child process is killed - * `encoding` {String} The encoding used for all stdio inputs and outputs. (Default: `'buffer'`) -* Returns: {Buffer|String} The stdout from the command + * `maxBuffer` {number} Largest amount of data in bytes allowed on stdout or + stderr. (Default: `200*1024`) If exceeded, the child process is terminated. + See caveat at [`maxBuffer` and Unicode][]. + * `encoding` {string} The encoding used for all stdio inputs and outputs. (Default: `'buffer'`) +* Returns: {Buffer|string} The stdout from the command The `child_process.execFileSync()` method is generally identical to [`child_process.execFile()`][] with the exception that the method will not return @@ -634,31 +637,32 @@ throw. The [`Error`][] object will contain the entire result from added: v0.11.12 --> -* `command` {String} The command to run +* `command` {string} The command to run * `options` {Object} - * `cwd` {String} Current working directory of the child process - * `input` {String|Buffer} The value which will be passed as stdin to the + * `cwd` {string} Current working directory of the child process + * `input` {string|Buffer} The value which will be passed as stdin to the spawned process - supplying this value will override `stdio[0]` - * `stdio` {String | Array} Child's stdio configuration. (Default: `'pipe'`) + * `stdio` {string|Array} Child's stdio configuration. (Default: `'pipe'`) - `stderr` by default will be output to the parent process' stderr unless `stdio` is specified * `env` {Object} Environment key-value pairs - * `shell` {String} Shell to execute the command with + * `shell` {string} Shell to execute the command with (Default: `'/bin/sh'` on UNIX, `'cmd.exe'` on Windows, The shell should understand the `-c` switch on UNIX or `/d /s /c` on Windows. On Windows, command line parsing should be compatible with `cmd.exe`.) - * `uid` {Number} Sets the user identity of the process. (See setuid(2).) - * `gid` {Number} Sets the group identity of the process. (See setgid(2).) - * `timeout` {Number} In milliseconds the maximum amount of time the process + * `uid` {number} Sets the user identity of the process. (See setuid(2).) + * `gid` {number} Sets the group identity of the process. (See setgid(2).) + * `timeout` {number} In milliseconds the maximum amount of time the process is allowed to run. (Default: `undefined`) - * `killSignal` {String|Integer} The signal value to be used when the spawned + * `killSignal` {string|integer} The signal value to be used when the spawned process will be killed. (Default: `'SIGTERM'`) - * [`maxBuffer`][] {Number} largest amount of data (in bytes) allowed on - stdout or stderr - if exceeded child process is killed - * `encoding` {String} The encoding used for all stdio inputs and outputs. + * `maxBuffer` {number} Largest amount of data in bytes allowed on stdout or + stderr. (Default: `200*1024`) If exceeded, the child process is terminated. + See caveat at [`maxBuffer` and Unicode][]. + * `encoding` {string} The encoding used for all stdio inputs and outputs. (Default: `'buffer'`) -* Returns: {Buffer|String} The stdout from the command +* Returns: {Buffer|string} The stdout from the command The `child_process.execSync()` method is generally identical to [`child_process.exec()`][] with the exception that the method will not return until @@ -688,36 +692,37 @@ changes: description: The `shell` option is supported now. --> -* `command` {String} The command to run +* `command` {string} The command to run * `args` {Array} List of string arguments * `options` {Object} - * `cwd` {String} Current working directory of the child process - * `input` {String|Buffer} The value which will be passed as stdin to the + * `cwd` {string} Current working directory of the child process + * `input` {string|Buffer} The value which will be passed as stdin to the spawned process - supplying this value will override `stdio[0]` - * `stdio` {String | Array} Child's stdio configuration. + * `stdio` {string|Array} Child's stdio configuration. * `env` {Object} Environment key-value pairs - * `uid` {Number} Sets the user identity of the process. (See setuid(2).) - * `gid` {Number} Sets the group identity of the process. (See setgid(2).) - * `timeout` {Number} In milliseconds the maximum amount of time the process + * `uid` {number} Sets the user identity of the process. (See setuid(2).) + * `gid` {number} Sets the group identity of the process. (See setgid(2).) + * `timeout` {number} In milliseconds the maximum amount of time the process is allowed to run. (Default: `undefined`) - * `killSignal` {String|Integer} The signal value to be used when the spawned + * `killSignal` {string|integer} The signal value to be used when the spawned process will be killed. (Default: `'SIGTERM'`) - * [`maxBuffer`][] {Number} largest amount of data (in bytes) allowed on - stdout or stderr - if exceeded child process is killed - * `encoding` {String} The encoding used for all stdio inputs and outputs. + * `maxBuffer` {number} Largest amount of data in bytes allowed on stdout or + stderr. (Default: `200*1024`) If exceeded, the child process is terminated. + See caveat at [`maxBuffer` and Unicode][]. + * `encoding` {string} The encoding used for all stdio inputs and outputs. (Default: `'buffer'`) - * `shell` {Boolean|String} If `true`, runs `command` inside of a shell. Uses + * `shell` {boolean|string} If `true`, runs `command` inside of a shell. Uses `'/bin/sh'` on UNIX, and `'cmd.exe'` on Windows. A different shell can be specified as a string. The shell should understand the `-c` switch on UNIX, or `/d /s /c` on Windows. Defaults to `false` (no shell). * Returns: {Object} - * `pid` {Number} Pid of the child process + * `pid` {number} Pid of the child process * `output` {Array} Array of results from stdio output - * `stdout` {Buffer|String} The contents of `output[1]` - * `stderr` {Buffer|String} The contents of `output[2]` - * `status` {Number} The exit code of the child process - * `signal` {String} The signal used to kill the child process + * `stdout` {Buffer|string} The contents of `output[1]` + * `stderr` {Buffer|string} The contents of `output[2]` + * `status` {number} The exit code of the child process + * `signal` {string} The signal used to kill the child process * `error` {Error} The error object if the child process failed or timed out The `child_process.spawnSync()` method is generally identical to @@ -750,8 +755,8 @@ instances of `ChildProcess`. added: v0.7.7 --> -* `code` {Number} the exit code if the child exited on its own. -* `signal` {String} the signal by which the child process was terminated. +* `code` {number} the exit code if the child exited on its own. +* `signal` {string} the signal by which the child process was terminated. The `'close'` event is emitted when the stdio streams of a child process have been closed. This is distinct from the [`'exit'`][] event, since multiple @@ -788,8 +793,8 @@ See also [`child.kill()`][] and [`child.send()`][]. added: v0.1.90 --> -* `code` {Number} the exit code if the child exited on its own. -* `signal` {String} the signal by which the child process was terminated. +* `code` {number} the exit code if the child exited on its own. +* `signal` {string} the signal by which the child process was terminated. The `'exit'` event is emitted after the child process ends. If the process exited, `code` is the final exit code of the process, otherwise `null`. If the @@ -833,7 +838,7 @@ IPC channel currently exists, this property is `undefined`. added: v0.7.2 --> -* {Boolean} Set to `false` after `child.disconnect()` is called +* {boolean} Set to `false` after `child.disconnect()` is called The `child.connected` property indicates whether it is still possible to send and receive messages from a child process. When `child.connected` is `false`, it @@ -863,7 +868,7 @@ within the child process to close the IPC channel as well. added: v0.1.90 --> -* `signal` {String} +* `signal` {string} The `child.kill()` methods sends a signal to the child process. If no argument is given, the process will be sent the `'SIGTERM'` signal. See signal(7) for @@ -920,7 +925,7 @@ setTimeout(() => { added: v0.1.90 --> -* {Number} Integer +* {number} Integer Returns the process identifier (PID) of the child process. @@ -954,7 +959,7 @@ changes: * `sendHandle` {Handle} * `options` {Object} * `callback` {Function} -* Returns: {Boolean} +* Returns: {boolean} When an IPC channel has been established between the parent and child ( i.e. when using [`child_process.fork()`][]), the `child.send()` method can be @@ -1222,7 +1227,7 @@ to `stdout` although there are only 4 characters. [`Error`]: errors.html#errors_class_error [`EventEmitter`]: events.html#events_class_eventemitter [`JSON.stringify()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify -[`maxBuffer`]: #child_process_maxbuffer_and_unicode +[`maxBuffer` and Unicode]: #child_process_maxbuffer_and_unicode [`net.Server`]: net.html#net_class_net_server [`net.Socket`]: net.html#net_class_net_socket [`options.detached`]: #child_process_options_detached diff --git a/doc/api/cluster.md b/doc/api/cluster.md index d0ec3f4ed5d277..0774938766c7a9 100644 --- a/doc/api/cluster.md +++ b/doc/api/cluster.md @@ -148,8 +148,8 @@ In a worker you can also use `process.on('error')`. added: v0.11.2 --> -* `code` {Number} the exit code, if it exited normally. -* `signal` {String} the name of the signal (e.g. `'SIGHUP'`) that caused +* `code` {number} the exit code, if it exited normally. +* `signal` {string} the name of the signal (e.g. `'SIGHUP'`) that caused the process to be killed. Similar to the `cluster.on('exit')` event, but specific to this worker. @@ -332,7 +332,7 @@ if (cluster.isMaster) { added: v6.0.0 --> -* {Boolean} +* {boolean} Set by calling `.kill()` or `.disconnect()`. Until then, it is `undefined`. @@ -356,7 +356,7 @@ worker.kill(); added: v0.8.0 --> -* {Number} +* {number} Each new worker is given its own unique id, this id is stored in the `id`. @@ -386,7 +386,7 @@ because of exiting or being signaled). Otherwise, it returns `false`. added: v0.9.12 --> -* `signal` {String} Name of the kill signal to send to the worker +* `signal` {string} Name of the kill signal to send to the worker process. This function will kill the worker. In the master, it does this by disconnecting @@ -514,8 +514,8 @@ added: v0.7.9 --> * `worker` {cluster.Worker} -* `code` {Number} the exit code, if it exited normally. -* `signal` {String} the name of the signal (e.g. `'SIGHUP'`) that caused +* `code` {number} the exit code, if it exited normally. +* `signal` {string} the name of the signal (e.g. `'SIGHUP'`) that caused the process to be killed. When any of the workers die the cluster module will emit the `'exit'` event. @@ -691,7 +691,7 @@ This can only be called from the master process. added: v0.8.1 --> -* {Boolean} +* {boolean} True if the process is a master. This is determined by the `process.env.NODE_UNIQUE_ID`. If `process.env.NODE_UNIQUE_ID` is @@ -702,7 +702,7 @@ undefined, then `isMaster` is `true`. added: v0.6.0 --> -* {Boolean} +* {boolean} True if the process is not a master (it is the negation of `cluster.isMaster`). @@ -736,16 +736,16 @@ changes: * {Object} * `execArgv` {Array} list of string arguments passed to the Node.js executable. (Default=`process.execArgv`) - * `exec` {String} file path to worker file. (Default=`process.argv[1]`) + * `exec` {string} file path to worker file. (Default=`process.argv[1]`) * `args` {Array} string arguments passed to worker. (Default=`process.argv.slice(2)`) - * `silent` {Boolean} whether or not to send output to parent's stdio. + * `silent` {boolean} whether or not to send output to parent's stdio. (Default=`false`) * `stdio` {Array} Configures the stdio of forked processes. Because the cluster module relies on IPC to function, this configuration must contain an `'ipc'` entry. When this option is provided, it overrides `silent`. - * `uid` {Number} Sets the user identity of the process. (See setuid(2).) - * `gid` {Number} Sets the group identity of the process. (See setgid(2).) + * `uid` {number} Sets the user identity of the process. (See setuid(2).) + * `gid` {number} Sets the group identity of the process. (See setgid(2).) After calling `.setupMaster()` (or `.fork()`) this settings object will contain the settings, including the default values. @@ -762,10 +762,10 @@ changes: --> * `settings` {Object} - * `exec` {String} file path to worker file. (Default=`process.argv[1]`) + * `exec` {string} file path to worker file. (Default=`process.argv[1]`) * `args` {Array} string arguments passed to worker. (Default=`process.argv.slice(2)`) - * `silent` {Boolean} whether or not to send output to parent's stdio. + * `silent` {boolean} whether or not to send output to parent's stdio. (Default=`false`) * `stdio` {Array} Configures the stdio of forked processes. When this option is provided, it overrides `silent`. diff --git a/doc/api/console.md b/doc/api/console.md index cd538d73328615..1398e3e5bc739e 100644 --- a/doc/api/console.md +++ b/doc/api/console.md @@ -162,9 +162,9 @@ added: v0.1.101 --> * `obj` {any} * `options` {Object} - * `showHidden` {Boolean} - * `depth` {Number} - * `colors` {Boolean} + * `showHidden` {boolean} + * `depth` {number} + * `colors` {boolean} Uses [`util.inspect()`][] on `obj` and prints the resulting string to `stdout`. This function bypasses any custom `inspect()` function defined on `obj`. An @@ -243,7 +243,7 @@ values are concatenated. See [`util.format()`][] for more information. -* `label` {String} +* `label` {string} Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`. Use the same `label` when you call @@ -259,7 +259,7 @@ changes: description: This method no longer supports multiple calls that don’t map to individual `console.time()` calls; see below for details. --> -* `label` {String} +* `label` {string} Stops a timer that was previously started by calling [`console.time()`][] and prints the result to `stdout`: diff --git a/doc/api/crypto.md b/doc/api/crypto.md index d14c787a2b3c60..957dff9975fa52 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -929,8 +929,8 @@ The `private_key` argument can be an object or a string. If `private_key` is a string, it is treated as a raw key with no passphrase. If `private_key` is an object, it is interpreted as a hash containing two properties: -* `key` : {String} - PEM encoded private key -* `passphrase` : {String} - passphrase for the private key +* `key`: {string} - PEM encoded private key +* `passphrase`: {string} - passphrase for the private key The `output_format` can specify one of `'latin1'`, `'hex'` or `'base64'`. If `output_format` is provided a string is returned; otherwise a [`Buffer`][] is @@ -1469,8 +1469,8 @@ treated as the key with no passphrase and will use `RSA_PKCS1_OAEP_PADDING`. If `private_key` is an object, it is interpreted as a hash object with the keys: -* `key` : {String} - PEM encoded private key -* `passphrase` : {String} - Optional passphrase for the private key +* `key`: {string} - PEM encoded private key +* `passphrase`: {string} - Optional passphrase for the private key * `padding` : An optional padding value, one of the following: * `crypto.constants.RSA_NO_PADDING` * `crypto.constants.RSA_PKCS1_PADDING` @@ -1490,8 +1490,8 @@ treated as the key with no passphrase and will use `RSA_PKCS1_PADDING`. If `private_key` is an object, it is interpreted as a hash object with the keys: -* `key` : {String} - PEM encoded private key -* `passphrase` : {String} - Optional passphrase for the private key +* `key`: {string} - PEM encoded private key +* `passphrase`: {string} - Optional passphrase for the private key * `padding` : An optional padding value, one of the following: * `crypto.constants.RSA_NO_PADDING` * `crypto.constants.RSA_PKCS1_PADDING` @@ -1510,8 +1510,8 @@ treated as the key with no passphrase and will use `RSA_PKCS1_PADDING`. If `public_key` is an object, it is interpreted as a hash object with the keys: -* `key` : {String} - PEM encoded public key -* `passphrase` : {String} - Optional passphrase for the private key +* `key`: {string} - PEM encoded public key +* `passphrase`: {string} - Optional passphrase for the private key * `padding` : An optional padding value, one of the following: * `crypto.constants.RSA_NO_PADDING` * `crypto.constants.RSA_PKCS1_PADDING` @@ -1534,8 +1534,8 @@ treated as the key with no passphrase and will use `RSA_PKCS1_OAEP_PADDING`. If `public_key` is an object, it is interpreted as a hash object with the keys: -* `key` : {String} - PEM encoded public key -* `passphrase` : {String} - Optional passphrase for the private key +* `key`: {string} - PEM encoded public key +* `passphrase`: {string} - Optional passphrase for the private key * `padding` : An optional padding value, one of the following: * `crypto.constants.RSA_NO_PADDING` * `crypto.constants.RSA_PKCS1_PADDING` diff --git a/doc/api/dgram.md b/doc/api/dgram.md index b763620f2c58e2..73749688fef713 100644 --- a/doc/api/dgram.md +++ b/doc/api/dgram.md @@ -74,18 +74,18 @@ The `'message'` event is emitted when a new datagram is available on a socket. The event handler function is passed two arguments: `msg` and `rinfo`. * `msg` {Buffer} - The message * `rinfo` {Object} - Remote address information - * `address` {String} The sender address - * `family` {String} The address family (`'IPv4'` or `'IPv6'`) - * `port` {Number} The sender port - * `size` {Number} The message size + * `address` {string} The sender address + * `family` {string} The address family (`'IPv4'` or `'IPv6'`) + * `port` {number} The sender port + * `size` {number} The message size ### socket.addMembership(multicastAddress[, multicastInterface]) -* `multicastAddress` {String} -* `multicastInterface` {String}, Optional +* `multicastAddress` {string} +* `multicastInterface` {string}, Optional Tells the kernel to join a multicast group at the given `multicastAddress` and `multicastInterface` using the `IP_ADD_MEMBERSHIP` socket option. If the @@ -107,8 +107,8 @@ properties. added: v0.1.99 --> -* `port` {Number} - Integer, Optional -* `address` {String}, Optional +* `port` {number} - Integer, Optional +* `address` {string}, Optional * `callback` {Function} with no parameters, Optional. Called when binding is complete. @@ -160,9 +160,9 @@ added: v0.11.14 --> * `options` {Object} - Required. Supports the following properties: - * `port` {Number} - Optional. - * `address` {String} - Optional. - * `exclusive` {Boolean} - Optional. + * `port` {number} - Optional. + * `address` {string} - Optional. + * `exclusive` {boolean} - Optional. * `callback` {Function} - Optional. For UDP sockets, causes the `dgram.Socket` to listen for datagram @@ -214,8 +214,8 @@ provided, it is added as a listener for the [`'close'`][] event. added: v0.6.9 --> -* `multicastAddress` {String} -* `multicastInterface` {String}, Optional +* `multicastAddress` {string} +* `multicastInterface` {string}, Optional Instructs the kernel to leave a multicast group at `multicastAddress` using the `IP_DROP_MEMBERSHIP` socket option. This method is automatically called by the @@ -255,11 +255,11 @@ changes: and `length` parameters are optional now. --> -* `msg` {Buffer|String|Array} Message to be sent -* `offset` {Number} Integer. Optional. Offset in the buffer where the message starts. -* `length` {Number} Integer. Optional. Number of bytes in the message. -* `port` {Number} Integer. Destination port. -* `address` {String} Destination hostname or IP address. +* `msg` {Buffer|string|array} Message to be sent +* `offset` {number} Integer. Optional. Offset in the buffer where the message starts. +* `length` {number} Integer. Optional. Number of bytes in the message. +* `port` {number} Integer. Destination port. +* `address` {string} Destination hostname or IP address. * `callback` {Function} Called when the message has been sent. Optional. Broadcasts a datagram on the socket. The destination `port` and `address` must @@ -355,7 +355,7 @@ source that the data did not reach its intended recipient. added: v0.6.9 --> -* `flag` {Boolean} +* `flag` {boolean} Sets or clears the `SO_BROADCAST` socket option. When set to `true`, UDP packets may be sent to a local interface's broadcast address. @@ -365,7 +365,7 @@ packets may be sent to a local interface's broadcast address. added: v0.3.8 --> -* `flag` {Boolean} +* `flag` {boolean} Sets or clears the `IP_MULTICAST_LOOP` socket option. When set to `true`, multicast packets will also be received on the local interface. @@ -375,7 +375,7 @@ multicast packets will also be received on the local interface. added: v0.3.8 --> -* `ttl` {Number} Integer +* `ttl` {number} Integer Sets the `IP_MULTICAST_TTL` socket option. While TTL generally stands for "Time to Live", in this context it specifies the number of IP hops that a @@ -391,7 +391,7 @@ between 0 and 255. The default on most systems is `1` but can vary. added: v0.1.101 --> -* `ttl` {Number} Integer +* `ttl` {number} Integer Sets the `IP_TTL` socket option. While TTL generally stands for "Time to Live", in this context it specifies the number of IP hops that a packet is allowed to @@ -472,7 +472,7 @@ and `udp6` sockets). The bound address and port can be retrieved using added: v0.1.99 --> -* `type` {String} - Either 'udp4' or 'udp6' +* `type` {string} - Either 'udp4' or 'udp6' * `callback` {Function} - Attached as a listener to `'message'` events. Optional * Returns: {dgram.Socket} diff --git a/doc/api/dns.md b/doc/api/dns.md index 0c8bf8daa43a28..7f075be3114279 100644 --- a/doc/api/dns.md +++ b/doc/api/dns.md @@ -78,15 +78,15 @@ an integer, then it must be `4` or `6`. Alternatively, `options` can be an object containing these properties: -* `family` {Number} - The record family. If present, must be the integer +* `family` {number} - The record family. If present, must be the integer `4` or `6`. If not provided, both IP v4 and v6 addresses are accepted. -* `hints`: {Number} - If present, it should be one or more of the supported +* `hints`: {number} - If present, it should be one or more of the supported `getaddrinfo` flags. If `hints` is not provided, then no flags are passed to `getaddrinfo`. Multiple flags can be passed through `hints` by bitwise `OR`ing their values. See [supported `getaddrinfo` flags][] for more information on supported flags. -* `all`: {Boolean} - When `true`, the callback returns all resolved addresses +* `all`: {boolean} - When `true`, the callback returns all resolved addresses in an array, otherwise returns a single address. Defaults to `false`. All properties are optional. @@ -214,9 +214,9 @@ Uses the DNS protocol to resolve a IPv4 addresses (`A` records) for the will contain an array of IPv4 addresses (e.g. `['74.125.79.104', '74.125.79.105', '74.125.79.106']`). -* `hostname` {String} Hostname to resolve. +* `hostname` {string} Hostname to resolve. * `options` {Object} - * `ttl` {Boolean} Retrieve the Time-To-Live value (TTL) of each record. + * `ttl` {boolean} Retrieve the Time-To-Live value (TTL) of each record. The callback receives an array of `{ address: '1.2.3.4', ttl: 60 }` objects rather than an array of strings. The TTL is expressed in seconds. * `callback` {Function} An `(err, result)` callback function. @@ -235,9 +235,9 @@ Uses the DNS protocol to resolve a IPv6 addresses (`AAAA` records) for the `hostname`. The `addresses` argument passed to the `callback` function will contain an array of IPv6 addresses. -* `hostname` {String} Hostname to resolve. +* `hostname` {string} Hostname to resolve. * `options` {Object} - * `ttl` {Boolean} Retrieve the Time-To-Live value (TTL) of each record. + * `ttl` {boolean} Retrieve the Time-To-Live value (TTL) of each record. The callback receives an array of `{ address: '0:1:2:3:4:5:6:7', ttl: 60 }` objects rather than an array of strings. The TTL is expressed in seconds. * `callback` {Function} An `(err, result)` callback function. diff --git a/doc/api/errors.md b/doc/api/errors.md index e0e0f06ac5900f..96409a53677689 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -195,7 +195,7 @@ will either be instances of, or inherit from, the `Error` class. ### new Error(message) -* `message` {String} +* `message` {string} Creates a new `Error` object and sets the `error.message` property to the provided text message. If an object is passed as `message`, the text message @@ -243,7 +243,7 @@ new MyError().stack; ### Error.stackTraceLimit -* {Number} +* {number} The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or @@ -257,7 +257,7 @@ not capture any frames. ### error.message -* {String} +* {string} The `error.message` property is the string description of the error as set by calling `new Error(message)`. The `message` passed to the constructor will also appear in the first line of @@ -273,7 +273,7 @@ console.error(err.message); ### error.stack -* {String} +* {string} The `error.stack` property is a string describing the point in the code at which the `Error` was instantiated. @@ -449,14 +449,14 @@ added properties. #### error.code -* {String} +* {string} The `error.code` property is a string representing the error code, which is always `E` followed by a sequence of capital letters. #### error.errno -* {String | Number} +* {string|number} The `error.errno` property is a number or a string. The number is a **negative** value which corresponds to the error code defined in @@ -466,27 +466,27 @@ In case of a string, it is the same as `error.code`. #### error.syscall -* {String} +* {string} The `error.syscall` property is a string describing the [syscall][] that failed. #### error.path -* {String} +* {string} When present (e.g. in `fs` or `child_process`), the `error.path` property is a string containing a relevant invalid pathname. #### error.address -* {String} +* {string} When present (e.g. in `net` or `dgram`), the `error.address` property is a string describing the address to which the connection failed. #### error.port -* {Number} +* {number} When present (e.g. in `net` or `dgram`), the `error.port` property is a number representing the connection's port that is not available. diff --git a/doc/api/events.md b/doc/api/events.md index 7a376415a842b9..5f12cfe3191837 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -185,7 +185,7 @@ added and `'removeListener'` when existing listeners are removed. added: v0.1.26 --> -* `eventName` {String|Symbol} The name of the event being listened for +* `eventName` {string|symbol} The name of the event being listened for * `listener` {Function} The event handler function The `EventEmitter` instance will emit its own `'newListener'` event *before* @@ -229,7 +229,7 @@ changes: now yields the original listener function. --> -* `eventName` {String|Symbol} The event name +* `eventName` {string|symbol} The event name * `listener` {Function} The event handler function The `'removeListener'` event is emitted *after* the `listener` is removed. @@ -345,7 +345,7 @@ set by [`emitter.setMaxListeners(n)`][] or defaults to added: v3.2.0 --> -* `eventName` {String|Symbol} The name of the event being listened for +* `eventName` {string|symbol} The name of the event being listened for Returns the number of listeners listening to the event named `eventName`. @@ -374,7 +374,7 @@ console.log(util.inspect(server.listeners('connection'))); added: v0.1.101 --> -* `eventName` {String|Symbol} The name of the event. +* `eventName` {string|symbol} The name of the event. * `listener` {Function} The callback function Adds the `listener` function to the end of the listeners array for the @@ -410,7 +410,7 @@ myEE.emit('foo'); added: v0.3.0 --> -* `eventName` {String|Symbol} The name of the event. +* `eventName` {string|symbol} The name of the event. * `listener` {Function} The callback function Adds a **one time** `listener` function for the event named `eventName`. The @@ -443,7 +443,7 @@ myEE.emit('foo'); added: v6.0.0 --> -* `eventName` {String|Symbol} The name of the event. +* `eventName` {string|symbol} The name of the event. * `listener` {Function} The callback function Adds the `listener` function to the *beginning* of the listeners array for the @@ -465,7 +465,7 @@ Returns a reference to the `EventEmitter`, so that calls can be chained. added: v6.0.0 --> -* `eventName` {String|Symbol} The name of the event. +* `eventName` {string|symbol} The name of the event. * `listener` {Function} The callback function Adds a **one time** `listener` function for the event named `eventName` to the diff --git a/doc/api/fs.md b/doc/api/fs.md index 6f1fceae84f426..c6046d27313791 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -121,8 +121,8 @@ The object itself emits these events: added: v0.5.8 --> -* `eventType` {String} The type of fs change -* `filename` {String | Buffer} The filename that changed (if relevant/available) +* `eventType` {string} The type of fs change +* `filename` {string|Buffer} The filename that changed (if relevant/available) Emitted when something changes in a watched directory or file. See more details in [`fs.watch()`][]. @@ -177,7 +177,7 @@ using the `fs.close()` method. added: v0.1.93 --> -* `fd` {Integer} Integer file descriptor used by the ReadStream. +* `fd` {integer} Integer file descriptor used by the ReadStream. Emitted when the ReadStream's file is opened. @@ -291,7 +291,7 @@ using the `fs.close()` method. added: v0.1.93 --> -* `fd` {Integer} Integer file descriptor used by the WriteStream. +* `fd` {integer} Integer file descriptor used by the WriteStream. Emitted when the WriteStream's file is opened. @@ -318,8 +318,8 @@ argument to `fs.createWriteStream()`. If `path` is passed as a string, then added: v0.11.15 --> -* `path` {String | Buffer} -* `mode` {Integer} +* `path` {string|Buffer} +* `mode` {integer} * `callback` {Function} Tests a user's permissions for the file or directory specified by `path`. @@ -439,8 +439,8 @@ process. added: v0.11.15 --> -* `path` {String | Buffer} -* `mode` {Integer} +* `path` {string|Buffer} +* `mode` {integer} Synchronous version of [`fs.access()`][]. This throws if any accessibility checks fail, and does nothing otherwise. @@ -461,12 +461,12 @@ changes: description: The `file` parameter can be a file descriptor now. --> -* `file` {String | Buffer | Number} filename or file descriptor -* `data` {String | Buffer} -* `options` {Object | String} - * `encoding` {String | Null} default = `'utf8'` - * `mode` {Integer} default = `0o666` - * `flag` {String} default = `'a'` +* `file` {string|Buffer|number} filename or file descriptor +* `data` {string|Buffer} +* `options` {Object|string} + * `encoding` {string|null} default = `'utf8'` + * `mode` {integer} default = `0o666` + * `flag` {string} default = `'a'` * `callback` {Function} Asynchronously append data to a file, creating the file if it does not yet exist. @@ -504,12 +504,12 @@ changes: description: The `file` parameter can be a file descriptor now. --> -* `file` {String | Buffer | Number} filename or file descriptor -* `data` {String | Buffer} -* `options` {Object | String} - * `encoding` {String | Null} default = `'utf8'` - * `mode` {Integer} default = `0o666` - * `flag` {String} default = `'a'` +* `file` {string|Buffer|number} filename or file descriptor +* `data` {string|Buffer} +* `options` {Object|string} + * `encoding` {string|null} default = `'utf8'` + * `mode` {integer} default = `0o666` + * `flag` {string} default = `'a'` The synchronous version of [`fs.appendFile()`][]. Returns `undefined`. @@ -523,8 +523,8 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} -* `mode` {Integer} +* `path` {string|Buffer} +* `mode` {integer} * `callback` {Function} Asynchronous chmod(2). No arguments other than a possible exception are given @@ -535,8 +535,8 @@ to the completion callback. added: v0.6.7 --> -* `path` {String | Buffer} -* `mode` {Integer} +* `path` {string|Buffer} +* `mode` {integer} Synchronous chmod(2). Returns `undefined`. @@ -550,9 +550,9 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} -* `uid` {Integer} -* `gid` {Integer} +* `path` {string|Buffer} +* `uid` {integer} +* `gid` {integer} * `callback` {Function} Asynchronous chown(2). No arguments other than a possible exception are given @@ -563,9 +563,9 @@ to the completion callback. added: v0.1.97 --> -* `path` {String | Buffer} -* `uid` {Integer} -* `gid` {Integer} +* `path` {string|Buffer} +* `uid` {integer} +* `gid` {integer} Synchronous chown(2). Returns `undefined`. @@ -579,7 +579,7 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} +* `fd` {integer} * `callback` {Function} Asynchronous close(2). No arguments other than a possible exception are given @@ -590,7 +590,7 @@ to the completion callback. added: v0.1.21 --> -* `fd` {Integer} +* `fd` {integer} Synchronous close(2). Returns `undefined`. @@ -612,15 +612,15 @@ changes: description: The passed `options` object can be a string now. --> -* `path` {String | Buffer} -* `options` {String | Object} - * `flags` {String} - * `encoding` {String} - * `fd` {Integer} - * `mode` {Integer} - * `autoClose` {Boolean} - * `start` {Integer} - * `end` {Integer} +* `path` {string|Buffer} +* `options` {string|Object} + * `flags` {string} + * `encoding` {string} + * `fd` {integer} + * `mode` {integer} + * `autoClose` {boolean} + * `start` {integer} + * `end` {integer} Returns a new [`ReadStream`][] object. (See [Readable Stream][]). @@ -683,14 +683,14 @@ changes: description: The passed `options` object can be a string now. --> -* `path` {String | Buffer} -* `options` {String | Object} - * `flags` {String} - * `defaultEncoding` {String} - * `fd` {Integer} - * `mode` {Integer} - * `autoClose` {Boolean} - * `start` {Integer} +* `path` {string|Buffer} +* `options` {string|Object} + * `flags` {string} + * `defaultEncoding` {string} + * `fd` {integer} + * `mode` {integer} + * `autoClose` {boolean} + * `start` {integer} Returns a new [`WriteStream`][] object. (See [Writable Stream][]). @@ -733,7 +733,7 @@ deprecated: v1.0.0 > Stability: 0 - Deprecated: Use [`fs.stat()`][] or [`fs.access()`][] instead. -* `path` {String | Buffer} +* `path` {string|Buffer} * `callback` {Function} Test whether or not the given path exists by checking with the file system. @@ -834,7 +834,7 @@ process. added: v0.1.21 --> -* `path` {String | Buffer} +* `path` {string|Buffer} Synchronous version of [`fs.exists()`][]. Returns `true` if the file exists, `false` otherwise. @@ -854,8 +854,8 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} -* `mode` {Integer} +* `fd` {integer} +* `mode` {integer} * `callback` {Function} Asynchronous fchmod(2). No arguments other than a possible exception @@ -866,8 +866,8 @@ are given to the completion callback. added: v0.4.7 --> -* `fd` {Integer} -* `mode` {Integer} +* `fd` {integer} +* `mode` {integer} Synchronous fchmod(2). Returns `undefined`. @@ -881,9 +881,9 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} -* `uid` {Integer} -* `gid` {Integer} +* `fd` {integer} +* `uid` {integer} +* `gid` {integer} * `callback` {Function} Asynchronous fchown(2). No arguments other than a possible exception are given @@ -894,9 +894,9 @@ to the completion callback. added: v0.4.7 --> -* `fd` {Integer} -* `uid` {Integer} -* `gid` {Integer} +* `fd` {integer} +* `uid` {integer} +* `gid` {integer} Synchronous fchown(2). Returns `undefined`. @@ -910,7 +910,7 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} +* `fd` {integer} * `callback` {Function} Asynchronous fdatasync(2). No arguments other than a possible exception are @@ -921,7 +921,7 @@ given to the completion callback. added: v0.1.96 --> -* `fd` {Integer} +* `fd` {integer} Synchronous fdatasync(2). Returns `undefined`. @@ -935,7 +935,7 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} +* `fd` {integer} * `callback` {Function} Asynchronous fstat(2). The callback gets two arguments `(err, stats)` where @@ -947,7 +947,7 @@ except that the file to be stat-ed is specified by the file descriptor `fd`. added: v0.1.95 --> -* `fd` {Integer} +* `fd` {integer} Synchronous fstat(2). Returns an instance of [`fs.Stats`][]. @@ -961,7 +961,7 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} +* `fd` {integer} * `callback` {Function} Asynchronous fsync(2). No arguments other than a possible exception are given @@ -972,7 +972,7 @@ to the completion callback. added: v0.1.96 --> -* `fd` {Integer} +* `fd` {integer} Synchronous fsync(2). Returns `undefined`. @@ -986,8 +986,8 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} -* `len` {Integer} default = `0` +* `fd` {integer} +* `len` {integer} default = `0` * `callback` {Function} Asynchronous ftruncate(2). No arguments other than a possible exception are @@ -1039,8 +1039,8 @@ The last three bytes are null bytes ('\0'), to compensate the over-truncation. added: v0.8.6 --> -* `fd` {Integer} -* `len` {Integer} default = `0` +* `fd` {integer} +* `len` {integer} default = `0` Synchronous ftruncate(2). Returns `undefined`. @@ -1058,9 +1058,9 @@ changes: time specifiers. --> -* `fd` {Integer} -* `atime` {Integer} -* `mtime` {Integer} +* `fd` {integer} +* `atime` {integer} +* `mtime` {integer} * `callback` {Function} Change the file timestamps of a file referenced by the supplied file @@ -1076,9 +1076,9 @@ changes: time specifiers. --> -* `fd` {Integer} -* `atime` {Integer} -* `mtime` {Integer} +* `fd` {integer} +* `atime` {integer} +* `mtime` {integer} Synchronous version of [`fs.futimes()`][]. Returns `undefined`. @@ -1092,8 +1092,8 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} -* `mode` {Integer} +* `path` {string|Buffer} +* `mode` {integer} * `callback` {Function} Asynchronous lchmod(2). No arguments other than a possible exception @@ -1106,8 +1106,8 @@ Only available on Mac OS X. deprecated: v0.4.7 --> -* `path` {String | Buffer} -* `mode` {Integer} +* `path` {string|Buffer} +* `mode` {integer} Synchronous lchmod(2). Returns `undefined`. @@ -1121,9 +1121,9 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} -* `uid` {Integer} -* `gid` {Integer} +* `path` {string|Buffer} +* `uid` {integer} +* `gid` {integer} * `callback` {Function} Asynchronous lchown(2). No arguments other than a possible exception are given @@ -1134,9 +1134,9 @@ to the completion callback. deprecated: v0.4.7 --> -* `path` {String | Buffer} -* `uid` {Integer} -* `gid` {Integer} +* `path` {string|Buffer} +* `uid` {integer} +* `gid` {integer} Synchronous lchown(2). Returns `undefined`. @@ -1150,8 +1150,8 @@ changes: it will emit a deprecation warning. --> -* `existingPath` {String | Buffer} -* `newPath` {String | Buffer} +* `existingPath` {string|Buffer} +* `newPath` {string|Buffer} * `callback` {Function} Asynchronous link(2). No arguments other than a possible exception are given to @@ -1162,8 +1162,8 @@ the completion callback. added: v0.1.31 --> -* `existingPath` {String | Buffer} -* `newPath` {String | Buffer} +* `existingPath` {string|Buffer} +* `newPath` {string|Buffer} Synchronous link(2). Returns `undefined`. @@ -1177,7 +1177,7 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} +* `path` {string|Buffer} * `callback` {Function} Asynchronous lstat(2). The callback gets two arguments `(err, stats)` where @@ -1190,7 +1190,7 @@ not the file that it refers to. added: v0.1.30 --> -* `path` {String | Buffer} +* `path` {string|Buffer} Synchronous lstat(2). Returns an instance of [`fs.Stats`][]. @@ -1204,8 +1204,8 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} -* `mode` {Integer} +* `path` {string|Buffer} +* `mode` {integer} * `callback` {Function} Asynchronous mkdir(2). No arguments other than a possible exception are given @@ -1216,8 +1216,8 @@ to the completion callback. `mode` defaults to `0o777`. added: v0.1.21 --> -* `path` {String | Buffer} -* `mode` {Integer} +* `path` {string|Buffer} +* `mode` {integer} Synchronous mkdir(2). Returns `undefined`. @@ -1234,9 +1234,9 @@ changes: description: The `callback` parameter is optional now. --> -* `prefix` {String} -* `options` {String | Object} - * `encoding` {String} default = `'utf8'` +* `prefix` {string} +* `options` {string|Object} + * `encoding` {string} default = `'utf8'` * `callback` {Function} Creates a unique temporary directory. @@ -1296,9 +1296,9 @@ fs.mkdtemp(tmpDir + path.sep, (err, folder) => { added: v5.10.0 --> -* `prefix` {String} -* `options` {String | Object} - * `encoding` {String} default = `'utf8'` +* `prefix` {string} +* `options` {string|Object} + * `encoding` {string} default = `'utf8'` The synchronous version of [`fs.mkdtemp()`][]. Returns the created folder path. @@ -1311,9 +1311,9 @@ object with an `encoding` property specifying the character encoding to use. added: v0.0.2 --> -* `path` {String | Buffer} -* `flags` {String | Number} -* `mode` {Integer} +* `path` {string|Buffer} +* `flags` {string|number} +* `mode` {integer} * `callback` {Function} Asynchronous file open. See open(2). `flags` can be: @@ -1395,9 +1395,9 @@ fs.open('', 'a+', (err, fd) => { added: v0.1.21 --> -* `path` {String | Buffer} -* `flags` {String | Number} -* `mode` {Integer} +* `path` {string|Buffer} +* `flags` {string|number} +* `mode` {integer} Synchronous version of [`fs.open()`][]. Returns an integer representing the file descriptor. @@ -1414,11 +1414,11 @@ changes: description: The `length` parameter can now be `0`. --> -* `fd` {Integer} -* `buffer` {String | Buffer | Uint8Array} -* `offset` {Integer} -* `length` {Integer} -* `position` {Integer} +* `fd` {integer} +* `buffer` {string|Buffer|Uint8Array} +* `offset` {integer} +* `length` {integer} +* `position` {integer} * `callback` {Function} Read data from the file specified by `fd`. @@ -1444,9 +1444,9 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} -* `options` {String | Object} - * `encoding` {String} default = `'utf8'` +* `path` {string|Buffer} +* `options` {string|Object} + * `encoding` {string} default = `'utf8'` * `callback` {Function} Asynchronous readdir(3). Reads the contents of a directory. @@ -1463,9 +1463,9 @@ the filenames returned will be passed as `Buffer` objects. added: v0.1.21 --> -* `path` {String | Buffer} -* `options` {String | Object} - * `encoding` {String} default = `'utf8'` +* `path` {string|Buffer} +* `options` {string|Object} + * `encoding` {string} default = `'utf8'` Synchronous readdir(3). Returns an array of filenames excluding `'.'` and `'..'`. @@ -1492,10 +1492,10 @@ changes: description: The `file` parameter can be a file descriptor now. --> -* `file` {String | Buffer | Integer} filename or file descriptor -* `options` {Object | String} - * `encoding` {String | Null} default = `null` - * `flag` {String} default = `'r'` +* `file` {string|Buffer|integer} filename or file descriptor +* `options` {Object|string} + * `encoding` {string|null} default = `null` + * `flag` {string} default = `'r'` * `callback` {Function} Asynchronously reads the entire contents of a file. Example: @@ -1532,10 +1532,10 @@ changes: description: The `file` parameter can be a file descriptor now. --> -* `file` {String | Buffer | Integer} filename or file descriptor -* `options` {Object | String} - * `encoding` {String | Null} default = `null` - * `flag` {String} default = `'r'` +* `file` {string|Buffer|integer} filename or file descriptor +* `options` {Object|string} + * `encoding` {string|null} default = `null` + * `flag` {string} default = `'r'` Synchronous version of [`fs.readFile`][]. Returns the contents of the `file`. @@ -1552,9 +1552,9 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} -* `options` {String | Object} - * `encoding` {String} default = `'utf8'` +* `path` {string|Buffer} +* `options` {string|Object} + * `encoding` {string} default = `'utf8'` * `callback` {Function} Asynchronous readlink(2). The callback gets two arguments `(err, @@ -1570,9 +1570,9 @@ the link path returned will be passed as a `Buffer` object. added: v0.1.31 --> -* `path` {String | Buffer} -* `options` {String | Object} - * `encoding` {String} default = `'utf8'` +* `path` {string|Buffer} +* `options` {string|Object} + * `encoding` {string} default = `'utf8'` Synchronous readlink(2). Returns the symbolic link's string value. @@ -1590,11 +1590,11 @@ changes: description: The `length` parameter can now be `0`. --> -* `fd` {Integer} -* `buffer` {String | Buffer | Uint8Array} -* `offset` {Integer} -* `length` {Integer} -* `position` {Integer} +* `fd` {integer} +* `buffer` {string|Buffer|Uint8Array} +* `offset` {integer} +* `length` {integer} +* `position` {integer} Synchronous version of [`fs.read()`][]. Returns the number of `bytesRead`. @@ -1615,9 +1615,9 @@ changes: description: The `cache` parameter was removed. --> -* `path` {String | Buffer} -* `options` {String | Object} - * `encoding` {String} default = `'utf8'` +* `path` {string|Buffer} +* `options` {string|Object} + * `encoding` {string} default = `'utf8'` * `callback` {Function} Asynchronous realpath(3). The `callback` gets two arguments `(err, @@ -1643,9 +1643,9 @@ changes: description: The `cache` parameter was removed. --> -* `path` {String | Buffer}; -* `options` {String | Object} - * `encoding` {String} default = `'utf8'` +* `path` {string|Buffer}; +* `options` {string|Object} + * `encoding` {string} default = `'utf8'` Synchronous realpath(3). Returns the resolved path. @@ -1666,8 +1666,8 @@ changes: it will emit a deprecation warning. --> -* `oldPath` {String | Buffer} -* `newPath` {String | Buffer} +* `oldPath` {string|Buffer} +* `newPath` {string|Buffer} * `callback` {Function} Asynchronous rename(2). No arguments other than a possible exception are given @@ -1678,8 +1678,8 @@ to the completion callback. added: v0.1.21 --> -* `oldPath` {String | Buffer} -* `newPath` {String | Buffer} +* `oldPath` {string|Buffer} +* `newPath` {string|Buffer} Synchronous rename(2). Returns `undefined`. @@ -1693,7 +1693,7 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} +* `path` {string|Buffer} * `callback` {Function} Asynchronous rmdir(2). No arguments other than a possible exception are given @@ -1704,7 +1704,7 @@ to the completion callback. added: v0.1.21 --> -* `path` {String | Buffer} +* `path` {string|Buffer} Synchronous rmdir(2). Returns `undefined`. @@ -1718,7 +1718,7 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} +* `path` {string|Buffer} * `callback` {Function} Asynchronous stat(2). The callback gets two arguments `(err, stats)` where @@ -1739,7 +1739,7 @@ is recommended. added: v0.1.21 --> -* `path` {String | Buffer} +* `path` {string|Buffer} Synchronous stat(2). Returns an instance of [`fs.Stats`][]. @@ -1748,9 +1748,9 @@ Synchronous stat(2). Returns an instance of [`fs.Stats`][]. added: v0.1.31 --> -* `target` {String | Buffer} -* `path` {String | Buffer} -* `type` {String} +* `target` {string|Buffer} +* `path` {string|Buffer} +* `type` {string} * `callback` {Function} Asynchronous symlink(2). No arguments other than a possible exception are given @@ -1773,9 +1773,9 @@ It creates a symbolic link named "new-port" that points to "foo". added: v0.1.31 --> -* `target` {String | Buffer} -* `path` {String | Buffer} -* `type` {String} +* `target` {string|Buffer} +* `path` {string|Buffer} +* `type` {string} Synchronous symlink(2). Returns `undefined`. @@ -1789,8 +1789,8 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} -* `len` {Integer} default = `0` +* `path` {string|Buffer} +* `len` {integer} default = `0` * `callback` {Function} Asynchronous truncate(2). No arguments other than a possible exception are @@ -1802,8 +1802,8 @@ first argument. In this case, `fs.ftruncate()` is called. added: v0.8.6 --> -* `path` {String | Buffer} -* `len` {Integer} default = `0` +* `path` {string|Buffer} +* `len` {integer} default = `0` Synchronous truncate(2). Returns `undefined`. A file descriptor can also be passed as the first argument. In this case, `fs.ftruncateSync()` is called. @@ -1818,7 +1818,7 @@ changes: it will emit a deprecation warning. --> -* `path` {String | Buffer} +* `path` {string|Buffer} * `callback` {Function} Asynchronous unlink(2). No arguments other than a possible exception are given @@ -1829,7 +1829,7 @@ to the completion callback. added: v0.1.21 --> -* `path` {String | Buffer} +* `path` {string|Buffer} Synchronous unlink(2). Returns `undefined`. @@ -1838,7 +1838,7 @@ Synchronous unlink(2). Returns `undefined`. added: v0.1.31 --> -* `filename` {String | Buffer} +* `filename` {string|Buffer} * `listener` {Function} Stop watching for changes on `filename`. If `listener` is specified, only that @@ -1866,9 +1866,9 @@ changes: time specifiers. --> -* `path` {String | Buffer} -* `atime` {Integer} -* `mtime` {Integer} +* `path` {string|Buffer} +* `atime` {integer} +* `mtime` {integer} * `callback` {Function} Change file timestamps of the file referenced by the supplied path. @@ -1893,9 +1893,9 @@ changes: time specifiers. --> -* `path` {String | Buffer} -* `atime` {Integer} -* `mtime` {Integer} +* `path` {string|Buffer} +* `atime` {integer} +* `mtime` {integer} Synchronous version of [`fs.utimes()`][]. Returns `undefined`. @@ -1908,15 +1908,15 @@ changes: description: The passed `options` object will never be modified. --> -* `filename` {String | Buffer} -* `options` {String | Object} - * `persistent` {Boolean} Indicates whether the process should continue to run +* `filename` {string|Buffer} +* `options` {string|Object} + * `persistent` {boolean} Indicates whether the process should continue to run as long as files are being watched. default = `true` - * `recursive` {Boolean} Indicates whether all subdirectories should be + * `recursive` {boolean} Indicates whether all subdirectories should be watched, or only the current directory. The applies when a directory is specified, and only on supported platforms (See [Caveats][]). default = `false` - * `encoding` {String} Specifies the character encoding to be used for the + * `encoding` {string} Specifies the character encoding to be used for the filename passed to the listener. default = `'utf8'` * `listener` {Function} @@ -2011,10 +2011,10 @@ fs.watch('somedir', (eventType, filename) => { added: v0.1.31 --> -* `filename` {String | Buffer} +* `filename` {string|Buffer} * `options` {Object} - * `persistent` {Boolean} - * `interval` {Integer} + * `persistent` {boolean} + * `interval` {integer} * `listener` {Function} Watch for changes on `filename`. The callback `listener` will be called each @@ -2068,11 +2068,11 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} -* `buffer` {Buffer | Uint8Array} -* `offset` {Integer} -* `length` {Integer} -* `position` {Integer} +* `fd` {integer} +* `buffer` {Buffer|Uint8Array} +* `offset` {integer} +* `length` {integer} +* `position` {integer} * `callback` {Function} Write `buffer` to the file specified by `fd`. @@ -2108,10 +2108,10 @@ changes: it will emit a deprecation warning. --> -* `fd` {Integer} -* `string` {String} -* `position` {Integer} -* `encoding` {String} +* `fd` {integer} +* `string` {string} +* `position` {integer} +* `encoding` {string} * `callback` {Function} Write `string` to the file specified by `fd`. If `string` is not a string, then @@ -2155,12 +2155,12 @@ changes: description: The `file` parameter can be a file descriptor now. --> -* `file` {String | Buffer | Integer} filename or file descriptor -* `data` {String | Buffer | Uint8Array} -* `options` {Object | String} - * `encoding` {String | Null} default = `'utf8'` - * `mode` {Integer} default = `0o666` - * `flag` {String} default = `'w'` +* `file` {string|Buffer|integer} filename or file descriptor +* `data` {string|Buffer|Uint8Array} +* `options` {Object|string} + * `encoding` {string|null} default = `'utf8'` + * `mode` {integer} default = `0o666` + * `flag` {string} default = `'w'` * `callback` {Function} Asynchronously writes data to a file, replacing the file if it already exists. @@ -2205,12 +2205,12 @@ changes: description: The `file` parameter can be a file descriptor now. --> -* `file` {String | Buffer | Integer} filename or file descriptor -* `data` {String | Buffer | Uint8Array} -* `options` {Object | String} - * `encoding` {String | Null} default = `'utf8'` - * `mode` {Integer} default = `0o666` - * `flag` {String} default = `'w'` +* `file` {string|Buffer|integer} filename or file descriptor +* `data` {string|Buffer|Uint8Array} +* `options` {Object|string} + * `encoding` {string|null} default = `'utf8'` + * `mode` {integer} default = `0o666` + * `flag` {string} default = `'w'` The synchronous version of [`fs.writeFile()`][]. Returns `undefined`. @@ -2226,11 +2226,11 @@ changes: description: The `offset` and `length` parameters are optional now. --> -* `fd` {Integer} -* `buffer` {Buffer | Uint8Array} -* `offset` {Integer} -* `length` {Integer} -* `position` {Integer} +* `fd` {integer} +* `buffer` {Buffer|Uint8Array} +* `offset` {integer} +* `length` {integer} +* `position` {integer} ## fs.writeSync(fd, string[, position[, encoding]]) -* `fd` {Integer} -* `string` {String} -* `position` {Integer} -* `encoding` {String} +* `fd` {integer} +* `string` {string} +* `position` {integer} +* `encoding` {string} Synchronous versions of [`fs.write()`][]. Returns the number of bytes written. diff --git a/doc/api/globals.md b/doc/api/globals.md index 4ce4f479f6c89f..4e727a917ac31c 100644 --- a/doc/api/globals.md +++ b/doc/api/globals.md @@ -27,7 +27,7 @@ added: v0.1.27 -* {String} +* {string} The directory name of the current module. This the same as the [`path.dirname()`][] of the [`__filename`][]. @@ -50,7 +50,7 @@ added: v0.0.1 -* {String} +* {string} The file name of the current module. This is the resolved absolute path of the current module file. diff --git a/doc/api/http.md b/doc/api/http.md index 1b766c3eea97f4..a407c76a5e9550 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -73,9 +73,9 @@ It is good practice, to [`destroy()`][] an `Agent` instance when it is no longer in use, because unused sockets consume OS resources. Sockets are removed from an agent's pool when the socket emits either -a `'close'` event or an `'agentRemove'` event. This means that if -you intend to keep one HTTP request open for a long time and don't -want it to stay in the pool you can do something along the lines of: +a `'close'` event or an `'agentRemove'` event. When intending to keep one +HTTP request open for a long time without keeping it in the pool, something +like the following may be done: ```js http.get(options, (res) => { @@ -85,7 +85,7 @@ http.get(options, (res) => { }); ``` -You may also use an agent for an individual request. By providing +An agent may also be used for an individual request. By providing `{agent: false}` as an option to the `http.get()` or `http.request()` functions, a one-time use `Agent` with default options will be used for the client connection. @@ -110,23 +110,23 @@ added: v0.3.4 * `options` {Object} Set of configurable options to set on the agent. Can have the following fields: - * `keepAlive` {Boolean} Keep sockets around even when there are no + * `keepAlive` {boolean} Keep sockets around even when there are no outstanding requests, so they can be used for future requests without - having to reestablish a TCP connection. Default = `false` - * `keepAliveMsecs` {Integer} When using the `keepAlive` option, specifies + having to reestablish a TCP connection. Defaults to `false` + * `keepAliveMsecs` {number} When using the `keepAlive` option, specifies the [initial delay](net.html#net_socket_setkeepalive_enable_initialdelay) for TCP Keep-Alive packets. Ignored when the - `keepAlive` option is `false` or `undefined`. Default = `1000`. - * `maxSockets` {Number} Maximum number of sockets to allow per - host. Default = `Infinity`. - * `maxFreeSockets` {Number} Maximum number of sockets to leave open + `keepAlive` option is `false` or `undefined`. Defaults to `1000`. + * `maxSockets` {number} Maximum number of sockets to allow per + host. Defaults to `Infinity`. + * `maxFreeSockets` {number} Maximum number of sockets to leave open in a free state. Only relevant if `keepAlive` is set to `true`. - Default = `256`. + Defaults to `256`. The default [`http.globalAgent`][] that is used by [`http.request()`][] has all of these values set to their respective defaults. -To configure any of them, you must create your own [`http.Agent`][] instance. +To configure any of them, a custom [`http.Agent`][] instance must be created. ```js const http = require('http'); @@ -162,9 +162,9 @@ added: v0.11.4 Destroy any sockets that are currently in use by the agent. -It is usually not necessary to do this. However, if you are using an +It is usually not necessary to do this. However, if using an agent with `keepAlive` enabled, then it is best to explicitly shut down -the agent when you know that it will no longer be used. Otherwise, +the agent when it will no longer be used. Otherwise, sockets may hang open for quite a long time before the server terminates them. @@ -184,11 +184,11 @@ added: v0.11.4 --> * `options` {Object} A set of options providing information for name generation - * `host` {String} A domain name or IP address of the server to issue the request to - * `port` {Number} Port of remote server - * `localAddress` {String} Local interface to bind for network connections + * `host` {string} A domain name or IP address of the server to issue the request to + * `port` {number} Port of remote server + * `localAddress` {string} Local interface to bind for network connections when issuing the request -* Returns: {String} +* Returns: {string} Get a unique name for a set of request options, to determine whether a connection can be reused. For an HTTP agent, this returns @@ -201,7 +201,7 @@ socket reusability. added: v0.11.7 --> -* {Number} +* {number} By default set to 256. For agents with `keepAlive` enabled, this sets the maximum number of sockets that will be left open in the free @@ -212,7 +212,7 @@ state. added: v0.3.6 --> -* {Number} +* {number} By default set to Infinity. Determines how many concurrent sockets the agent can have open per origin. Origin is either a 'host:port' or @@ -258,8 +258,8 @@ During the [`'response'`][] event, one can add listeners to the response object; particularly to listen for the `'data'` event. If no [`'response'`][] handler is added, then the response will be -entirely discarded. However, if you add a [`'response'`][] event handler, -then you **must** consume the data from the response object, either by +entirely discarded. However, if a [`'response'`][] event handler is added, +then the data from the response object **must** be consumed, either by calling `response.read()` whenever there is a `'readable'` event, or by adding a `'data'` handler, or by calling the `.resume()` method. Until the data is consumed, the `'end'` event will not fire. Also, until @@ -301,7 +301,7 @@ Emitted each time a server responds to a request with a `CONNECT` method. If thi event is not being listened for, clients receiving a `CONNECT` method will have their connections closed. -A client and server pair that shows you how to listen for the `'connect'` event: +A client and server pair demonstrating how to listen for the `'connect'` event: ```js const http = require('http'); @@ -399,7 +399,7 @@ Emitted each time a server responds to a request with an upgrade. If this event is not being listened for, clients receiving an upgrade header will have their connections closed. -A client server pair that show you how to listen for the `'upgrade'` event. +A client server pair demonstrating how to listen for the `'upgrade'` event. ```js const http = require('http'); @@ -463,8 +463,8 @@ aborted, in milliseconds since 1 January 1970 00:00:00 UTC. added: v0.1.90 --> -* `data` {String | Buffer} -* `encoding` {String} +* `data` {string|Buffer} +* `encoding` {string} * `callback` {Function} Finishes sending the request. If any parts of the body are @@ -484,20 +484,20 @@ added: v1.6.0 Flush the request headers. -For efficiency reasons, Node.js normally buffers the request headers until you -call `request.end()` or write the first chunk of request data. It then tries -hard to pack the request headers and data into a single TCP packet. +For efficiency reasons, Node.js normally buffers the request headers until +`request.end()` is called or the first chunk of request data is written. It +then tries to pack the request headers and data into a single TCP packet. -That's usually what you want (it saves a TCP round-trip) but not when the first -data is not sent until possibly much later. `request.flushHeaders()` lets you bypass -the optimization and kickstart the request. +That's usually desired (it saves a TCP round-trip), but not when the first +data is not sent until possibly much later. `request.flushHeaders()` bypasses +the optimization and kickstarts the request. ### request.setNoDelay([noDelay]) -* `noDelay` {Boolean} +* `noDelay` {boolean} Once a socket is assigned to this request and is connected [`socket.setNoDelay()`][] will be called. @@ -507,8 +507,8 @@ Once a socket is assigned to this request and is connected added: v0.5.9 --> -* `enable` {Boolean} -* `initialDelay` {Number} +* `enable` {boolean} +* `initialDelay` {number} Once a socket is assigned to this request and is connected [`socket.setKeepAlive()`][] will be called. @@ -518,7 +518,7 @@ Once a socket is assigned to this request and is connected added: v0.5.9 --> -* `timeout` {Number} Milliseconds before a request is considered to be timed out. +* `timeout` {number} Milliseconds before a request is considered to be timed out. * `callback` {Function} Optional function to be called when a timeout occurs. Same as binding to the `timeout` event. Once a socket is assigned to this request and is connected @@ -531,12 +531,12 @@ Returns `request`. added: v0.1.29 --> -* `chunk` {String | Buffer} -* `encoding` {String} +* `chunk` {string|Buffer} +* `encoding` {string} * `callback` {Function} Sends a chunk of the body. By calling this method -many times, the user can stream a request body to a +many times, a request body can be sent to a server--in that case it is suggested to use the `['Transfer-Encoding', 'chunked']` header line when creating the request. @@ -653,7 +653,7 @@ not listened for, then clients requesting a `CONNECT` method will have their connections closed. After this event is emitted, the request's socket will not have a `'data'` -event listener, meaning you will need to bind to it in order to handle data +event listener, meaning it will need to be bound in order to handle data sent to the server on that socket. ### Event: 'connection' @@ -695,7 +695,7 @@ listened for, then clients requesting an upgrade will have their connections closed. After this event is emitted, the request's socket will not have a `'data'` -event listener, meaning you will need to bind to it in order to handle data +event listener, meaning it will need to be bound in order to handle data sent to the server on that socket. ### server.close([callback]) @@ -737,7 +737,7 @@ subsequent call will *re-open* the server using the provided options. added: v0.1.90 --> -* `path` {String} +* `path` {string} * `callback` {Function} Start a UNIX socket server listening for connections on the given `path`. @@ -753,9 +753,9 @@ subsequent call will *re-open* the server using the provided options. added: v0.1.90 --> -* `port` {Number} -* `hostname` {String} -* `backlog` {Number} +* `port` {number} +* `hostname` {string} +* `backlog` {number} * `callback` {Function} Begin accepting connections on the specified `port` and `hostname`. If the @@ -774,7 +774,7 @@ after the `'listening'` event has been emitted. To listen to a unix socket, supply a filename instead of port and hostname. `backlog` is the maximum length of the queue of pending connections. -The actual length will be determined by your OS through sysctl settings such as +The actual length will be determined by the OS through sysctl settings such as `tcp_max_syn_backlog` and `somaxconn` on linux. The default value of this parameter is 511 (not 512). @@ -789,27 +789,27 @@ subsequent call will *re-open* the server using the provided options. added: v5.7.0 --> -* {Boolean} +* {boolean} A Boolean indicating whether or not the server is listening for connections. -### server.maxHeadersCount +### server.maxHeadersCount([limit]) -* {Number} +* `limit` {number} Defaults to 1000. Limits maximum incoming headers count, equal to 1000 by default. If set to 0 - no limit will be applied. -### server.setTimeout(msecs, callback) +### server.setTimeout([msecs][, callback]) -* `msecs` {Number} +* `msecs` {number} Defaults to 120000 (2 minutes). * `callback` {Function} Sets the timeout value for sockets, and emits a `'timeout'` event on @@ -820,18 +820,17 @@ If there is a `'timeout'` event listener on the Server object, then it will be called with the timed-out socket as an argument. By default, the Server's timeout value is 2 minutes, and sockets are -destroyed automatically if they time out. However, if you assign a -callback to the Server's `'timeout'` event, then you are responsible -for handling socket timeouts. +destroyed automatically if they time out. However, if a callback is assigned +to the Server's `'timeout'` event, timeouts must be handled explicitly. Returns `server`. -### server.timeout +### server.timeout([msecs]) -* {Number} Default = 120000 (2 minutes) +* `msecs` {number} Defaults to 120000 (2 minutes). The number of milliseconds of inactivity before a socket is presumed to have timed out. @@ -888,7 +887,7 @@ Trailers will **only** be emitted if chunked encoding is used for the response; if it is not (e.g. if the request was HTTP/1.0), they will be silently discarded. -Note that HTTP requires the `Trailer` header to be sent if you intend to +Note that HTTP requires the `Trailer` header to be sent in order to emit trailers, with a list of the header fields in its value. E.g., ```js @@ -907,8 +906,8 @@ will result in a [`TypeError`][] being thrown. added: v0.1.90 --> -* `data` {String | Buffer} -* `encoding` {String} +* `data` {string|Buffer} +* `encoding` {string} * `callback` {Function} This method signals to the server that all of the response headers and body @@ -926,7 +925,7 @@ is finished. added: v0.0.2 --> -* {Boolean} +* {boolean} Boolean value that indicates whether the response has completed. Starts as `false`. After [`response.end()`][] executes, the value will be `true`. @@ -936,8 +935,8 @@ as `false`. After [`response.end()`][] executes, the value will be `true`. added: v0.4.0 --> -* `name` {String} -* Returns: {String} +* `name` {string} +* Returns: {string} Reads out a header that's already been queued but not sent to the client. Note that the name is case insensitive. @@ -996,8 +995,8 @@ var headers = response.getHeaders(); added: v7.7.0 --> -* `name` {String} -* Returns: {Boolean} +* `name` {string} +* Returns: {boolean} Returns `true` if the header identified by `name` is currently set in the outgoing headers. Note that the header name matching is case-insensitive. @@ -1013,7 +1012,7 @@ var hasContentType = response.hasHeader('content-type'); added: v0.9.3 --> -* {Boolean} +* {boolean} Boolean (read-only). True if headers were sent, false otherwise. @@ -1022,7 +1021,7 @@ Boolean (read-only). True if headers were sent, false otherwise. added: v0.4.0 --> -* `name` {String} +* `name` {string} Removes a header that's queued for implicit sending. @@ -1037,7 +1036,7 @@ response.removeHeader('Content-Encoding'); added: v0.7.5 --> -* {Boolean} +* {boolean} When true, the Date header will be automatically generated and sent in the response if it is not already present in the headers. Defaults to true. @@ -1050,12 +1049,12 @@ in responses. added: v0.4.0 --> -* `name` {String} -* `value` {String} +* `name` {string} +* `value` {string | string[]} Sets a single header value for implicit headers. If this header already exists in the to-be-sent headers, its value will be replaced. Use an array of strings -here if you need to send multiple headers with the same name. +here to send multiple headers with the same name. Example: @@ -1086,12 +1085,12 @@ const server = http.createServer((req,res) => { }); ``` -### response.setTimeout(msecs, callback) +### response.setTimeout(msecs[, callback]) -* `msecs` {Number} +* `msecs` {number} * `callback` {Function} Sets the Socket's timeout value to `msecs`. If a callback is @@ -1099,10 +1098,9 @@ provided, then it is added as a listener on the `'timeout'` event on the response object. If no `'timeout'` listener is added to the request, the response, or -the server, then sockets are destroyed when they time out. If you -assign a handler on the request, the response, or the server's -`'timeout'` events, then it is your responsibility to handle timed out -sockets. +the server, then sockets are destroyed when they time out. If a handler is +assigned to the request, the response, or the server's `'timeout'` events, +timed out sockets must be handled explicitly. Returns `response`. @@ -1111,7 +1109,7 @@ Returns `response`. added: v0.4.0 --> -* {Number} +* {number} When using implicit headers (not calling [`response.writeHead()`][] explicitly), this property controls the status code that will be sent to the client when @@ -1131,7 +1129,7 @@ status code which was sent out. added: v0.11.8 --> -* {String} +* {string} When using implicit headers (not calling [`response.writeHead()`][] explicitly), this property controls the status message that will be sent to the client when the headers get @@ -1152,10 +1150,10 @@ status message which was sent out. added: v0.1.29 --> -* `chunk` {String | Buffer} -* `encoding` {String} +* `chunk` {string|Buffer} +* `encoding` {string} * `callback` {Function} -* Returns: {Boolean} +* Returns: {boolean} If this method is called and [`response.writeHead()`][] has not been called, it will switch to implicit header mode and flush the implicit headers. @@ -1172,10 +1170,10 @@ of data is flushed. higher-level multi-part body encodings that may be used. The first time [`response.write()`][] is called, it will send the buffered -header information and the first body to the client. The second time -[`response.write()`][] is called, Node.js assumes you're going to be streaming -data, and sends that separately. That is, the response is buffered up to the -first chunk of body. +header information and the first chunk of the body to the client. The second +time [`response.write()`][] is called, Node.js assumes data will be streamed, +and sends the new data separately. That is, the response is buffered up to the +first chunk of the body. Returns `true` if the entire data was flushed successfully to the kernel buffer. Returns `false` if all or part of the data was queued in user memory. @@ -1199,8 +1197,8 @@ changes: the range `[100, 999]`. --> -* `statusCode` {Number} -* `statusMessage` {String} +* `statusCode` {number} +* `statusMessage` {string} * `headers` {Object} Sends a response header to the request. The status code is a 3-digit HTTP @@ -1220,8 +1218,8 @@ response.writeHead(200, { This method must only be called once on a message and it must be called before [`response.end()`][] is called. -If you call [`response.write()`][] or [`response.end()`][] before calling this, -the implicit/mutable headers will be calculated and call this function for you. +If [`response.write()`][] or [`response.end()`][] are called before calling +this, the implicit/mutable headers will be calculated and call this function. When headers have been set with [`response.setHeader()`][], they will be merged with any headers passed to [`response.writeHead()`][], with the headers passed to @@ -1323,7 +1321,7 @@ header name: added: v0.1.1 --> -* {String} +* {string} In case of server request, the HTTP version sent by the client. In the case of client response, the HTTP version of the connected-to server. @@ -1337,7 +1335,7 @@ Also `message.httpVersionMajor` is the first integer and added: v0.1.1 --> -* {String} +* {string} **Only valid for request obtained from [`http.Server`][].** @@ -1388,7 +1386,7 @@ received. Only populated at the `'end'` event. added: v0.5.9 --> -* `msecs` {Number} +* `msecs` {number} * `callback` {Function} Calls `message.connection.setTimeout(msecs, callback)`. @@ -1412,7 +1410,7 @@ client's authentication details. added: v0.1.1 --> -* {Number} +* {number} **Only valid for response obtained from [`http.ClientRequest`][].** @@ -1423,7 +1421,7 @@ The 3-digit HTTP response status code. E.G. `404`. added: v0.11.10 --> -* {String} +* {string} **Only valid for response obtained from [`http.ClientRequest`][].** @@ -1443,7 +1441,7 @@ The request/response trailers object. Only populated at the `'end'` event. added: v0.1.90 --> -* {String} +* {string} **Only valid for request obtained from [`http.Server`][].** @@ -1462,8 +1460,8 @@ Then `request.url` will be: '/status?name=ryan' ``` -If you would like to parse the URL into its parts, you can use -`require('url').parse(request.url)`. Example: +To parse the url into its parts `require('url').parse(request.url)` +can be used. Example: ```txt $ node @@ -1476,9 +1474,10 @@ $ node } ``` -If you would like to extract the parameters from the query string, -you can use the `require('querystring').parse` function, or pass -`true` as the second argument to `require('url').parse`. Example: +To extract the parameters from the query string, the +`require('querystring').parse` function can be used, or +`true` can be passed as the second argument to `require('url').parse`. +Example: ```txt $ node @@ -1515,6 +1514,7 @@ Found'`. +- `requestListener` {Function} * Returns: {http.Server} @@ -1528,7 +1528,8 @@ added to the [`'request'`][] event. added: v0.3.6 --> -* `options` {Object} +* `options` {Object | string} Accepts the same `options` as + [`http.request()`][], with the `method` always set to `GET`. * `callback` {Function} * Returns: {http.ClientRequest} @@ -1594,29 +1595,29 @@ requests. added: v0.3.6 --> -* `options` {Object} - * `protocol` {String} Protocol to use. Defaults to `'http:'`. - * `host` {String} A domain name or IP address of the server to issue the - request to. Defaults to `'localhost'`. - * `hostname` {String} Alias for `host`. To support [`url.parse()`][], +* `options` {Object | string} + * `protocol` {string} Protocol to use. Defaults to `http:`. + * `host` {string} A domain name or IP address of the server to issue the + request to. Defaults to `localhost`. + * `hostname` {string} Alias for `host`. To support [`url.parse()`][], `hostname` is preferred over `host`. - * `family` {Number} IP address family to use when resolving `host` and + * `family` {number} IP address family to use when resolving `host` and `hostname`. Valid values are `4` or `6`. When unspecified, both IP v4 and v6 will be used. - * `port` {Number} Port of remote server. Defaults to 80. - * `localAddress` {String} Local interface to bind for network connections. - * `socketPath` {String} Unix Domain Socket (use one of host:port or + * `port` {number} Port of remote server. Defaults to 80. + * `localAddress` {string} Local interface to bind for network connections. + * `socketPath` {string} Unix Domain Socket (use one of host:port or socketPath). - * `method` {String} A string specifying the HTTP request method. Defaults to + * `method` {string} A string specifying the HTTP request method. Defaults to `'GET'`. - * `path` {String} Request path. Defaults to `'/'`. Should include query + * `path` {string} Request path. Defaults to `'/'`. Should include query string if any. E.G. `'/index.html?page=12'`. An exception is thrown when the request path contains illegal characters. Currently, only spaces are rejected but that may change in the future. * `headers` {Object} An object containing request headers. - * `auth` {String} Basic authentication i.e. `'user:password'` to compute an + * `auth` {string} Basic authentication i.e. `'user:password'` to compute an Authorization header. - * `agent` {http.Agent|Boolean} Controls [`Agent`][] behavior. Possible values: + * `agent` {http.Agent | boolean} Controls [`Agent`][] behavior. Possible values: * `undefined` (default): use [`http.globalAgent`][] for this host and port. * `Agent` object: explicitly use the passed in `Agent`. * `false`: causes a new `Agent` with default values to be used. @@ -1625,7 +1626,7 @@ added: v0.3.6 avoid creating a custom `Agent` class just to override the default `createConnection` function. See [`agent.createConnection()`][] for more details. - * `timeout` {Integer}: A number specifying the socket timeout in milliseconds. + * `timeout` {number}: A number specifying the socket timeout in milliseconds. This will set the timeout before the socket is connected. * `callback` {Function} * Returns: {http.ClientRequest} @@ -1683,7 +1684,7 @@ req.end(); ``` Note that in the example `req.end()` was called. With `http.request()` one -must always call `req.end()` to signify that you're done with the request - +must always call `req.end()` to signify the end of the request - even if there is no data being written to the request body. If any error is encountered during the request (be that with DNS resolution, @@ -1699,8 +1700,8 @@ There are a few special headers that should be noted. * Sending a 'Content-Length' header will disable the default chunked encoding. * Sending an 'Expect' header will immediately send the request headers. - Usually, when sending 'Expect: 100-continue', you should both set a timeout - and listen for the `'continue'` event. See RFC2616 Section 8.2.3 for more + Usually, when sending 'Expect: 100-continue', both a timeout and a listener + for the `continue` event should be set. See RFC2616 Section 8.2.3 for more information. * Sending an Authorization header will override using the `auth` option diff --git a/doc/api/https.md b/doc/api/https.md index 355fd7b133a76d..515a4362effc85 100644 --- a/doc/api/https.md +++ b/doc/api/https.md @@ -21,17 +21,20 @@ added: v0.3.4 This class is a subclass of `tls.Server` and emits events same as [`http.Server`][]. See [`http.Server`][] for more information. -### server.setTimeout(msecs, callback) +### server.setTimeout([msecs][, callback]) +- `msecs` {number} Defaults to 120000 (2 minutes). +- `callback` {Function} See [`http.Server#setTimeout()`][]. -### server.timeout +### server.timeout([msecs]) +- `msecs` {number} Defaults to 120000 (2 minutes). See [`http.Server#timeout`][]. @@ -39,10 +42,8 @@ See [`http.Server#timeout`][]. - -Returns a new HTTPS web server object. The `options` is similar to -[`tls.createServer()`][]. The `requestListener` is a function which is -automatically added to the `'request'` event. +- `options` {Object} Accepts `options` from [`tls.createServer()`][] and [`tls.createSecureContext()`][]. +- `requestListener` {Function} A listener to be added to the `request` event. Example: @@ -82,19 +83,33 @@ https.createServer(options, (req, res) => { +- `callback` {Function} See [`http.close()`][] for details. ### server.listen(handle[, callback]) +- `handle` {Object} +- `callback` {Function} + ### server.listen(path[, callback]) -### server.listen(port[, host][, backlog][, callback]) +- `path` {string} +- `callback` {Function} + +### server.listen([port][, host][, backlog][, callback]) +- `port` {number} +- `hostname` {string} +- `backlog` {number} +- `callback` {Function} See [`http.listen()`][] for details. -## https.get(options, callback) +## https.get(options[, callback]) +- `options` {Object | string} Accepts the same `options` as + [`https.request()`][], with the `method` always set to `GET`. +- `callback` {Function} Like [`http.get()`][] but for HTTPS. @@ -126,18 +141,27 @@ added: v0.5.9 Global instance of [`https.Agent`][] for all HTTPS client requests. -## https.request(options, callback) +## https.request(options[, callback]) +- `options` {Object | string} Accepts all `options` from [`http.request()`][], + with some differences in default values: + - `protocol` Defaults to `https:` + - `port` Defaults to `443`. + - `agent` Defaults to `https.globalAgent`. +- `callback` {Function} + Makes a request to a secure web server. +The following additional `options` from [`tls.connect()`][] are also accepted when using a + custom [`Agent`][]: + `pfx`, `key`, `passphrase`, `cert`, `ca`, `ciphers`, `rejectUnauthorized`, `secureProtocol`, `servername` + `options` can be an object or a string. If `options` is a string, it is automatically parsed with [`url.parse()`][]. -All options from [`http.request()`][] are valid. - Example: ```js @@ -164,58 +188,7 @@ req.on('error', (e) => { }); req.end(); ``` - -The options argument has the following options - -- `host`: A domain name or IP address of the server to issue the request to. - Defaults to `'localhost'`. -- `hostname`: Alias for `host`. To support `url.parse()` `hostname` is - preferred over `host`. -- `family`: IP address family to use when resolving `host` and `hostname`. - Valid values are `4` or `6`. When unspecified, both IP v4 and v6 will be - used. -- `port`: Port of remote server. Defaults to 443. -- `localAddress`: Local interface to bind for network connections. -- `socketPath`: Unix Domain Socket (use one of host:port or socketPath). -- `method`: A string specifying the HTTP request method. Defaults to `'GET'`. -- `path`: Request path. Defaults to `'/'`. Should include query string if any. - E.G. `'/index.html?page=12'`. An exception is thrown when the request path - contains illegal characters. Currently, only spaces are rejected but that - may change in the future. -- `headers`: An object containing request headers. -- `auth`: Basic authentication i.e. `'user:password'` to compute an - Authorization header. -- `agent`: Controls [`Agent`][] behavior. When an Agent is used request will - default to `Connection: keep-alive`. Possible values: - - `undefined` (default): use [`globalAgent`][] for this host and port. - - `Agent` object: explicitly use the passed in `Agent`. - - `false`: opts out of connection pooling with an Agent, defaults request to - `Connection: close`. - -The following options from [`tls.connect()`][] can also be specified: - -- `pfx`: Certificate, Private key and CA certificates to use for SSL. Default `null`. -- `key`: Private key to use for SSL. Default `null`. -- `passphrase`: A string of passphrase for the private key or pfx. Default `null`. -- `cert`: Public x509 certificate to use. Default `null`. -- `ca`: A string, [`Buffer`][] or array of strings or [`Buffer`][]s of trusted - certificates in PEM format. If this is omitted several well known "root" - CAs will be used, like VeriSign. These are used to authorize connections. -- `ciphers`: A string describing the ciphers to use or exclude. Consult - for - details on the format. -- `rejectUnauthorized`: If `true`, the server certificate is verified against - the list of supplied CAs. An `'error'` event is emitted if verification - fails. Verification happens at the connection level, *before* the HTTP - request is sent. Default `true`. -- `secureProtocol`: The SSL method to use, e.g. `SSLv3_method` to force - SSL version 3. The possible values depend on your installation of - OpenSSL and are defined in the constant [`SSL_METHODS`][]. -- `servername`: Servername for SNI (Server Name Indication) TLS extension. - -In order to specify these options, use a custom [`Agent`][]. - -Example: +Example using options from [`tls.connect()`][]: ```js var options = { @@ -269,4 +242,5 @@ var req = https.request(options, (res) => { [`SSL_METHODS`]: https://www.openssl.org/docs/man1.0.2/ssl/ssl.html#DEALING-WITH-PROTOCOL-METHODS [`tls.connect()`]: tls.html#tls_tls_connect_options_callback [`tls.createServer()`]: tls.html#tls_tls_createserver_options_secureconnectionlistener +[`tls.createSecureContext()`]: tls.html#tls_tls_createsecurecontext_options [`url.parse()`]: url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost diff --git a/doc/api/modules.md b/doc/api/modules.md index 0aeab0ad14bbd2..a0c669f20956e8 100644 --- a/doc/api/modules.md +++ b/doc/api/modules.md @@ -161,14 +161,18 @@ LOAD_AS_FILE(X) 3. If X.json is a file, parse X.json to a JavaScript Object. STOP 4. If X.node is a file, load X.node as binary addon. STOP +LOAD_INDEX(X) +1. If X/index.js is a file, load X/index.js as JavaScript text. STOP +2. If X/index.json is a file, parse X/index.json to a JavaScript object. STOP +3. If X/index.node is a file, load X/index.node as binary addon. STOP + LOAD_AS_DIRECTORY(X) 1. If X/package.json is a file, a. Parse X/package.json, and look for "main" field. b. let M = X + (json main field) c. LOAD_AS_FILE(M) -2. If X/index.js is a file, load X/index.js as JavaScript text. STOP -3. If X/index.json is a file, parse X/index.json to a JavaScript object. STOP -4. If X/index.node is a file, load X/index.node as binary addon. STOP + d. LOAD_INDEX(M) +2. LOAD_INDEX(X) LOAD_NODE_MODULES(X, START) 1. let DIRS=NODE_MODULES_PATHS(START) @@ -580,7 +584,7 @@ function require(...) { added: v0.1.16 --> -* {String} +* {string} The fully resolved filename to the module. @@ -589,7 +593,7 @@ The fully resolved filename to the module. added: v0.1.16 --> -* {String} +* {string} The identifier for the module. Typically this is the fully resolved filename. @@ -599,7 +603,7 @@ filename. added: v0.1.16 --> -* {Boolean} +* {boolean} Whether or not the module is done loading, or is in the process of loading. @@ -618,7 +622,7 @@ The module that first required this one. added: v0.5.1 --> -* `id` {String} +* `id` {string} * Returns: {Object} `module.exports` from the resolved module The `module.require` method provides a way to load a module as if diff --git a/doc/api/net.md b/doc/api/net.md index fe55ff486f6b19..3465ece47be9c0 100644 --- a/doc/api/net.md +++ b/doc/api/net.md @@ -123,7 +123,7 @@ added: v0.5.10 --> * `handle` {Object} -* `backlog` {Number} +* `backlog` {number} * `callback` {Function} The `handle` object can be set to either a server or socket (anything @@ -149,11 +149,11 @@ added: v0.11.14 --> * `options` {Object} - Required. Supports the following properties: - * `port` {Number} - Optional. - * `host` {String} - Optional. - * `backlog` {Number} - Optional. - * `path` {String} - Optional. - * `exclusive` {Boolean} - Optional. + * `port` {number} - Optional. + * `host` {string} - Optional. + * `backlog` {number} - Optional. + * `path` {string} - Optional. + * `exclusive` {boolean} - Optional. * `callback` {Function} - Optional. The `port`, `host`, and `backlog` properties of `options`, as well as the @@ -183,8 +183,8 @@ subsequent call will *re-open* the server using the provided options. added: v0.1.90 --> -* `path` {String} -* `backlog` {Number} +* `path` {string} +* `backlog` {number} * `callback` {Function} Start a local socket server listening for connections on the given `path`. @@ -349,7 +349,7 @@ About `allowHalfOpen`, refer to [`net.createServer()`][] and [`'end'`][] event. added: v0.1.90 --> -* `had_error` {Boolean} `true` if the socket had a transmission error. +* `had_error` {boolean} `true` if the socket had a transmission error. Emitted once the socket is fully closed. The argument `had_error` is a boolean which says if the socket was closed due to a transmission error. @@ -420,10 +420,10 @@ changes: Emitted after resolving the hostname but before connecting. Not applicable to UNIX sockets. -* `err` {Error|Null} The error object. See [`dns.lookup()`][]. -* `address` {String} The IP address. -* `family` {String|Null} The address type. See [`dns.lookup()`][]. -* `host` {String} The hostname. +* `err` {Error|null} The error object. See [`dns.lookup()`][]. +* `address` {string} The IP address. +* `family` {string|null} The address type. See [`dns.lookup()`][]. +* `host` {string} The hostname. ### Event: 'timeout' -* {String} +* {string} A string constant defining the operating system-specific end-of-line marker: @@ -26,7 +26,7 @@ A string constant defining the operating system-specific end-of-line marker: added: v0.5.0 --> -* Returns: {String} +* Returns: {string} The `os.arch()` method returns a string identifying the operating system CPU architecture *for which the Node.js binary was compiled*. @@ -60,7 +60,7 @@ each CPU/core installed. The properties included on each object include: -* `model` {String} +* `model` {string} * `speed` {number} (in MHz) * `times` {Object} * `user` {number} The number of milliseconds the CPU has spent in user mode. @@ -172,7 +172,7 @@ all processors are always 0. added: v0.9.4 --> -* Returns: {String} +* Returns: {string} The `os.endianness()` method returns a string identifying the endianness of the CPU *for which the Node.js binary was compiled*. @@ -187,7 +187,7 @@ Possible values are: added: v0.3.3 --> -* Returns: {Integer} +* Returns: {integer} The `os.freemem()` method returns the amount of free system memory in bytes as an integer. @@ -197,7 +197,7 @@ an integer. added: v2.3.0 --> -* Returns: {String} +* Returns: {string} The `os.homedir()` method returns the home directory of the current user as a string. @@ -207,7 +207,7 @@ string. added: v0.3.3 --> -* Returns: {String} +* Returns: {string} The `os.hostname()` method returns the hostname of the operating system as a string. @@ -244,10 +244,10 @@ value is an array of objects that each describe an assigned network address. The properties available on the assigned network address object include: -* `address` {String} The assigned IPv4 or IPv6 address -* `netmask` {String} The IPv4 or IPv6 network mask -* `family` {String} Either `IPv4` or `IPv6` -* `mac` {String} The MAC address of the network interface +* `address` {string} The assigned IPv4 or IPv6 address +* `netmask` {string} The IPv4 or IPv6 network mask +* `family` {string} Either `IPv4` or `IPv6` +* `mac` {string} The MAC address of the network interface * `internal` {boolean} `true` if the network interface is a loopback or similar interface that is not remotely accessible; otherwise `false` * `scopeid` {number} The numeric IPv6 scope ID (only specified when `family` @@ -295,7 +295,7 @@ The properties available on the assigned network address object include: added: v0.5.0 --> -* Returns: {String} +* Returns: {string} The `os.platform()` method returns a string identifying the operating system platform as set during compile time of Node.js. @@ -321,7 +321,7 @@ to be experimental at this time. added: v0.3.3 --> -* Returns: {String} +* Returns: {string} The `os.release()` method returns a string identifying the operating system release. @@ -340,7 +340,7 @@ changes: returns a path with a trailing slash on any platform --> -* Returns: {String} +* Returns: {string} The `os.tmpdir()` method returns a string specifying the operating system's default directory for temporary files. @@ -350,7 +350,7 @@ default directory for temporary files. added: v0.3.3 --> -* Returns: {Integer} +* Returns: {integer} The `os.totalmem()` method returns the total amount of system memory in bytes as an integer. @@ -360,7 +360,7 @@ as an integer. added: v0.3.3 --> -* Returns: {String} +* Returns: {string} The `os.type()` method returns a string identifying the operating system name as returned by uname(3). For example `'Linux'` on Linux, `'Darwin'` on OS X and @@ -374,7 +374,7 @@ information about the output of running uname(3) on various operating systems. added: v0.3.3 --> -* Returns: {Integer} +* Returns: {integer} The `os.uptime()` method returns the system uptime in number of seconds. @@ -388,7 +388,7 @@ added: v6.0.0 --> * `options` {Object} - * `encoding` {String} Character encoding used to interpret resulting strings. + * `encoding` {string} Character encoding used to interpret resulting strings. If `encoding` is set to `'buffer'`, the `username`, `shell`, and `homedir` values will be `Buffer` instances. (Default: 'utf8') * Returns: {Object} diff --git a/doc/api/path.md b/doc/api/path.md index f284c500595571..0039e2c3ef14bd 100644 --- a/doc/api/path.md +++ b/doc/api/path.md @@ -63,9 +63,9 @@ changes: description: Passing a non-string as the `path` argument will throw now. --> -* `path` {String} -* `ext` {String} An optional file extension -* Returns: {String} +* `path` {string} +* `ext` {string} An optional file extension +* Returns: {string} The `path.basename()` methods returns the last portion of a `path`, similar to the Unix `basename` command. @@ -88,7 +88,7 @@ and is not a string. added: v0.9.3 --> -* {String} +* {string} Provides the platform-specific path delimiter: @@ -124,8 +124,8 @@ changes: description: Passing a non-string as the `path` argument will throw now. --> -* `path` {String} -* Returns: {String} +* `path` {string} +* Returns: {string} The `path.dirname()` method returns the directory name of a `path`, similar to the Unix `dirname` command. @@ -148,8 +148,8 @@ changes: description: Passing a non-string as the `path` argument will throw now. --> -* `path` {String} -* Returns: {String} +* `path` {string} +* Returns: {string} The `path.extname()` method returns the extension of the `path`, from the last occurrence of the `.` (period) character to end of string in the last portion of @@ -184,12 +184,12 @@ added: v0.11.15 --> * `pathObject` {Object} - * `dir` {String} - * `root` {String} - * `base` {String} - * `name` {String} - * `ext` {String} -* Returns: {String} + * `dir` {string} + * `root` {string} + * `base` {string} + * `name` {string} + * `ext` {string} +* Returns: {string} The `path.format()` method returns a path string from an object. This is the opposite of [`path.parse()`][]. @@ -247,8 +247,8 @@ path.format({ added: v0.11.2 --> -* `path` {String} -* Returns: {Boolean} +* `path` {string} +* Returns: {boolean} The `path.isAbsolute()` method determines if `path` is an absolute path. @@ -282,8 +282,8 @@ A [`TypeError`][] is thrown if `path` is not a string. added: v0.1.16 --> -* `...paths` {String} A sequence of path segments -* Returns: {String} +* `...paths` {string} A sequence of path segments +* Returns: {string} The `path.join()` method joins all given `path` segments together using the platform specific separator as a delimiter, then normalizes the resulting path. @@ -309,8 +309,8 @@ A [`TypeError`][] is thrown if any of the path segments is not a string. added: v0.1.23 --> -* `path` {String} -* Returns: {String} +* `path` {string} +* Returns: {string} The `path.normalize()` method normalizes the given `path`, resolving `'..'` and `'.'` segments. @@ -343,7 +343,7 @@ A [`TypeError`][] is thrown if `path` is not a string. added: v0.11.15 --> -* `path` {String} +* `path` {string} * Returns: {Object} The `path.parse()` method returns an object whose properties represent @@ -351,11 +351,11 @@ significant elements of the `path`. The returned object will have the following properties: -* `root` {String} -* `dir` {String} -* `base` {String} -* `ext` {String} -* `name` {String} +* `root` {string} +* `dir` {string} +* `base` {string} +* `ext` {string} +* `name` {string} For example on POSIX: @@ -427,9 +427,9 @@ changes: in the return value. --> -* `from` {String} -* `to` {String} -* Returns: {String} +* `from` {string} +* `to` {string} +* Returns: {string} The `path.relative()` method returns the relative path from `from` to `to`. If `from` and `to` each resolve to the same path (after calling `path.resolve()` @@ -459,8 +459,8 @@ A [`TypeError`][] is thrown if neither `from` nor `to` is a string. added: v0.3.4 --> -* `...paths` {String} A sequence of paths or path segments -* Returns: {String} +* `...paths` {string} A sequence of paths or path segments +* Returns: {string} The `path.resolve()` method resolves a sequence of paths or path segments into an absolute path. @@ -502,7 +502,7 @@ A [`TypeError`][] is thrown if any of the arguments is not a string. added: v0.7.9 --> -* {String} +* {string} Provides the platform-specific path segment separator: diff --git a/doc/api/process.md b/doc/api/process.md index 8e7f75232ec61a..ff70f81244afc7 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -276,9 +276,9 @@ lead to sub-optimal application performance, bugs or security vulnerabilities. The listener function is called with a single `warning` argument whose value is an `Error` object. There are three key properties that describe the warning: -* `name` {String} The name of the warning (currently `Warning` by default). -* `message` {String} A system-provided description of the warning. -* `stack` {String} A stack trace to the location in the code where the warning +* `name` {string} The name of the warning (currently `Warning` by default). +* `message` {string} A system-provided description of the warning. +* `stack` {string} A stack trace to the location in the code where the warning was issued. ```js @@ -416,7 +416,7 @@ generate a core file. added: v0.5.0 --> -* {String} +* {string} The `process.arch` property returns a String identifying the processor architecture that the Node.js process is currently running on. For instance @@ -470,7 +470,7 @@ Would generate the output: added: 6.4.0 --> -* {String} +* {string} The `process.argv0` property stores a read-only copy of the original value of `argv[0]` passed when Node.js starts. @@ -498,7 +498,7 @@ property is `undefined`. added: v0.1.17 --> -* `directory` {String} +* `directory` {string} The `process.chdir()` method changes the current working directory of the Node.js process or throws an exception if doing so fails (for instance, if @@ -565,7 +565,7 @@ replace the value of `process.config`. added: v0.7.2 --> -* {Boolean} +* {boolean} If the Node.js process is spawned with an IPC channel (see the [Child Process][] and [Cluster][] documentation), the `process.connected` property will return @@ -583,8 +583,8 @@ added: v6.1.0 * `previousValue` {Object} A previous return value from calling `process.cpuUsage()` * Returns: {Object} - * `user` {Integer} - * `system` {Integer} + * `user` {integer} + * `system` {integer} The `process.cpuUsage()` method returns the user and system CPU time usage of the current process, in an object with properties `user` and `system`, whose @@ -612,7 +612,7 @@ console.log(process.cpuUsage(startUsage)); added: v0.1.8 --> -* Returns: {String} +* Returns: {string} The `process.cwd()` method returns the current working directory of the Node.js process. @@ -642,8 +642,8 @@ If the Node.js process was not spawned with an IPC channel, added: v6.0.0 --> -* `warning` {String | Error} The warning to emit. -* `name` {String} When `warning` is a String, `name` is the name to use +* `warning` {string | Error} The warning to emit. +* `name` {string} When `warning` is a String, `name` is the name to use for the warning. Default: `Warning`. * `ctor` {Function} When `warning` is a String, `ctor` is an optional function used to limit the generated stack trace. Default @@ -839,7 +839,7 @@ And `process.argv`: added: v0.1.100 --> -* {String} +* {string} The `process.execPath` property returns the absolute pathname of the executable that started the Node.js process. @@ -856,7 +856,7 @@ For example: added: v0.1.13 --> -* `code` {Integer} The exit code. Defaults to `0`. +* `code` {integer} The exit code. Defaults to `0`. The `process.exit()` method instructs Node.js to terminate the process synchronously with an exit status of `code`. If `code` is omitted, exit uses @@ -921,7 +921,7 @@ is safer than calling `process.exit()`. added: v0.11.8 --> -* {Integer} +* {integer} A number which will be the process exit code, when the process either exits gracefully, or is exited via [`process.exit()`][] without specifying @@ -1006,7 +1006,7 @@ Android) added: v0.1.28 --> -* Returns: {Integer} +* Returns: {integer} The `process.getuid()` method returns the numeric user identity of the process. (See getuid(2).) @@ -1058,8 +1058,8 @@ passing the result to process.hrtime() will result in undefined behavior. added: v0.9.4 --> -* `user` {String|number} The user name or numeric identifier. -* `extra_group` {String|number} A group name or numeric identifier. +* `user` {string|number} The user name or numeric identifier. +* `extra_group` {string|number} A group name or numeric identifier. The `process.initgroups()` method reads the `/etc/group` file and initializes the group access list, using all groups of which the user is a member. This is @@ -1085,7 +1085,7 @@ added: v0.0.6 --> * `pid` {number} A process ID -* `signal` {String|number} The signal to send, either as a string or number. +* `signal` {string|number} The signal to send, either as a string or number. Defaults to `'SIGTERM'`. The `process.kill()` method sends the `signal` to the process identified by @@ -1145,10 +1145,10 @@ changes: --> * Returns: {Object} - * `rss` {Integer} - * `heapTotal` {Integer} - * `heapUsed` {Integer} - * `external` {Integer} + * `rss` {integer} + * `heapTotal` {integer} + * `heapUsed` {integer} + * `external` {integer} The `process.memoryUsage()` method returns an object describing the memory usage of the Node.js process measured in bytes. @@ -1274,7 +1274,7 @@ happening, just like a `while(true);` loop. added: v0.1.15 --> -* {Integer} +* {integer} The `process.pid` property returns the PID of the process. @@ -1287,7 +1287,7 @@ console.log(`This process is pid ${process.pid}`); added: v0.1.16 --> -* {String} +* {string} The `process.platform` property returns a string identifying the operating system platform on which the Node.js process is running. For instance @@ -1312,19 +1312,19 @@ tarball. `process.release` contains the following properties: -* `name` {String} A value that will always be `'node'` for Node.js. For +* `name` {string} A value that will always be `'node'` for Node.js. For legacy io.js releases, this will be `'io.js'`. -* `sourceUrl` {String} an absolute URL pointing to a _`.tar.gz`_ file containing +* `sourceUrl` {string} an absolute URL pointing to a _`.tar.gz`_ file containing the source code of the current release. -* `headersUrl`{String} an absolute URL pointing to a _`.tar.gz`_ file containing +* `headersUrl`{string} an absolute URL pointing to a _`.tar.gz`_ file containing only the source header files for the current release. This file is significantly smaller than the full source file and can be used for compiling Node.js native add-ons. -* `libUrl` {String} an absolute URL pointing to a _`node.lib`_ file matching the +* `libUrl` {string} an absolute URL pointing to a _`node.lib`_ file matching the architecture and version of the current release. This file is used for compiling Node.js native add-ons. _This property is only present on Windows builds of Node.js and will be missing on all other platforms._ -* `lts` {String} a string label identifying the [LTS][] label for this release. +* `lts` {string} a string label identifying the [LTS][] label for this release. If the Node.js release is not an LTS release, this will be `undefined`. For example: @@ -1352,7 +1352,7 @@ added: v0.5.9 * `sendHandle` {Handle object} * `options` {Object} * `callback` {Function} -* Returns: {Boolean} +* Returns: {boolean} If Node.js is spawned with an IPC channel, the `process.send()` method can be used to send messages to the parent process. Messages will be received as a @@ -1369,7 +1369,7 @@ If Node.js was not spawned with an IPC channel, `process.send()` will be added: v2.0.0 --> -* `id` {String|number} A group name or ID +* `id` {string|number} A group name or ID The `process.setegid()` method sets the effective group identity of the process. (See setegid(2).) The `id` can be passed as either a numeric ID or a group @@ -1398,7 +1398,7 @@ Android) added: v2.0.0 --> -* `id` {String|number} A user name or ID +* `id` {string|number} A user name or ID The `process.seteuid()` method sets the effective user identity of the process. (See seteuid(2).) The `id` can be passed as either a numeric ID or a username @@ -1426,7 +1426,7 @@ Android) added: v0.1.31 --> -* `id` {String|number} The group name or ID +* `id` {string|number} The group name or ID The `process.setgid()` method sets the group identity of the process. (See setgid(2).) The `id` can be passed as either a numeric ID or a group name @@ -1604,7 +1604,7 @@ See the [TTY][] documentation for more information. added: v0.1.104 --> -* {String} +* {string} The `process.title` property returns the current process title (i.e. returns the current value of `ps`). Assigning a new value to `process.title` modifies @@ -1645,7 +1645,7 @@ console.log( added: v0.5.0 --> -* Returns: {Number} +* Returns: {number} The `process.uptime()` method returns the number of seconds the current Node.js process has been running. @@ -1655,7 +1655,7 @@ process has been running. added: v0.1.3 --> -* {String} +* {string} The `process.version` property returns the Node.js version string. @@ -1761,6 +1761,8 @@ cases: [`Error`]: errors.html#errors_class_error [`EventEmitter`]: events.html#events_class_eventemitter [`JSON.stringify()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify +[`console.error()`]: console.html#console_console_error_data_args +[`console.log()`]: console.html#console_console_log_data_args [`net.Server`]: net.html#net_class_net_server [`net.Socket`]: net.html#net_class_net_socket [`process.argv`]: #process_process_argv diff --git a/doc/api/punycode.md b/doc/api/punycode.md index 7b0b63939de369..baa3d050d16435 100644 --- a/doc/api/punycode.md +++ b/doc/api/punycode.md @@ -40,7 +40,7 @@ the module must be directed to the [Punycode.js][] project. added: v0.5.1 --> -* `string` {String} +* `string` {string} The `punycode.decode()` method converts a [Punycode][] string of ASCII-only characters to the equivalent string of Unicode codepoints. @@ -55,7 +55,7 @@ punycode.decode('--dqo34k'); // '☃-⌘' added: v0.5.1 --> -* `string` {String} +* `string` {string} The `punycode.encode()` method converts a string of Unicode codepoints to a [Punycode][] string of ASCII-only characters. @@ -70,7 +70,7 @@ punycode.encode('☃-⌘'); // '--dqo34k' added: v0.6.1 --> -* `domain` {String} +* `domain` {string} The `punycode.toASCII()` method converts a Unicode string representing an Internationalized Domain Name to [Punycode][]. Only the non-ASCII parts of the @@ -89,7 +89,7 @@ punycode.toASCII('example.com'); // 'example.com' added: v0.6.1 --> -* `domain` {String} +* `domain` {string} The `punycode.toUnicode()` method converts a string representing a domain name containing [Punycode][] encoded characters into Unicode. Only the [Punycode][] @@ -112,7 +112,7 @@ added: v0.7.0 added: v0.7.0 --> -* `string` {String} +* `string` {string} The `punycode.ucs2.decode()` method returns an array containing the numeric codepoint values of each Unicode symbol in the string. diff --git a/doc/api/querystring.md b/doc/api/querystring.md index 0c31c1600bd67c..8b59b47087c945 100644 --- a/doc/api/querystring.md +++ b/doc/api/querystring.md @@ -16,7 +16,7 @@ const querystring = require('querystring'); added: v0.1.25 --> -* `str` {String} +* `str` {string} The `querystring.escape()` method performs URL percent-encoding on the given `str` in a manner that is optimized for the specific requirements of URL @@ -39,10 +39,10 @@ changes: description: The `eq` parameter may now have a length of more than `1`. --> -* `str` {String} The URL query string to parse -* `sep` {String} The substring used to delimit key and value pairs in the +* `str` {string} The URL query string to parse +* `sep` {string} The substring used to delimit key and value pairs in the query string. Defaults to `'&'`. -* `eq` {String}. The substring used to delimit keys and values in the +* `eq` {string}. The substring used to delimit keys and values in the query string. Defaults to `'='`. * `options` {Object} * `decodeURIComponent` {Function} The function to use when decoding @@ -86,9 +86,9 @@ added: v0.1.25 --> * `obj` {Object} The object to serialize into a URL query string -* `sep` {String} The substring used to delimit key and value pairs in the +* `sep` {string} The substring used to delimit key and value pairs in the query string. Defaults to `'&'`. -* `eq` {String}. The substring used to delimit keys and values in the +* `eq` {string}. The substring used to delimit keys and values in the query string. Defaults to `'='`. * `options` * `encodeURIComponent` {Function} The function to use when converting @@ -124,7 +124,7 @@ querystring.stringify({ w: '中文', foo: 'bar' }, null, null, -* `str` {String} +* `str` {string} The `querystring.unescape()` method performs decoding of URL percent-encoded diff --git a/doc/api/readline.md b/doc/api/readline.md index 10164bc7887984..878721bb4d3f37 100644 --- a/doc/api/readline.md +++ b/doc/api/readline.md @@ -237,7 +237,7 @@ If the `readline.Interface` was created with `output` set to `null` or added: v0.3.3 --> -* `query` {String} A statement or query to write to `output`, prepended to the +* `query` {string} A statement or query to write to `output`, prepended to the prompt. * `callback` {Function} A callback function that is invoked with the user's input in response to the `query`. @@ -276,7 +276,7 @@ The `rl.resume()` method resumes the `input` stream if it has been paused. added: v0.1.98 --> -* `prompt` {String} +* `prompt` {string} The `rl.setPrompt()` method sets the prompt that will be written to `output` whenever `rl.prompt()` is called. @@ -286,12 +286,12 @@ whenever `rl.prompt()` is called. added: v0.1.98 --> -* `data` {String} +* `data` {string} * `key` {Object} * `ctrl` {boolean} `true` to indicate the `` key. * `meta` {boolean} `true` to indicate the `` key. * `shift` {boolean} `true` to indicate the `` key. - * `name` {String} The name of the a key. + * `name` {string} The name of the a key. The `rl.write()` method will write either `data` or a key sequence identified by `key` to the `output`. The `key` argument is supported only if `output` is @@ -467,7 +467,7 @@ added: v0.7.7 * `stream` {Writable} * `dx` {number} -* `dy` {Number} +* `dy` {number} The `readline.moveCursor()` method moves the cursor *relative* to its current position in a given [TTY][] `stream`. diff --git a/doc/api/repl.md b/doc/api/repl.md index f4d85e11c96b3b..8c2f56ccbd3820 100644 --- a/doc/api/repl.md +++ b/doc/api/repl.md @@ -308,7 +308,7 @@ Clearing context... added: v0.3.0 --> -* `keyword` {String} The command keyword (*without* a leading `.` character). +* `keyword` {string} The command keyword (*without* a leading `.` character). * `cmd` {Object|Function} The function to invoke when the command is processed. The `replServer.defineCommand()` method is used to add new `.`-prefixed commands @@ -316,7 +316,7 @@ to the REPL instance. Such commands are invoked by typing a `.` followed by the `keyword`. The `cmd` is either a Function or an object with the following properties: -* `help` {String} Help text to be displayed when `.help` is entered (Optional). +* `help` {string} Help text to be displayed when `.help` is entered (Optional). * `action` {Function} The function to execute, optionally accepting a single string argument. @@ -355,7 +355,7 @@ Goodbye! added: v0.1.91 --> -* `preserveCursor` {Boolean} +* `preserveCursor` {boolean} The `replServer.displayPrompt()` method readies the REPL instance for input from the user, printing the configured `prompt` to a new line in the `output` @@ -379,8 +379,8 @@ changes: description: The `options` parameter is optional now. --> -* `options` {Object | String} - * `prompt` {String} The input prompt to display. Defaults to `> ` +* `options` {Object|string} + * `prompt` {string} The input prompt to display. Defaults to `> ` (with a trailing space). * `input` {Readable} The Readable stream from which REPL input will be read. Defaults to `process.stdin`. diff --git a/doc/api/stream.md b/doc/api/stream.md index 7756ddbef234a1..c48dfe050808ee 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -354,10 +354,10 @@ See also: [`writable.uncork()`][]. added: v0.9.4 --> -* `chunk` {String|Buffer|any} Optional data to write. For streams not operating +* `chunk` {string|Buffer|any} Optional data to write. For streams not operating in object mode, `chunk` must be a string or a `Buffer`. For object mode streams, `chunk` may be any JavaScript value other than `null`. -* `encoding` {String} The encoding, if `chunk` is a String +* `encoding` {string} The encoding, if `chunk` is a String * `callback` {Function} Optional callback for when the stream is finished Calling the `writable.end()` method signals that no more data will be written @@ -386,7 +386,7 @@ changes: description: This method now returns a reference to `writable`. --> -* `encoding` {String} The new default encoding +* `encoding` {string} The new default encoding * Returns: `this` The `writable.setDefaultEncoding()` method sets the default `encoding` for a @@ -440,10 +440,10 @@ changes: considered invalid now, even in object mode. --> -* `chunk` {String|Buffer} The data to write -* `encoding` {String} The encoding, if `chunk` is a String +* `chunk` {string|Buffer} The data to write +* `encoding` {string} The encoding, if `chunk` is a String * `callback` {Function} Callback for when this chunk of data is flushed -* Returns: {Boolean} `false` if the stream wishes for the calling code to +* Returns: {boolean} `false` if the stream wishes for the calling code to wait for the `'drain'` event to be emitted before continuing to write additional data; otherwise `true`. @@ -480,7 +480,7 @@ If the data to be written can be generated or fetched on demand, it is recommended to encapsulate the logic into a [Readable][] and use [`stream.pipe()`][]. However, if calling `write()` is preferred, it is possible to respect backpressure and avoid memory issues using the -the [`'drain'`][] event: +[`'drain'`][] event: ```js function write (data, cb) { @@ -625,7 +625,7 @@ Not all [Readable][] streams will emit the `'close'` event. added: v0.9.4 --> -* `chunk` {Buffer|String|any} The chunk of data. For streams that are not +* `chunk` {Buffer|string|any} The chunk of data. For streams that are not operating in object mode, the chunk will be either a string or `Buffer`. For streams that are in object mode, the chunk can be any JavaScript value other than `null`. @@ -741,7 +741,7 @@ preferred over the use of the `'readable'` event. added: v0.11.14 --> -* Returns: {Boolean} +* Returns: {boolean} The `readable.isPaused()` method returns the current operating state of the Readable. This is used primarily by the mechanism that underlies the @@ -789,7 +789,7 @@ added: v0.9.4 * `destination` {stream.Writable} The destination for writing data * `options` {Object} Pipe options - * `end` {Boolean} End the writer when the reader ends. Defaults to `true`. + * `end` {boolean} End the writer when the reader ends. Defaults to `true`. The `readable.pipe()` method attaches a [Writable][] stream to the `readable`, causing it to switch automatically into flowing mode and push all of its data @@ -845,8 +845,8 @@ options. added: v0.9.4 --> -* `size` {Number} Optional argument to specify how much data to read. -* Return {String|Buffer|Null} +* `size` {number} Optional argument to specify how much data to read. +* Return {string|Buffer|null} The `readable.read()` method pulls some data out of the internal buffer and returns it. If no data available to be read, `null` is returned. By default, @@ -917,7 +917,7 @@ getReadableStreamSomehow() added: v0.9.4 --> -* `encoding` {String} The encoding to use. +* `encoding` {string} The encoding to use. * Returns: `this` The `readable.setEncoding()` method sets the default character encoding for @@ -981,7 +981,7 @@ setTimeout(() => { added: v0.9.11 --> -* `chunk` {Buffer|String} Chunk of data to unshift onto the read queue +* `chunk` {Buffer|string} Chunk of data to unshift onto the read queue The `readable.unshift()` method pushes a chunk of data back into the internal buffer. This is useful in certain situations where a stream is being consumed by @@ -1236,13 +1236,13 @@ constructor and implement the `writable._write()` method. The #### Constructor: new stream.Writable([options]) * `options` {Object} - * `highWaterMark` {Number} Buffer level when + * `highWaterMark` {number} Buffer level when [`stream.write()`][stream-write] starts returning `false`. Defaults to `16384` (16kb), or `16` for `objectMode` streams. - * `decodeStrings` {Boolean} Whether or not to decode strings into + * `decodeStrings` {boolean} Whether or not to decode strings into Buffers before passing them to [`stream._write()`][stream-_write]. Defaults to `true` - * `objectMode` {Boolean} Whether or not the + * `objectMode` {boolean} Whether or not the [`stream.write(anyObj)`][stream-write] is a valid operation. When set, it becomes possible to write JavaScript values other than string or `Buffer` if supported by the stream implementation. Defaults to `false` @@ -1295,9 +1295,9 @@ const myWritable = new Writable({ #### writable.\_write(chunk, encoding, callback) -* `chunk` {Buffer|String} The chunk to be written. Will **always** +* `chunk` {Buffer|string} The chunk to be written. Will **always** be a buffer unless the `decodeStrings` option was set to `false`. -* `encoding` {String} If the chunk is a string, then `encoding` is the +* `encoding` {string} If the chunk is a string, then `encoding` is the character encoding of that string. If chunk is a `Buffer`, or if the stream is operating in object mode, `encoding` may be ignored. * `callback` {Function} Call this function (optionally with an error @@ -1417,12 +1417,12 @@ constructor and implement the `readable._read()` method. #### new stream.Readable([options]) * `options` {Object} - * `highWaterMark` {Number} The maximum number of bytes to store in + * `highWaterMark` {number} The maximum number of bytes to store in the internal buffer before ceasing to read from the underlying resource. Defaults to `16384` (16kb), or `16` for `objectMode` streams - * `encoding` {String} If specified, then buffers will be decoded to + * `encoding` {string} If specified, then buffers will be decoded to strings using the specified encoding. Defaults to `null` - * `objectMode` {Boolean} Whether this stream should behave + * `objectMode` {boolean} Whether this stream should behave as a stream of objects. Meaning that [`stream.read(n)`][stream-read] returns a single value instead of a Buffer of size n. Defaults to `false` * `read` {Function} Implementation for the [`stream._read()`][stream-_read] @@ -1469,7 +1469,7 @@ const myReadable = new Readable({ #### readable.\_read(size) -* `size` {Number} Number of bytes to read asynchronously +* `size` {number} Number of bytes to read asynchronously *Note*: **This function MUST NOT be called by application code directly.** It should be implemented by child classes, and called only by the internal Readable @@ -1500,10 +1500,10 @@ user programs. #### readable.push(chunk[, encoding]) -* `chunk` {Buffer|Null|String} Chunk of data to push into the read queue -* `encoding` {String} Encoding of String chunks. Must be a valid +* `chunk` {Buffer|null|string} Chunk of data to push into the read queue +* `encoding` {string} Encoding of String chunks. Must be a valid Buffer encoding, such as `'utf8'` or `'ascii'` -* Returns {Boolean} `true` if additional chunks of data may continued to be +* Returns {boolean} `true` if additional chunks of data may continued to be pushed; `false` otherwise. When `chunk` is a `Buffer` or `string`, the `chunk` of data will be added to the @@ -1631,13 +1631,13 @@ constructor and implement *both* the `readable._read()` and * `options` {Object} Passed to both Writable and Readable constructors. Also has the following fields: - * `allowHalfOpen` {Boolean} Defaults to `true`. If set to `false`, then + * `allowHalfOpen` {boolean} Defaults to `true`. If set to `false`, then the stream will automatically end the readable side when the writable side ends and vice versa. - * `readableObjectMode` {Boolean} Defaults to `false`. Sets `objectMode` + * `readableObjectMode` {boolean} Defaults to `false`. Sets `objectMode` for readable side of the stream. Has no effect if `objectMode` is `true`. - * `writableObjectMode` {Boolean} Defaults to `false`. Sets `objectMode` + * `writableObjectMode` {boolean} Defaults to `false`. Sets `objectMode` for writable side of the stream. Has no effect if `objectMode` is `true`. @@ -1873,9 +1873,9 @@ user programs. #### transform.\_transform(chunk, encoding, callback) -* `chunk` {Buffer|String} The chunk to be transformed. Will **always** +* `chunk` {Buffer|string} The chunk to be transformed. Will **always** be a buffer unless the `decodeStrings` option was set to `false`. -* `encoding` {String} If the chunk is a string, then this is the +* `encoding` {string} If the chunk is a string, then this is the encoding type. If chunk is a buffer, then this is the special value - 'buffer', ignore it in this case. * `callback` {Function} A callback function (optionally with an error diff --git a/doc/api/url.md b/doc/api/url.md index 5104c575396853..b58639bf2193d7 100644 --- a/doc/api/url.md +++ b/doc/api/url.md @@ -136,7 +136,7 @@ forward-slash characters (`/`) are required following the colon in the added: v0.1.25 --> -* `urlObject` {Object | String} A URL object (as returned by `url.parse()` or +* `urlObject` {Object|string} A URL object (as returned by `url.parse()` or constructed otherwise). If a string, it is converted to an object by passing it to `url.parse()`. @@ -204,11 +204,11 @@ The formatting process operates as follows: * `URL` {URL} A [WHATWG URL][] object * `options` {Object} - * `auth` {Boolean} `true` if the serialized URL string should include the + * `auth` {boolean} `true` if the serialized URL string should include the username and password, `false` otherwise. Defaults to `true`. - * `fragment` {Boolean} `true` if the serialized URL string should include the + * `fragment` {boolean} `true` if the serialized URL string should include the fragment, `false` otherwise. Defaults to `true`. - * `search` {Boolean} `true` if the serialized URL string should include the + * `search` {boolean} `true` if the serialized URL string should include the search query, `false` otherwise. Defaults to `true`. * `unicode` (Boolean) `true` if Unicode characters appearing in the host component of the URL string should be encoded directly as opposed to being @@ -245,12 +245,12 @@ be experimental. added: v0.1.25 --> -* `urlString` {String} The URL string to parse. -* `parseQueryString` {Boolean} If `true`, the `query` property will always +* `urlString` {string} The URL string to parse. +* `parseQueryString` {boolean} If `true`, the `query` property will always be set to an object returned by the [`querystring`][] module's `parse()` method. If `false`, the `query` property on the returned URL object will be an unparsed, undecoded string. Defaults to `false`. -* `slashesDenoteHost` {Boolean} If `true`, the first token after the literal +* `slashesDenoteHost` {boolean} If `true`, the first token after the literal string `//` and preceding the next `/` will be interpreted as the `host`. For instance, given `//foo/bar`, the result would be `{host: 'foo', pathname: '/bar'}` rather than `{pathname: '//foo/bar'}`. @@ -276,8 +276,8 @@ changes: contains a hostname. --> -* `from` {String} The Base URL being resolved against. -* `to` {String} The HREF URL being resolved. +* `from` {string} The Base URL being resolved against. +* `to` {string} The HREF URL being resolved. The `url.resolve()` method resolves a target URL relative to a base URL in a manner similar to that of a Web browser resolving an anchor tag HREF. @@ -355,8 +355,8 @@ object returned by `url.parse()` are shown. Below it are properties of a WHATWG ### Class: URL #### Constructor: new URL(input[, base]) -* `input` {String} The input URL to parse -* `base` {String | URL} The base URL to resolve against if the `input` is not +* `input` {string} The input URL to parse +* `base` {string|URL} The base URL to resolve against if the `input` is not absolute. Creates a new `URL` object by parsing the `input` relative to the `base`. If @@ -388,7 +388,7 @@ Additional [examples of parsed URLs][] may be found in the WHATWG URL Standard. #### url.hash -* {String} +* {string} Gets and sets the fragment portion of the URL. @@ -409,7 +409,7 @@ percent-encode may vary somewhat from what the [`url.parse()`][] and #### url.host -* {String} +* {string} Gets and sets the host portion of the URL. @@ -427,7 +427,7 @@ Invalid host values assigned to the `host` property are ignored. #### url.hostname -* {String} +* {string} Gets and sets the hostname portion of the URL. The key difference between `url.host` and `url.hostname` is that `url.hostname` does *not* include the @@ -447,7 +447,7 @@ Invalid hostname values assigned to the `hostname` property are ignored. #### url.href -* {String} +* {string} Gets and sets the serialized URL. @@ -472,7 +472,7 @@ will be thrown. #### url.origin -* {String} +* {string} Gets the read-only serialization of the URL's origin. Unicode characters that may be contained within the hostname will be encoded as-is without [Punycode][] @@ -495,7 +495,7 @@ console.log(idnURL.hostname); #### url.password -* {String} +* {string} Gets and sets the password portion of the URL. @@ -516,7 +516,7 @@ percent-encode may vary somewhat from what the [`url.parse()`][] and #### url.pathname -* {String} +* {string} Gets and sets the path portion of the URL. @@ -537,7 +537,7 @@ to percent-encode may vary somewhat from what the [`url.parse()`][] and #### url.port -* {String} +* {string} Gets and sets the port portion of the URL. @@ -592,7 +592,7 @@ lies outside the range denoted above, it is ignored. #### url.protocol -* {String} +* {string} Gets and sets the protocol portion of the URL. @@ -610,7 +610,7 @@ Invalid URL protocol values assigned to the `protocol` property are ignored. #### url.search -* {String} +* {string} Gets and sets the serialized query portion of the URL. @@ -640,7 +640,7 @@ documentation for details. #### url.username -* {String} +* {string} Gets and sets the username portion of the URL. @@ -661,7 +661,7 @@ and [`url.format()`][] methods would produce. #### url.toString() -* Returns: {String} +* Returns: {string} The `toString()` method on the `URL` object returns the serialized URL. The value returned is equivalent to that of [`url.href`][] and [`url.toJSON()`][]. @@ -672,7 +672,7 @@ to customize the serialization process of the URL. For more flexibility, #### url.toJSON() -* Returns: {String} +* Returns: {string} The `toJSON()` method on the `URL` object returns the serialized URL. The value returned is equivalent to that of [`url.href`][] and @@ -722,14 +722,14 @@ console.log(myURL.href); #### urlSearchParams.append(name, value) -* `name` {String} -* `value` {String} +* `name` {string} +* `value` {string} Append a new name-value pair to the query string. #### urlSearchParams.delete(name) -* `name` {String} +* `name` {string} Remove all name-value pairs whose name is `name`. @@ -763,15 +763,16 @@ myURL.searchParams.forEach((value, name, searchParams) => { #### urlSearchParams.get(name) -* `name` {String} -* Returns: {String | Null} +* `name` {string} +* Returns: {string} or `null` if there is no name-value pair with the given + `name`. Returns the value of the first name-value pair whose name is `name`. If there are no such pairs, `null` is returned. #### urlSearchParams.getAll(name) -* `name` {String} +* `name` {string} * Returns: {Array} Returns the values of all name-value pairs whose name is `name`. If there are @@ -779,8 +780,8 @@ no such pairs, an empty array is returned. #### urlSearchParams.has(name) -* `name` {String} -* Returns: {Boolean} +* `name` {string} +* Returns: {boolean} Returns `true` if there is at least one name-value pair whose name is `name`. @@ -803,8 +804,8 @@ for (const name of params.keys()) { #### urlSearchParams.set(name, value) -* `name` {String} -* `value` {String} +* `name` {string} +* `value` {string} Sets the value in the `URLSearchParams` object associated with `name` to `value`. If there are any pre-existing name-value pairs whose names are `name`, @@ -844,7 +845,7 @@ console.log(params.toString()); #### urlSearchParams.toString() -* Returns: {String} +* Returns: {string} Returns the search parameters serialized as a string, with characters percent-encoded where necessary. @@ -878,8 +879,8 @@ for (const [name, value] of params) { ### require('url').domainToASCII(domain) -* `domain` {String} -* Returns: {String} +* `domain` {string} +* Returns: {string} Returns the [Punycode][] ASCII serialization of the `domain`. If `domain` is an invalid domain, the empty string is returned. @@ -901,8 +902,8 @@ the new `URL` implementation but is not part of the WHATWG URL standard. ### require('url').domainToUnicode(domain) -* `domain` {String} -* Returns: {String} +* `domain` {string} +* Returns: {string} Returns the Unicode serialization of the `domain`. If `domain` is an invalid domain, the empty string is returned. diff --git a/doc/api/util.md b/doc/api/util.md index 726691b8d6dabd..bb1bbd529a4ccb 100644 --- a/doc/api/util.md +++ b/doc/api/util.md @@ -15,7 +15,7 @@ const util = require('util'); added: v0.11.3 --> -* `section` {String} A string identifying the portion of the application for +* `section` {string} A string identifying the portion of the application for which the `debuglog` function is being created. * Returns: {Function} The logging function @@ -93,7 +93,7 @@ property take precedence over `--trace-deprecation` and added: v0.5.3 --> -* `format` {String} A `printf`-like format string. +* `format` {string} A `printf`-like format string. The `util.format()` method returns a formatted string using the first argument as a `printf`-like format. @@ -416,7 +416,7 @@ deprecated: v0.11.3 > Stability: 0 - Deprecated: Use [`console.error()`][] instead. -* `string` {String} The message to print to `stderr` +* `string` {string} The message to print to `stderr` Deprecated predecessor of `console.error`. @@ -428,7 +428,7 @@ deprecated: v0.11.3 > Stability: 0 - Deprecated: Use [`console.error()`][] instead. -* `...strings` {String} The message to print to `stderr` +* `...strings` {string} The message to print to `stderr` Deprecated predecessor of `console.error`. @@ -830,7 +830,7 @@ deprecated: v6.0.0 > Stability: 0 - Deprecated: Use a third party module instead. -* `string` {String} +* `string` {string} The `util.log()` method prints the given `string` to `stdout` with an included timestamp. diff --git a/doc/api_assets/style.css b/doc/api_assets/style.css index 7889389f59b251..20845970fbce37 100644 --- a/doc/api_assets/style.css +++ b/doc/api_assets/style.css @@ -487,7 +487,7 @@ th > *:last-child, td > *:last-child { @media only screen and (max-width: 1024px) { #content { - font-size: 2.5em; + font-size: 1.6em; overflow: visible; } #column1.interior { diff --git a/doc/changelogs/CHANGELOG_V7.md b/doc/changelogs/CHANGELOG_V7.md index 53c6b345ba4cfe..45dda5d2edd22e 100644 --- a/doc/changelogs/CHANGELOG_V7.md +++ b/doc/changelogs/CHANGELOG_V7.md @@ -6,6 +6,8 @@ +7.7.3
+7.7.2
7.7.1
7.7.0
7.6.0
@@ -29,6 +31,45 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + +## 2017-03-14, Version 7.7.3 (Current), @italoacasas + +### Notable changes + +* **module**: The [module loading global fallback](https://nodejs.org/dist/latest-v6.x/docs/api/modules.html#modules_loading_from_the_global_folders) to the Node executable's directory now works correctly on Windows. (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283) +* **net**: `Socket.prototype.connect` now once again functions without a callback. (Juwan Yoo) [#11762](https://github.com/nodejs/node/pull/11762) +* **url**: `URL.prototype.origin` now properly specified an opaque return of `'null'` for `file://` URLs. (Brian White) [#11691](https://github.com/nodejs/node/pull/11691) + +### Commits + +* [[`542a3735a7`](https://github.com/nodejs/node/commit/542a3735a7)] - **build**: add node_use_openssl check to install.py (Daniel Bevenius) [#11766](https://github.com/nodejs/node/pull/11766) +* [[`2fcefeeda0`](https://github.com/nodejs/node/commit/2fcefeeda0)] - **dgram**: refactor dgram to module.exports (Claudio Rodriguez) [#11696](https://github.com/nodejs/node/pull/11696) +* [[`dd3e6adaa7`](https://github.com/nodejs/node/commit/dd3e6adaa7)] - **doc**: add missing changelog heading for 7.7.2 (Evan Lucas) [#11823](https://github.com/nodejs/node/pull/11823) +* [[`b543fd441c`](https://github.com/nodejs/node/commit/b543fd441c)] - **doc**: update to current V8 versions (Franziska Hinkelmann) [#11787](https://github.com/nodejs/node/pull/11787) +* [[`6cc7b30c62`](https://github.com/nodejs/node/commit/6cc7b30c62)] - **doc**: improve child_process `maxBuffer` text (Rich Trott) [#11791](https://github.com/nodejs/node/pull/11791) +* [[`188cbc6eea`](https://github.com/nodejs/node/commit/188cbc6eea)] - **doc**: package main can be directory with an index (Bradley Farias) [#11581](https://github.com/nodejs/node/pull/11581) +* [[`a20aa0ee48`](https://github.com/nodejs/node/commit/a20aa0ee48)] - **doc**: http cleanup and missing argument types (Amelia Clarke) [#11681](https://github.com/nodejs/node/pull/11681) +* [[`8a1b2b4417`](https://github.com/nodejs/node/commit/8a1b2b4417)] - **doc**: reduce font size on smaller screens (Gibson Fahnestock) [#11695](https://github.com/nodejs/node/pull/11695) +* [[`5bea8b42d9`](https://github.com/nodejs/node/commit/5bea8b42d9)] - **doc**: fix occurences of "the the" (Jeroen Mandersloot) [#11711](https://github.com/nodejs/node/pull/11711) +* [[`517c3af21a`](https://github.com/nodejs/node/commit/517c3af21a)] - **doc**: fix process links to console.log/error (Sam Roberts) [#11718](https://github.com/nodejs/node/pull/11718) +* [[`108449b6ff`](https://github.com/nodejs/node/commit/108449b6ff)] - **doc**: add Franziska Hinkelmann to the CTC (Rod Vagg) [#11488](https://github.com/nodejs/node/pull/11488) +* [[`9c3cf13cbc`](https://github.com/nodejs/node/commit/9c3cf13cbc)] - **doc**: argument types for https methods (Amelia Clarke) [#11681](https://github.com/nodejs/node/pull/11681) +* [[`103458772a`](https://github.com/nodejs/node/commit/103458772a)] - **module**: fix loading from global folders on Windows (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283) +* [[`1dff218cd1`](https://github.com/nodejs/node/commit/1dff218cd1)] - **net**: allow missing callback for Socket.connect (Juwan Yoo) [#11762](https://github.com/nodejs/node/pull/11762) +* [[`52f0092f54`](https://github.com/nodejs/node/commit/52f0092f54)] - **s390**: enable march=z196 (Junliang Yan) [#11730](https://github.com/nodejs/node/pull/11730) +* [[`032becdc28`](https://github.com/nodejs/node/commit/032becdc28)] - **src**: add missing #include \ (Steven R. Loomis) [#11754](https://github.com/nodejs/node/issues/11754) +* [[`1da2afcc26`](https://github.com/nodejs/node/commit/1da2afcc26)] - **src**: drop the NODE_ISOLATE_SLOT macro (Anna Henningsen) [#11692](https://github.com/nodejs/node/pull/11692) +* [[`734ddbe77b`](https://github.com/nodejs/node/commit/734ddbe77b)] - **test**: fix flaky test-http-set-timeout-server (Santiago Gimeno) [#11790](https://github.com/nodejs/node/pull/11790) +* [[`aaf8536dbc`](https://github.com/nodejs/node/commit/aaf8536dbc)] - **test**: add test for loading from global folders (Richard Lau) [#9283](https://github.com/nodejs/node/pull/9283) +* [[`c01c7a490a`](https://github.com/nodejs/node/commit/c01c7a490a)] - **test**: add script to create 0-dns-cert.pem (Shigeki Ohtsu) [#11579](https://github.com/nodejs/node/pull/11579) +* [[`4477e15217`](https://github.com/nodejs/node/commit/4477e15217)] - **test**: add regex in test_cyclic_link_protection (Clarence Dimitri CHARLES) [#11622](https://github.com/nodejs/node/pull/11622) +* [[`3d55cf06b1`](https://github.com/nodejs/node/commit/3d55cf06b1)] - **test**: add more WHATWG URL origin tests (Brian White) [#11691](https://github.com/nodejs/node/pull/11691) +* [[`a98d963082`](https://github.com/nodejs/node/commit/a98d963082)] - **test**: increase coverage of console (DavidCai) [#11653](https://github.com/nodejs/node/pull/11653) +* [[`1af0fa4b84`](https://github.com/nodejs/node/commit/1af0fa4b84)] - **test**: test buffer behavior when zeroFill undefined (Rich Trott) [#11706](https://github.com/nodejs/node/pull/11706) +* [[`1e52ba3b3d`](https://github.com/nodejs/node/commit/1e52ba3b3d)] - **test**: limit lint rule disabling in message test (Rich Trott) [#11724](https://github.com/nodejs/node/pull/11724) +* [[`5e7baa5a72`](https://github.com/nodejs/node/commit/5e7baa5a72)] - **tools**: add links to the stability index reference (Michael Cox) [#11664](https://github.com/nodejs/node/pull/11664) +* [[`c5874d1bd4`](https://github.com/nodejs/node/commit/c5874d1bd4)] - **url**: remove invalid file protocol check (Brian White) [#11691](https://github.com/nodejs/node/pull/11691) + ## 2017-03-08, Version 7.7.2 (Current), @evanlucas diff --git a/doc/guides/maintaining-V8.md b/doc/guides/maintaining-V8.md index 4bfed3790f5185..e57b73bcf91d3a 100644 --- a/doc/guides/maintaining-V8.md +++ b/doc/guides/maintaining-V8.md @@ -93,11 +93,11 @@ includes the following branches1: 2017-04-01 - 5.4 + 5.5 - 2016-10-18 + 2016-12-06 - ~2016-12-01 + 2017-01-24 @@ -107,11 +107,11 @@ includes the following branches1: N/A - 5.4 + 5.6 - 2016-10-18 + 2017-01-31 - ~2016-12-01 + 2017-03-07 diff --git a/lib/dgram.js b/lib/dgram.js index 69bcf5de10343c..4beb28351910ea 100644 --- a/lib/dgram.js +++ b/lib/dgram.js @@ -57,7 +57,7 @@ function newHandle(type) { } -exports._createSocketHandle = function(address, port, addressType, fd, flags) { +function _createSocketHandle(address, port, addressType, fd, flags) { // Opening an existing fd is not supported for UDP handles. assert(typeof fd !== 'number' || fd < 0); @@ -72,7 +72,7 @@ exports._createSocketHandle = function(address, port, addressType, fd, flags) { } return handle; -}; +} function Socket(type, listener) { @@ -99,12 +99,11 @@ function Socket(type, listener) { this.on('message', listener); } util.inherits(Socket, EventEmitter); -exports.Socket = Socket; -exports.createSocket = function(type, listener) { +function createSocket(type, listener) { return new Socket(type, listener); -}; +} function startListening(socket) { @@ -561,3 +560,9 @@ Socket.prototype.unref = function() { return this; }; + +module.exports = { + _createSocketHandle, + createSocket, + Socket +}; diff --git a/lib/internal/url.js b/lib/internal/url.js index 630c69d2cbaf81..3dc317a8bbb7c3 100644 --- a/lib/internal/url.js +++ b/lib/internal/url.js @@ -1043,7 +1043,6 @@ function originFor(url, base) { case 'https:': case 'ws:': case 'wss:': - case 'file': origin = new TupleOrigin(protocol.slice(0, -1), url[context].host, url[context].port, diff --git a/lib/module.js b/lib/module.js index 09c4b85b9e5599..0c66d3390d222c 100644 --- a/lib/module.js +++ b/lib/module.js @@ -617,7 +617,16 @@ Module._initPaths = function() { homeDir = process.env.HOME; } - var paths = [path.resolve(process.execPath, '..', '..', 'lib', 'node')]; + // $PREFIX/lib/node, where $PREFIX is the root of the Node.js installation. + var prefixDir; + // process.execPath is $PREFIX/bin/node except on Windows where it is + // $PREFIX\node.exe. + if (isWindows) { + prefixDir = path.resolve(process.execPath, '..'); + } else { + prefixDir = path.resolve(process.execPath, '..', '..'); + } + var paths = [path.resolve(prefixDir, 'lib', 'node')]; if (homeDir) { paths.unshift(path.resolve(homeDir, '.node_libraries')); diff --git a/lib/net.js b/lib/net.js index 018b58b941f100..3c009a00fb77c0 100644 --- a/lib/net.js +++ b/lib/net.js @@ -899,24 +899,18 @@ function connect(self, address, port, addressType, localAddress, localPort) { } -Socket.prototype.connect = function(options, cb) { +Socket.prototype.connect = function() { + const args = new Array(arguments.length); + for (var i = 0; i < arguments.length; i++) + args[i] = arguments[i]; + // TODO(joyeecheung): use destructuring when V8 is fast enough + const normalized = normalizeArgs(args); + const options = normalized[0]; + const cb = normalized[1]; + if (this.write !== Socket.prototype.write) this.write = Socket.prototype.write; - if (options === null || typeof options !== 'object') { - // Old API: - // connect(port[, host][, cb]) - // connect(path[, cb]); - const args = new Array(arguments.length); - for (var i = 0; i < arguments.length; i++) - args[i] = arguments[i]; - const normalized = normalizeArgs(args); - const normalizedOptions = normalized[0]; - const normalizedCb = normalized[1]; - return Socket.prototype.connect.call(this, - normalizedOptions, normalizedCb); - } - if (this.destroyed) { this._readableState.reading = false; this._readableState.ended = false; diff --git a/src/cares_wrap.cc b/src/cares_wrap.cc index 2b61209f6e643a..7936474b7426d6 100644 --- a/src/cares_wrap.cc +++ b/src/cares_wrap.cc @@ -220,8 +220,8 @@ static void ares_sockstate_cb(void* data, task = ares_task_create(env, sock); if (task == nullptr) { /* This should never happen unless we're out of memory or something */ - /* is seriously wrong. The socket won't be polled, but the the query */ - /* will eventually time out. */ + /* is seriously wrong. The socket won't be polled, but the query will */ + /* eventually time out. */ return; } diff --git a/src/env.h b/src/env.h index b3bc79d4ce9d04..28f9e0c1728fd9 100644 --- a/src/env.h +++ b/src/env.h @@ -36,14 +36,6 @@ namespace node { #define NODE_CONTEXT_EMBEDDER_DATA_INDEX 32 #endif -// The slot 0 and 1 had already been taken by "gin" and "blink" in Chrome, -// and the size of isolate's slots is 4 by default, so using 3 should -// hopefully make node work independently when embedded into other -// application. -#ifndef NODE_ISOLATE_SLOT -#define NODE_ISOLATE_SLOT 3 -#endif - // The number of items passed to push_values_to_array_function has diminishing // returns around 8. This should be used at all call sites using said function. #ifndef NODE_PUSH_VAL_TO_ARRAY_MAX diff --git a/src/node_i18n.cc b/src/node_i18n.cc index b337456c639318..fab594ce79b69e 100644 --- a/src/node_i18n.cc +++ b/src/node_i18n.cc @@ -43,6 +43,7 @@ #include #include #include +#include #ifdef NODE_HAVE_SMALL_ICU /* if this is defined, we have a 'secondary' entry point. diff --git a/src/node_version.h b/src/node_version.h index c2cfd395d8931e..821d33791b5a57 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -5,7 +5,7 @@ #define NODE_MINOR_VERSION 7 #define NODE_PATCH_VERSION 3 -#define NODE_VERSION_IS_RELEASE 0 +#define NODE_VERSION_IS_RELEASE 1 #ifndef NODE_STRINGIFY #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n) diff --git a/test/fixtures/0-dns/0-dns-cert.pem b/test/fixtures/0-dns/0-dns-cert.pem new file mode 100644 index 00000000000000..03a4db3e2d8501 --- /dev/null +++ b/test/fixtures/0-dns/0-dns-cert.pem @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDGDCCAgCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDEw5jYS5l +eGFtcGxlLmNvbTAeFw0xNzAzMDIwMTMxMjJaFw0yNzAyMjgwMTMxMjJaMBsxGTAX +BgNVBAMTEGV2aWwuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDFyJT0kv2P9L6iNY6TL7IZonAR8R9ev7iD1tR5ycMEpM/y6WTefIco +civMcBGVZWtCgkoePHiveH9UIep7HFGB4gxCYDZFYB46yGS0YH2fB5GWXTLYObYa +zxuEhgFRG0DLIwNDRLW0+0FG3disp7YdRHBtdbL58F/qNORqPEjIpoQxOJc2UqX2 +/gfomJRdFW/PSgN7uH2QwMzRQRIrKmyAFzeuEWVP+UAV4853Yg66PmYpAASyt069 +sE8QNTNE75KrerMmYzH7AmTEGvY8bukrDuVQZce2/lcK2rAE+G6at2eBNMZKOnzR +y9kWIiJ3rR7+WK55EKelLz0doZFKteu1AgMBAAGjaTBnMGUGA1UdEQReMFyCImdv +b2QuZXhhbXBsZS5vcmcALmV2aWwuZXhhbXBsZS5jb22CGGp1c3QtYW5vdGhlci5l +eGFtcGxlLmNvbYcECAgICIcECAgEBIIQbGFzdC5leGFtcGxlLmNvbTANBgkqhkiG +9w0BAQsFAAOCAQEAvreVoOZO2gpM4Dmzp70D30XZjsK9i0BCsRHBvPLPw3y8B2xg +BRtOREOI69NU0WGpj5Lbqww5M8M1hjHshiGEu2aXfZ6qM3lENaIMCpKlF9jbm02/ +wmxNaAnS8bDSZyO5rbsGr2tJb4ds7DazmMEKWhOBEpJoOp9rG6SAey+a6MkZ7NEN +0p3THCqNf3lL1KblPrMvdsyhHPEzv4uT7+YAnLKHwGzbihcWJRsRo5oipWL8ZDhn +bd3SMWtfRTSWDmghJaHke2xIjDtTwSjHjjPTFsK+rl227W8r4/EQI/X6fTQV2j3T +7zqrJLF9h9F/v3mo57k6sxsQNZ12XvhuTHC2dA== +-----END CERTIFICATE----- diff --git a/test/fixtures/0-dns/0-dns-key.pem b/test/fixtures/0-dns/0-dns-key.pem new file mode 100644 index 00000000000000..4e2fdb5fc61e0e --- /dev/null +++ b/test/fixtures/0-dns/0-dns-key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAxciU9JL9j/S+ojWOky+yGaJwEfEfXr+4g9bUecnDBKTP8ulk +3nyHKHIrzHARlWVrQoJKHjx4r3h/VCHqexxRgeIMQmA2RWAeOshktGB9nweRll0y +2Dm2Gs8bhIYBURtAyyMDQ0S1tPtBRt3YrKe2HURwbXWy+fBf6jTkajxIyKaEMTiX +NlKl9v4H6JiUXRVvz0oDe7h9kMDM0UESKypsgBc3rhFlT/lAFePOd2IOuj5mKQAE +srdOvbBPEDUzRO+Sq3qzJmMx+wJkxBr2PG7pKw7lUGXHtv5XCtqwBPhumrdngTTG +Sjp80cvZFiIid60e/liueRCnpS89HaGRSrXrtQIDAQABAoIBABcGA3j5B3VTi0F8 +tI0jtzrOsvcTt5AjB0qpnnBS8VXADcj8LFbN7jniGIEi5pkahkLmwdQFPBNJFqFn +lVEheceB1eWAJ7EpwDsdisOIm/cAPY1gagPLrAww4cYqh0q2vnMnL0EMZY6c1Pt3 +5borh8KebewAEIaR2ch8wb4wKFTbAM0DftYBFzHAF88OeCuIpdsk2Tz0sVQbA3/1 +XNLOVcJvDOVIRPEpo2l7RIN33KvDhzpMoV3qVzWxqdccPRZZFU5KmJ6DtouIPT3S +3WauIL5oVpAyYNJETTyxjBQE4DgFeNX1Wyycgk27EoLcn6Trcs0kNVrmXXblNAtJ +Nko6g10CgYEA+TjzNjyAXPrOpY88uiPVMAgepEQOnDYtMwasdDVaW3xK9KH1rrhU +dx1IDTMmOUfyU2qsj5txmJtReQz//1bpd7e73VO8mHQDUubhs2TivgGs+fqzAdmT +vJsjerfNsxf+4JENzzWmqT/Ybc976Tu55VH5mcRG9Q66fTxdAJ51+8MCgYEAyymF +gntRMBd9e/KIiqlvcxelo0ahyKEzaJC7/FkZotuSB+kAwpdJ5Unb0FeVQZxNhDPg +xgsrGOOOvHvfhv7DPU0TQ/vp6VDPdg+N6m/Ow2vr79A2v6s+7gZj3MLiLRFyEF6l +bxQNGe3qavnm3owUQQCY2RLBKYCFfv/cykYlGycCgYB6etKMRQ+QonIMS2i80f9j +q5njgM7tVnLAMPdv5QiTDXKI50+mnlBkea9/TTPr0r/03ugPa4VYSnyv0QO+qSfz +/ggFrbFx+xHnHDCvyVTlrE0mTV7L+fHxLw0wskQVUCWil6cBvow5gXcMAHwVE5U4 +biEMwLlele5wvcm3FClHoQKBgACV/RGUQ3atCqqZ13T26iBd2Bdxc7P9awWJLVGb +/CvxECm/rUXiY88qeFzQc9i9l6ei8qn/jD9FILtAbDOadnutxjly94i5t+9yOgmM +Cv+bRxHo+s9wsfzDvfP8B+TzYO3VKAr69tK1UfC/CcBojQJm+wndOPtiqH/mQv++ +VgsPAoGBAJ0aNJe3zb+blvAQ3W4iPSjhyxdMC00x46pr6ds+Y8WygbN6lzCvNDw6 +FFTINBckOs5Z/UWUNbExWYjBHZhLlhhxTezCzvIrwNvgUB8Y4sPk3S4KDsnkyy6f +/qMmEHlVyKjh2BCNs7PVnWDlfl3vECE7n8dBizFHgja76l1ia+0z +-----END RSA PRIVATE KEY----- diff --git a/test/fixtures/0-dns/0-dns-rsapub.der b/test/fixtures/0-dns/0-dns-rsapub.der new file mode 100644 index 00000000000000..263a4b8293dd0e Binary files /dev/null and b/test/fixtures/0-dns/0-dns-rsapub.der differ diff --git a/test/fixtures/0-dns/README.md b/test/fixtures/0-dns/README.md new file mode 100644 index 00000000000000..650970a2c5a5cf --- /dev/null +++ b/test/fixtures/0-dns/README.md @@ -0,0 +1,26 @@ +## Purpose +The test cert file for use `test/parallel/test-tls-0-dns-altname.js` +can be created by using `asn1.js` and `asn1.js-rfc5280`, + +## How to create a test cert. + +```sh +$ openssl genrsa -out 0-dns-key.pem 2048 +Generating RSA private key, 2048 bit long modulus +...................+++ +..............................................................................................+++ +e is 65537 (0x10001) +$ openssl rsa -in 0-dns-key.pem -RSAPublicKey_out -outform der -out 0-dns-rsapub.der +writing RSA key +$ npm install +0-dns@1.0.0 /home/github/node/test/fixtures/0-dns ++-- asn1.js@4.9.1 +| +-- bn.js@4.11.6 +| +-- inherits@2.0.3 +| `-- minimalistic-assert@1.0.0 +`-- asn1.js-rfc5280@1.2.2 + +$ node ./createCert.js +$ openssl x509 -text -in 0-dns-cert.pem +(You can not see evil.example.com in subjectAltName field) +``` diff --git a/test/fixtures/0-dns/create-cert.js b/test/fixtures/0-dns/create-cert.js new file mode 100644 index 00000000000000..7a353906e4bbec --- /dev/null +++ b/test/fixtures/0-dns/create-cert.js @@ -0,0 +1,75 @@ +'use strict'; +const asn1 = require('asn1.js'); +const crypto = require('crypto'); +const fs = require('fs'); +const rfc5280 = require('asn1.js-rfc5280'); +const BN = asn1.bignum; + +const id_at_commonName = [ 2, 5, 4, 3 ]; +const rsaEncryption = [1, 2, 840, 113549, 1, 1, 1]; +const sha256WithRSAEncryption = [1, 2, 840, 113549, 1, 1, 11]; +const sigalg = 'RSA-SHA256'; + +const private_key = fs.readFileSync('./0-dns-key.pem'); +// public key file can be generated from the private key with +// openssl rsa -in 0-dns-key.pem -RSAPublicKey_out -outform der +// -out 0-dns-rsapub.der +const public_key = fs.readFileSync('./0-dns-rsapub.der'); + +const now = Date.now(); +const days = 3650; + +const Null_ = asn1.define('Null_', function() { + this.null_(); +}); +const null_ = Null_.encode('der'); + +const PrintStr = asn1.define('PrintStr', function() { + this.printstr(); +}); +const issuer = PrintStr.encode('ca.example.com', 'der'); +const subject = PrintStr.encode('evil.example.com', 'der'); + +const tbs = { + version: 'v3', + serialNumber: new BN('01', 16), + signature: { algorithm: sha256WithRSAEncryption, parameters: null_}, + issuer: { type: 'rdnSequence', + value: [ [{type: id_at_commonName, value: issuer}] ] }, + validity: + { notBefore: { type: 'utcTime', value: now }, + notAfter: { type: 'utcTime', value: now + days * 86400000} }, + subject: { type: 'rdnSequence', + value: [ [{type: id_at_commonName, value: subject}] ] }, + subjectPublicKeyInfo: + { algorithm: { algorithm: rsaEncryption, parameters: null_}, + subjectPublicKey: { unused: 0, data: public_key} }, + extensions: + [ { extnID: 'subjectAlternativeName', + critical: false, + // subjectAltName which contains '\0' character to check CVE-2009-2408 + extnValue: [ + { type: 'dNSName', value: 'good.example.org\u0000.evil.example.com' }, + { type: 'dNSName', value: 'just-another.example.com' }, + { type: 'iPAddress', value: Buffer.from('08080808', 'hex') }, + { type: 'iPAddress', value: Buffer.from('08080404', 'hex') }, + { type: 'dNSName', value: 'last.example.com' } ] } + ] +}; + +const tbs_der = rfc5280.TBSCertificate.encode(tbs, 'der'); + +const sign = crypto.createSign(sigalg); +sign.update(tbs_der); +const signature = sign.sign(private_key); + +const cert = { + tbsCertificate: tbs, + signatureAlgorithm: { algorithm: sha256WithRSAEncryption, parameters: null_ }, + signature: + { unused: 0, + data: signature } +}; +const pem = rfc5280.Certificate.encode(cert, 'pem', {label: 'CERTIFICATE'}); + +fs.writeFileSync('./0-dns-cert.pem', pem + '\n'); diff --git a/test/fixtures/0-dns/package.json b/test/fixtures/0-dns/package.json new file mode 100644 index 00000000000000..667600c7d08521 --- /dev/null +++ b/test/fixtures/0-dns/package.json @@ -0,0 +1,16 @@ +{ + "name": "0-dns", + "version": "1.0.0", + "description": "create certificate for 0-dns test", + "main": "createCert.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "SEE LICENSE IN ../../../LICENSE", + "private": true, + "dependencies": { + "asn1.js": "^4.9.1", + "asn1.js-rfc5280": "^1.2.2" + } +} diff --git a/test/fixtures/keys/0-dns-cert.pem b/test/fixtures/keys/0-dns-cert.pem deleted file mode 100644 index 6cfc6c43c460d7..00000000000000 --- a/test/fixtures/keys/0-dns-cert.pem +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIC/zCCAemgAwIBAgICJxEwCwYJKoZIhvcNAQEFMBUxEzARBgNVBAMWCm9oLm15 -Lmdvc2gwHhcNMTQxMjA4MTM0MTUzWhcNMzQxMjAzMTM0MTUzWjATMREwDwYDVQQD -FghldmlsLmNvbTCCASAwCwYJKoZIhvcNAQEBA4IBDwAwggEKAoIBAQCsFwwf1dsr -PdxyTHBreymbFGACLQtaOihGsSkYtIzUEF1aT90YDMzNdoLr4wkwWig5FPRMnjmX -7pXY9RVbWmwG/M2eku9S62LekUFkeY1W/QftV9LYgAg7wVDA+v3+zk/EMEqADYm6 -W735tzDIKtvx+/3Dd9puQ0TLFNHBxAmTz7YNaJdIUqzs3DWT4zeZQj0RCOyWCjQL -NfqQ80I7NYFYb4IJqiUY8iOTL5kPi7b5szem5EakQbhufDWun4xGTZk/URZHgYgp -REbOLTYs2hqbK76biW/Yvwd1l7RsptIvJvkuQ1R/dO1WPv6PLKLTuS1EOHM3YqNH -o7wDSplOJe5rAgMBAAGhCQMHADEyMzQ1NqIJAwcANzg5YWJjo0swSTBHBgNVHREE -QDA+ghRnb29nbGUuY29tAC5ldmlsLmNvbYIQanVzdC1hbm90aGVyLmNvbYcECAgI -CIcECAgEBIIIbGFzdC5jb20wCwYJKoZIhvcNAQEBA4IBAQBAC2n4CIXLnyONTjPc -qU0wu41wI+IQlb9mi0C7WEd9HumCbskahAp8vTs35DehnSxrl15FG0rABVtTROCv -eflBKuzwPjtnfZm37UIbQKQUtcxwMQ/zvA83w4GLrLvrFtaQRpXn/RtL/q4CIpQH -MGaPW1Gs24RVBHxI7OXf9UlUruB1yQLUbbtdBtxZ6pk/B32e3yWowbvG7OxuUL0F -1w4DD2m+GfbTyZSCfYKP/zMp3xhTxihVfZ2g07ufc51bNCftWKBLHM/QHJmn4pVo -rrz1vS9nMf/i16zrJ8Xmj61Eo4Aes37lAH5kUiT1VsNxSDcQCiqr1mcj6ByXKNCQ -wDzO ------END CERTIFICATE----- diff --git a/test/fixtures/keys/0-dns-key.pem b/test/fixtures/keys/0-dns-key.pem deleted file mode 100644 index d292789554d798..00000000000000 --- a/test/fixtures/keys/0-dns-key.pem +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEArBcMH9XbKz3cckxwa3spmxRgAi0LWjooRrEpGLSM1BBdWk/d -GAzMzXaC6+MJMFooORT0TJ45l+6V2PUVW1psBvzNnpLvUuti3pFBZHmNVv0H7VfS -2IAIO8FQwPr9/s5PxDBKgA2Julu9+bcwyCrb8fv9w3fabkNEyxTRwcQJk8+2DWiX -SFKs7Nw1k+M3mUI9EQjslgo0CzX6kPNCOzWBWG+CCaolGPIjky+ZD4u2+bM3puRG -pEG4bnw1rp+MRk2ZP1EWR4GIKURGzi02LNoamyu+m4lv2L8HdZe0bKbSLyb5LkNU -f3TtVj7+jyyi07ktRDhzN2KjR6O8A0qZTiXuawIDAQABAoIBABUlW9sJlz3QAyeU -VvgOEUW6EjYSPOPgY5SULl2XyfpA7IetapiK8huJJXtA0Z88ZNbmyUIk6yTNL2KS -cwZfrQiKxeVnXrsMq4B3ztY+zWxT+UZj1Ue/K8PT9E1SSiWmSkzsNitX/oWEwmpN -5VOjWJV6hmsfbhrAb1KZA1FQ+nBMEQrkEFpmFD1nJE8dH5rWNo4YbM/boR/kC93G -CHOwd2TKNrBa8ZeMOjcyUK9fg15CMkj7uTzfIGkjCM/mXOxvsvTuZ0np7PL7aF+o -GfSHP/l+B5rxT1GTYjZtpSEgAoqYEFJnnZELklo7KRWB7p2rgyHPElSjQN3xIn5Z -apNPrBECgYEA26gZGBP+j1Hqrh3nAhOq/t6PMj+V8yz/i2TrraJ1z7GKRGoBUOX9 -ruJGJExfACzgrKl1hL4XRfLdHuooScUqrIxLX7eKHE2nBSd0M40zEKbgIMRhaMsf -lAFOkxJRHMT7edaVu3MkSfDgFXRbhr+jcdxspzhunHMJVUnC5LgAKHMCgYEAyJAw -6GF80Uud5oDHo2tGY9uYgMIUN9rmrrFjqstkVB6QMFlyyeI3MHUhiU7qH53yaRCi -FxuHU6usQFmduwZAKInoPMRhYTYbexe4CYB+C96trwoV7ltDE+a7ZTsEj5kSYvCO -KLcVTn4mcU0TSpE0MU1XQKP0Ev/mdZ5aYEopvCkCgYEAlkVa3YkYNq5g8btNRbN0 -4SYbKtIrYJChRpjFTyV8mZkpMYKf4dtmANWWDNEekP0iu5y25BgzzcvHkJW6+DTl -6+OS0Sm8V36cS79hFL99dt/jJyeSSGHl+ZgnTCBU02zDaefuya2M3vTmKGdREk9a -ntOglYnayjc85Fcw+M4UdZcCgYAFw/9j7smDysSzR6h1jjPr0vhDW1Dxeh1/kCHp -Wwd7U5WZjji6jQJBJlzccaRRXF0HoC7Is0Xkpd7BytG5+qgFglFmzc5u2PtZQolL -3KHC/ZfInGWdAIqhG9TvSA8Ngb0BkyDDEuBN7Vp1j12qmxoBANQtS4lMsoaRgwfe -FMO2YQKBgGv6Ndv+eHWSkqGFOSXU6dXAjOuAji3K1yRlxUg/RS/DCMK+8XQbuh47 -+p998LwvI70JIr4v2PAkO3/HaRILOTRLLvq8O/yqHwrVf+P7AQ8kPm7uUf7kTXat -DYcKIAp5ddZweyFCgwVm+JMd1E+cpL97RbHCbu7Ct6OD9uLGXCUh ------END RSA PRIVATE KEY----- diff --git a/test/fixtures/test-module-loading-globalpaths/home-pkg-in-both/.node_libraries/foo.js b/test/fixtures/test-module-loading-globalpaths/home-pkg-in-both/.node_libraries/foo.js new file mode 100644 index 00000000000000..eb278f95762215 --- /dev/null +++ b/test/fixtures/test-module-loading-globalpaths/home-pkg-in-both/.node_libraries/foo.js @@ -0,0 +1 @@ +exports.string = '$HOME/.node_libraries'; diff --git a/test/fixtures/test-module-loading-globalpaths/home-pkg-in-both/.node_modules/foo.js b/test/fixtures/test-module-loading-globalpaths/home-pkg-in-both/.node_modules/foo.js new file mode 100644 index 00000000000000..8a665b3e98cfe2 --- /dev/null +++ b/test/fixtures/test-module-loading-globalpaths/home-pkg-in-both/.node_modules/foo.js @@ -0,0 +1 @@ +exports.string = '$HOME/.node_modules'; diff --git a/test/fixtures/test-module-loading-globalpaths/home-pkg-in-node_libraries/.node_libraries/foo.js b/test/fixtures/test-module-loading-globalpaths/home-pkg-in-node_libraries/.node_libraries/foo.js new file mode 100644 index 00000000000000..eb278f95762215 --- /dev/null +++ b/test/fixtures/test-module-loading-globalpaths/home-pkg-in-node_libraries/.node_libraries/foo.js @@ -0,0 +1 @@ +exports.string = '$HOME/.node_libraries'; diff --git a/test/fixtures/test-module-loading-globalpaths/home-pkg-in-node_modules/.node_modules/foo.js b/test/fixtures/test-module-loading-globalpaths/home-pkg-in-node_modules/.node_modules/foo.js new file mode 100644 index 00000000000000..8a665b3e98cfe2 --- /dev/null +++ b/test/fixtures/test-module-loading-globalpaths/home-pkg-in-node_modules/.node_modules/foo.js @@ -0,0 +1 @@ +exports.string = '$HOME/.node_modules'; diff --git a/test/fixtures/test-module-loading-globalpaths/local-pkg/node_modules/foo.js b/test/fixtures/test-module-loading-globalpaths/local-pkg/node_modules/foo.js new file mode 100644 index 00000000000000..63e844e4d4060b --- /dev/null +++ b/test/fixtures/test-module-loading-globalpaths/local-pkg/node_modules/foo.js @@ -0,0 +1 @@ +exports.string = 'local'; diff --git a/test/fixtures/test-module-loading-globalpaths/local-pkg/test.js b/test/fixtures/test-module-loading-globalpaths/local-pkg/test.js new file mode 100644 index 00000000000000..8054983e992ce8 --- /dev/null +++ b/test/fixtures/test-module-loading-globalpaths/local-pkg/test.js @@ -0,0 +1,2 @@ +'use strict'; +console.log(require('foo').string); diff --git a/test/fixtures/test-module-loading-globalpaths/node_path/foo.js b/test/fixtures/test-module-loading-globalpaths/node_path/foo.js new file mode 100644 index 00000000000000..3ce43c49206f73 --- /dev/null +++ b/test/fixtures/test-module-loading-globalpaths/node_path/foo.js @@ -0,0 +1 @@ +exports.string = '$NODE_PATH'; diff --git a/test/message/nexttick_throw.js b/test/message/nexttick_throw.js index 49cd6dd0f7cbd6..0c655a8e2e4bf1 100644 --- a/test/message/nexttick_throw.js +++ b/test/message/nexttick_throw.js @@ -5,7 +5,7 @@ process.nextTick(function() { process.nextTick(function() { process.nextTick(function() { process.nextTick(function() { - // eslint-disable-next-line + // eslint-disable-next-line no-undef undefined_reference_error_maker; }); }); diff --git a/test/parallel/test-buffer-bindingobj-no-zerofill.js b/test/parallel/test-buffer-bindingobj-no-zerofill.js new file mode 100644 index 00000000000000..a9168713584e33 --- /dev/null +++ b/test/parallel/test-buffer-bindingobj-no-zerofill.js @@ -0,0 +1,53 @@ +'use strict'; + +// Flags: --expose-internals + +// Confirm that if a custom ArrayBufferAllocator does not define a zeroFill +// property, that the buffer module will zero-fill when allocUnsafe() is called. + +require('../common'); + +const assert = require('assert'); +const buffer = require('buffer'); + +// Monkey-patch setupBufferJS() to have an undefined zeroFill. +const process = require('process'); +const originalBinding = process.binding; + +const binding = originalBinding('buffer'); +const originalSetup = binding.setupBufferJS; + +binding.setupBufferJS = (proto, obj) => { + originalSetup(proto, obj); + assert.strictEqual(obj.zeroFill[0], 1); + delete obj.zeroFill; +}; + +const bindingObj = {}; + +binding.setupBufferJS(Buffer.prototype, bindingObj); +assert.strictEqual(bindingObj.zeroFill, undefined); + +process.binding = (bindee) => { + if (bindee === 'buffer') + return binding; + return originalBinding(bindee); +}; + +// Load from file system because internal buffer is already loaded and we're +// testing code that runs on first load only. +// Do not move this require() to top of file. It is important that +// `process.binding('buffer').setupBufferJS` be monkey-patched before this runs. +const monkeyPatchedBuffer = require('../../lib/buffer'); + +// On unpatched buffer, allocUnsafe() should not zero fill memory. It's always +// possible that a segment of memory is already zeroed out, so try again and +// again until we succeed or we time out. +let uninitialized = buffer.Buffer.allocUnsafe(1024); +while (uninitialized.some((val) => val !== 0)) + uninitialized = buffer.Buffer.allocUnsafe(1024); + +// On monkeypatched buffer, zeroFill property is undefined. allocUnsafe() should +// zero-fill in that case. +const zeroFilled = monkeyPatchedBuffer.Buffer.allocUnsafe(1024); +assert(zeroFilled.every((val) => val === 0)); diff --git a/test/parallel/test-console-instance.js b/test/parallel/test-console-instance.js index ac785e2d8c943c..e74edfae2feaef 100644 --- a/test/parallel/test-console-instance.js +++ b/test/parallel/test-console-instance.js @@ -57,3 +57,13 @@ out.write = common.mustCall((d) => { assert.doesNotThrow(() => { Console(out, err); }); + +// Instance that does not ignore the stream errors. +const c2 = new Console(out, err, false); + +out.write = () => { throw new Error('out'); }; +err.write = () => { throw new Error('err'); }; + +assert.throws(() => c2.log('foo'), /^Error: out$/); +assert.throws(() => c2.warn('foo'), /^Error: err$/); +assert.throws(() => c2.dir('foo'), /^Error: out$/); diff --git a/test/parallel/test-env-var-no-warnings.js b/test/parallel/test-env-var-no-warnings.js index 53b7d302683cf4..5b61e4163af633 100644 --- a/test/parallel/test-env-var-no-warnings.js +++ b/test/parallel/test-env-var-no-warnings.js @@ -36,6 +36,6 @@ if (process.argv[2] === 'child') { test({ NODE_NO_WARNINGS: '01' }); test({ NODE_NO_WARNINGS: '2' }); // Don't test the number 1 because it will come through as a string in the - // the child process environment. + // child process environment. test({ NODE_NO_WARNINGS: '1' }); } diff --git a/test/parallel/test-fs-realpath.js b/test/parallel/test-fs-realpath.js index 331cec5ee8c8bb..96a6deae8af0f6 100644 --- a/test/parallel/test-fs-realpath.js +++ b/test/parallel/test-fs-realpath.js @@ -191,21 +191,25 @@ function test_cyclic_link_protection(callback) { common.skip('symlink test (no privs)'); return runNextTest(); } - const entry = common.tmpDir + '/cycles/realpath-3a'; + const entry = path.join(common.tmpDir, '/cycles/realpath-3a'); [ [entry, '../cycles/realpath-3b'], - [common.tmpDir + '/cycles/realpath-3b', '../cycles/realpath-3c'], - [common.tmpDir + '/cycles/realpath-3c', '../cycles/realpath-3a'] + [path.join(common.tmpDir, '/cycles/realpath-3b'), '../cycles/realpath-3c'], + [path.join(common.tmpDir, '/cycles/realpath-3c'), '../cycles/realpath-3a'] ].forEach(function(t) { try { fs.unlinkSync(t[0]); } catch (e) {} fs.symlinkSync(t[1], t[0], 'dir'); unlink.push(t[0]); }); - assert.throws(function() { fs.realpathSync(entry); }); - asynctest(fs.realpath, [entry], callback, function(err, result) { - assert.ok(err && true); - return true; - }); + assert.throws(() => { + fs.realpathSync(entry); + }, common.expectsError({ code: 'ELOOP', type: Error })); + asynctest( + fs.realpath, [entry], callback, common.mustCall(function(err, result) { + assert.strictEqual(err.path, entry); + assert.strictEqual(result, undefined); + return true; + })); } function test_cyclic_link_overprotection(callback) { diff --git a/test/parallel/test-http-set-timeout-server.js b/test/parallel/test-http-set-timeout-server.js index 097aeb260bdc5e..8f301af5a9dcc4 100644 --- a/test/parallel/test-http-set-timeout-server.js +++ b/test/parallel/test-http-set-timeout-server.js @@ -117,10 +117,13 @@ test(function serverRequestNotTimeoutAfterEnd(cb) { test(function serverResponseTimeoutWithPipeline(cb) { let caughtTimeout = ''; + let secReceived = false; process.on('exit', function() { assert.strictEqual(caughtTimeout, '/2'); }); const server = http.createServer(function(req, res) { + if (req.url === '/2') + secReceived = true; const s = res.setTimeout(50, function() { caughtTimeout += req.url; }); @@ -128,9 +131,11 @@ test(function serverResponseTimeoutWithPipeline(cb) { if (req.url === '/1') res.end(); }); server.on('timeout', function(socket) { - socket.destroy(); - server.close(); - cb(); + if (secReceived) { + socket.destroy(); + server.close(); + cb(); + } }); server.listen(common.mustCall(function() { const port = server.address().port; diff --git a/test/parallel/test-module-loading-globalpaths.js b/test/parallel/test-module-loading-globalpaths.js new file mode 100644 index 00000000000000..d789f5409901ba --- /dev/null +++ b/test/parallel/test-module-loading-globalpaths.js @@ -0,0 +1,101 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const path = require('path'); +const fs = require('fs'); +const child_process = require('child_process'); +const pkgName = 'foo'; + +if (process.argv[2] === 'child') { + console.log(require(pkgName).string); +} else { + common.refreshTmpDir(); + + // Copy node binary into a test $PREFIX directory. + const prefixPath = path.join(common.tmpDir, 'install'); + fs.mkdirSync(prefixPath); + let testExecPath; + if (common.isWindows) { + testExecPath = path.join(prefixPath, path.basename(process.execPath)); + } else { + const prefixBinPath = path.join(prefixPath, 'bin'); + fs.mkdirSync(prefixBinPath); + testExecPath = path.join(prefixBinPath, path.basename(process.execPath)); + } + const mode = fs.statSync(process.execPath).mode; + fs.writeFileSync(testExecPath, fs.readFileSync(process.execPath)); + fs.chmodSync(testExecPath, mode); + + const runTest = (expectedString, env) => { + const child = child_process.execFileSync(testExecPath, + [ __filename, 'child' ], + { encoding: 'utf8', env: env }); + assert.strictEqual(child.trim(), expectedString); + }; + + const testFixturesDir = path.join(common.fixturesDir, + path.basename(__filename, '.js')); + + const env = Object.assign({}, process.env); + // Turn on module debug to aid diagnosing failures. + env['NODE_DEBUG'] = 'module'; + // Unset NODE_PATH. + delete env['NODE_PATH']; + + // Test empty global path. + const noPkgHomeDir = path.join(common.tmpDir, 'home-no-pkg'); + fs.mkdirSync(noPkgHomeDir); + env['HOME'] = env['USERPROFILE'] = noPkgHomeDir; + assert.throws( + () => { + child_process.execFileSync(testExecPath, [ __filename, 'child' ], + { encoding: 'utf8', env: env }); + }, + new RegExp('Cannot find module \'' + pkgName + '\'')); + + // Test module in $HOME/.node_modules. + const modHomeDir = path.join(testFixturesDir, 'home-pkg-in-node_modules'); + env['HOME'] = env['USERPROFILE'] = modHomeDir; + runTest('$HOME/.node_modules', env); + + // Test module in $HOME/.node_libraries. + const libHomeDir = path.join(testFixturesDir, 'home-pkg-in-node_libraries'); + env['HOME'] = env['USERPROFILE'] = libHomeDir; + runTest('$HOME/.node_libraries', env); + + // Test module both $HOME/.node_modules and $HOME/.node_libraries. + const bothHomeDir = path.join(testFixturesDir, 'home-pkg-in-both'); + env['HOME'] = env['USERPROFILE'] = bothHomeDir; + runTest('$HOME/.node_modules', env); + + // Test module in $PREFIX/lib/node. + // Write module into $PREFIX/lib/node. + const expectedString = '$PREFIX/lib/node'; + const prefixLibPath = path.join(prefixPath, 'lib'); + fs.mkdirSync(prefixLibPath); + const prefixLibNodePath = path.join(prefixLibPath, 'node'); + fs.mkdirSync(prefixLibNodePath); + const pkgPath = path.join(prefixLibNodePath, pkgName + '.js'); + fs.writeFileSync(pkgPath, 'exports.string = \'' + expectedString + '\';'); + + env['HOME'] = env['USERPROFILE'] = noPkgHomeDir; + runTest(expectedString, env); + + // Test module in all global folders. + env['HOME'] = env['USERPROFILE'] = bothHomeDir; + runTest('$HOME/.node_modules', env); + + // Test module in NODE_PATH is loaded ahead of global folders. + env['HOME'] = env['USERPROFILE'] = bothHomeDir; + env['NODE_PATH'] = path.join(testFixturesDir, 'node_path'); + runTest('$NODE_PATH', env); + + // Test module in local folder is loaded ahead of global folders. + const localDir = path.join(testFixturesDir, 'local-pkg'); + env['HOME'] = env['USERPROFILE'] = bothHomeDir; + env['NODE_PATH'] = path.join(testFixturesDir, 'node_path'); + const child = child_process.execFileSync(testExecPath, + [ path.join(localDir, 'test.js') ], + { encoding: 'utf8', env: env }); + assert.strictEqual(child.trim(), 'local'); +} diff --git a/test/parallel/test-net-socket-connect-without-cb.js b/test/parallel/test-net-socket-connect-without-cb.js new file mode 100644 index 00000000000000..468b29a3a486d7 --- /dev/null +++ b/test/parallel/test-net-socket-connect-without-cb.js @@ -0,0 +1,20 @@ +'use strict'; +const common = require('../common'); + +// This test ensures that socket.connect can be called without callback +// which is optional. + +const net = require('net'); + +const server = net.createServer(common.mustCall(function(conn) { + conn.end(); + server.close(); +})).listen(0, common.mustCall(function() { + const client = new net.Socket(); + + client.on('connect', common.mustCall(function() { + client.end(); + })); + + client.connect(server.address()); +})); diff --git a/test/parallel/test-tls-0-dns-altname.js b/test/parallel/test-tls-0-dns-altname.js index 874dc6b235d644..483d256564accd 100644 --- a/test/parallel/test-tls-0-dns-altname.js +++ b/test/parallel/test-tls-0-dns-altname.js @@ -2,6 +2,8 @@ const common = require('../common'); const assert = require('assert'); +// Check getPeerCertificate can properly handle '\0' for fix CVE-2009-2408. + if (!common.hasCrypto) { common.skip('missing crypto'); return; @@ -11,8 +13,8 @@ const tls = require('tls'); const fs = require('fs'); const server = tls.createServer({ - key: fs.readFileSync(common.fixturesDir + '/keys/0-dns-key.pem'), - cert: fs.readFileSync(common.fixturesDir + '/keys/0-dns-cert.pem') + key: fs.readFileSync(common.fixturesDir + '/0-dns/0-dns-key.pem'), + cert: fs.readFileSync(common.fixturesDir + '/0-dns/0-dns-cert.pem') }, function(c) { c.once('data', function() { c.destroy(); @@ -24,11 +26,11 @@ const server = tls.createServer({ }, common.mustCall(function() { const cert = c.getPeerCertificate(); assert.strictEqual(cert.subjectaltname, - 'DNS:google.com\0.evil.com, ' + - 'DNS:just-another.com, ' + + 'DNS:good.example.org\0.evil.example.com, ' + + 'DNS:just-another.example.com, ' + 'IP Address:8.8.8.8, ' + 'IP Address:8.8.4.4, ' + - 'DNS:last.com'); + 'DNS:last.example.com'); c.write('ok'); })); })); diff --git a/test/parallel/test-whatwg-url-properties.js b/test/parallel/test-whatwg-url-properties.js index b5b3119422e668..c5d60229a9f2c1 100644 --- a/test/parallel/test-whatwg-url-properties.js +++ b/test/parallel/test-whatwg-url-properties.js @@ -142,3 +142,19 @@ assert.strictEqual(url.searchParams, oldParams); assert.strictEqual(opts.search, '?l=24'); assert.strictEqual(opts.hash, '#test'); } + +// Test special origins +[ + { expected: 'https://whatwg.org', + url: 'blob:https://whatwg.org/d0360e2f-caee-469f-9a2f-87d5b0456f6f' }, + { expected: 'ftp://example.org', url: 'ftp://example.org/foo' }, + { expected: 'gopher://gopher.quux.org', url: 'gopher://gopher.quux.org/1/' }, + { expected: 'http://example.org', url: 'http://example.org/foo' }, + { expected: 'https://example.org', url: 'https://example.org/foo' }, + { expected: 'ws://example.org', url: 'ws://example.org/foo' }, + { expected: 'wss://example.org', url: 'wss://example.org/foo' }, + { expected: 'null', url: 'file:///tmp/mock/path' }, + { expected: 'null', url: 'npm://nodejs/rules' } +].forEach((test) => { + assert.strictEqual(new URL(test.url).origin, test.expected); +}); diff --git a/tools/doc/html.js b/tools/doc/html.js index 10b04a1b9887e4..185a6660047eb4 100644 --- a/tools/doc/html.js +++ b/tools/doc/html.js @@ -352,9 +352,12 @@ function linkJsTypeDocs(text) { } function parseAPIHeader(text) { + const classNames = 'api_stability api_stability_$2'; + const docsUrl = 'documentation.html#documentation_stability_index'; + text = text.replace( STABILITY_TEXT_REG_EXP, - '
$1 $2$3
' + `
$1 $2$3
` ); return text; } diff --git a/tools/doc/type-parser.js b/tools/doc/type-parser.js index c5c416e2b3bdc2..4c2d29f2bf7d0d 100644 --- a/tools/doc/type-parser.js +++ b/tools/doc/type-parser.js @@ -4,12 +4,13 @@ const jsDocPrefix = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/'; const jsDocUrl = jsDocPrefix + 'Reference/Global_Objects/'; const jsPrimitiveUrl = jsDocPrefix + 'Data_structures'; const jsPrimitives = { - 'Integer': 'Number', // this is for extending - 'Number': 'Number', - 'String': 'String', - 'Boolean': 'Boolean', - 'Null': 'Null', - 'Symbol': 'Symbol' + 'boolean': 'Boolean', + 'integer': 'Number', // not a primitive, used for clarification + 'null': 'Null', + 'number': 'Number', + 'string': 'String', + 'symbol': 'Symbol', + 'undefined': 'Undefined' }; const jsGlobalTypes = [ 'Error', 'Object', 'Function', 'Array', 'TypedArray', 'Uint8Array', @@ -67,7 +68,16 @@ module.exports = { typeText = typeText.trim(); if (typeText) { let typeUrl = null; - const primitive = jsPrimitives[typeText]; + + // To support type[], we store the full string and use + // the bracket-less version to lookup the type URL + const typeTextFull = typeText; + if (/\[]$/.test(typeText)) { + typeText = typeText.slice(0, -2); + } + + const primitive = jsPrimitives[typeText.toLowerCase()]; + if (primitive !== undefined) { typeUrl = `${jsPrimitiveUrl}#${primitive}_type`; } else if (jsGlobalTypes.indexOf(typeText) !== -1) { @@ -78,9 +88,10 @@ module.exports = { if (typeUrl) { typeLinks.push('<' + - typeText + '>'); + typeTextFull + '>'); } else { - typeLinks.push('<' + typeText + '>'); + typeLinks.push('<' + typeTextFull + + '>'); } } }); diff --git a/tools/install.py b/tools/install.py index 4f155376eaf534..d1100352c6a413 100755 --- a/tools/install.py +++ b/tools/install.py @@ -165,7 +165,8 @@ def headers(action): if 'false' == variables.get('node_shared_libuv'): subdir_files('deps/uv/include', 'include/node/', action) - if 'false' == variables.get('node_shared_openssl'): + if 'true' == variables.get('node_use_openssl') and \ + 'false' == variables.get('node_shared_openssl'): subdir_files('deps/openssl/openssl/include/openssl', 'include/node/openssl/', action) subdir_files('deps/openssl/config/archs', 'include/node/openssl/archs', action) action(['deps/openssl/config/opensslconf.h'], 'include/node/openssl/')