James M Snell
cc43c8fb54
console: add console.count() and console.clear()
...
Both are simple utility functions defined by the WHATWG
console spec (https://console.spec.whatwg.org/ ).
PR-URL: https://github.com/nodejs/node/pull/12678
Ref: https://github.com/nodejs/node/issues/12675
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2017-08-02 08:23:07 -07:00
James M Snell
b0a8a7c6ba
test: improvements to various http tests
...
* Add common/countdown utility
* Numerous improvements to http tests
PR-URL: https://github.com/nodejs/node/pull/14315
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2017-07-24 14:16:49 -07:00
James M Snell
ed21cb1774
util: implement WHATWG Encoding Standard API
...
Provide an (initially experimental) implementation of the WHATWG Encoding
Standard API (`TextDecoder` and `TextEncoder`). The is the same API
implemented on the browser side.
By default, with small-icu, only the UTF-8, UTF-16le and UTF-16be decoders
are supported. With full-icu enabled, every encoding other than iso-8859-16
is supported.
This provides a basic test, but does not include the full web platform
tests. Note: many of the web platform tests for this would fail by default
because we ship with small-icu by default.
A process warning will be emitted on first use to indicate that the
API is still experimental. No runtime flag is required to use the
feature.
Refs: https://encoding.spec.whatwg.org/
PR-URL: https://github.com/nodejs/node/pull/13644
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2017-07-24 14:04:13 -07:00
James M Snell
5c2d1af310
doc: update experimental status to reflect use
...
* Update the experimental status to reflect actual common use.
* Also make a few formatting fixes.
Fixes: https://github.com/nodejs/node/issues/12701
PR-URL: https://github.com/nodejs/node/pull/12723
Fixes: https://github.com/nodejs/node/issues/12701
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Myles Borins <myles.borins@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2017-07-24 09:55:13 -07:00
James M Snell
355523fcfb
buffer: refactor module.exports, imports
...
* Move to more efficient module.exports pattern
* Refactor requires
* Eliminate circular dependency on internal/buffer
* Add names to some functions
* Fix circular dependency error in assert.js
PR-URL: https://github.com/nodejs/node/pull/13807
Reviewed-By: Refael Ackermann <refack@gmail.com >
2017-07-24 07:24:53 -07:00
James M Snell
b1355ba6fa
util: refactor util module
...
* refactor util exports
* early capture of prototype methods
* use template strings and args consistently
PR-URL: https://github.com/nodejs/node/pull/13803
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-07-23 20:40:53 -07:00
James M Snell
1fcb76e8f2
cluster: remove deprecated property
...
PR-URL: https://github.com/nodejs/node/pull/13702
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-06-20 11:48:47 -07:00
James M Snell
eaaec57332
test: use worker.exitedAfterDisconnect consistently
...
PR-URL: https://github.com/nodejs/node/pull/13702
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-06-20 11:48:42 -07:00
James M Snell
3fab9f2cd7
doc: EOL deprecated API and update notes
...
PR-URL: https://github.com/nodejs/node/pull/13702
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-06-20 11:48:36 -07:00
James M Snell
22cf25cf2d
buffer: support boxed strings and toPrimitive
...
Add support for `Buffer.from(new String('...'))` and
`Buffer.from({[Symbol.toPrimitive]() { return '...'; }})`
PR-URL: https://github.com/nodejs/node/pull/13725
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-06-19 15:27:01 -07:00
James M Snell
873e2f270f
errors: add missing ERR_ prefix on util.callbackify error
...
The `FALSY_VALUE_REJECTION` error code added by
https://github.com/nodejs/node/pull/12712 did not have the `ERR_` prefix,
nor was it added to the errors.md documentation. Add the prefix in for
consistency.
PR-URL: https://github.com/nodejs/node/pull/13604
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2017-06-13 12:33:52 -07:00
James M Snell
d7f6919228
2017-05-07, Version 8.1.0 (Current)
...
* **Async Hooks**
* When one `Promise` leads to the creation of a new `Promise`, the parent
`Promise` will be identified as the trigger
[[`135f4e6643`](https://github.com/nodejs/node/commit/135f4e6643 )]
[#13367 ](https://github.com/nodejs/node/pull/13367 ).
* **Dependencies**
* libuv has been updated to 1.12.0
[[`968596ec77`](https://github.com/nodejs/node/commit/968596ec77 )]
[#13306 ](https://github.com/nodejs/node/pull/13306 ).
* npm has been updated to 5.0.3
[[`ffa7debd7a`](https://github.com/nodejs/node/commit/ffa7debd7a )]
[#13487 ](https://github.com/nodejs/node/pull/13487 ).
* **File system**
* The `fs.exists()` function now works correctly with `util.promisify()`
[[`6e0eccd7a1`](https://github.com/nodejs/node/commit/6e0eccd7a1 )]
[#13316 ](https://github.com/nodejs/node/pull/13316 ).
* fs.Stats times are now also available as numbers
[[`c756efb25a`](https://github.com/nodejs/node/commit/c756efb25a )]
[#13173 ](https://github.com/nodejs/node/pull/13173 ).
* **Inspector**
* It is now possible to bind to a random port using `--inspect=0`
[[`cc6ec2fb27`](https://github.com/nodejs/node/commit/cc6ec2fb27 )]
[#5025 ](https://github.com/nodejs/node/pull/5025 ).
* **Zlib**
* A regression in the Zlib module that made it impossible to properly
subclasses `zlib.Deflate` and other Zlib classes has been fixed.
[[`6aeb555cc4`](https://github.com/nodejs/node/commit/6aeb555cc4 )]
[#13374 ](https://github.com/nodejs/node/pull/13374 ).
2017-06-08 20:54:01 +10:00
James M Snell
7024c5a302
zlib: revert back to Functions
...
Using ES6 Classes broke userland code. Revert back to functions.
PR-URL: https://github.com/nodejs/node/pull/13374
Fixes: https://github.com/nodejs/node/issues/13358
Ref: https://github.com/nodejs/node/pull/13370
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2017-06-05 10:56:52 -07:00
James M Snell
43e4efdf21
2017-05-30, Version 8.0.0 (Current)
...
* **Async Hooks**
* The `async_hooks` module has landed in core
[[`4a7233c178`](https://github.com/nodejs/node/commit/4a7233c178 )]
[#12892 ](https://github.com/nodejs/node/pull/12892 ).
* **Buffer**
* Using the `--pending-deprecation` flag will cause Node.js to emit a
deprecation warning when using `new Buffer(num)` or `Buffer(num)`.
[[`d2d32ea5a2`](https://github.com/nodejs/node/commit/d2d32ea5a2 )]
[#11968 ](https://github.com/nodejs/node/pull/11968 ).
* `new Buffer(num)` and `Buffer(num)` will zero-fill new `Buffer` instances
[[`7eb1b4658e`](https://github.com/nodejs/node/commit/7eb1b4658e )]
[#12141 ](https://github.com/nodejs/node/pull/12141 ).
* Many `Buffer` methods now accept `Uint8Array` as input
[[`beca3244e2`](https://github.com/nodejs/node/commit/beca3244e2 )]
[#10236 ](https://github.com/nodejs/node/pull/10236 ).
* **Child Process**
* Argument and kill signal validations have been improved
[[`97a77288ce`](https://github.com/nodejs/node/commit/97a77288ce )]
[#12348 ](https://github.com/nodejs/node/pull/12348 ),
[[`d75fdd96aa`](https://github.com/nodejs/node/commit/d75fdd96aa )]
[#10423 ](https://github.com/nodejs/node/pull/10423 ).
* Child Process methods accept `Uint8Array` as input
[[`627ecee9ed`](https://github.com/nodejs/node/commit/627ecee9ed )]
[#10653 ](https://github.com/nodejs/node/pull/10653 ).
* **Console**
* Error events emitted when using `console` methods are now supressed.
[[`f18e08d820`](https://github.com/nodejs/node/commit/f18e08d820 )]
[#9744 ](https://github.com/nodejs/node/pull/9744 ).
* **Dependencies**
* The npm client has been updated to 5.0.0
[[`3c3b36af0f`](https://github.com/nodejs/node/commit/3c3b36af0f )]
[#12936 ](https://github.com/nodejs/node/pull/12936 ).
* V8 has been updated to 5.8 with forward ABI stability to 6.0
[[`60d1aac8d2`](https://github.com/nodejs/node/commit/60d1aac8d2 )]
[#12784 ](https://github.com/nodejs/node/pull/12784 ).
* **Domains**
* Native `Promise` instances are now `Domain` aware
[[`84dabe8373`](https://github.com/nodejs/node/commit/84dabe8373 )]
[#12489 ](https://github.com/nodejs/node/pull/12489 ).
* **Errors**
* We have started assigning static error codes to errors generated by Node.js.
This has been done through multiple commits and is still a work in
progress.
* **File System**
* The utility class `fs.SyncWriteStream` has been deprecated
[[`7a55e34ef4`](https://github.com/nodejs/node/commit/7a55e34ef4 )]
[#10467 ](https://github.com/nodejs/node/pull/10467 ).
* The deprecated `fs.read()` string interface has been removed
[[`3c2a9361ff`](https://github.com/nodejs/node/commit/3c2a9361ff )]
[#9683 ](https://github.com/nodejs/node/pull/9683 ).
* **HTTP**
* Improved support for userland implemented Agents
[[`90403dd1d0`](https://github.com/nodejs/node/commit/90403dd1d0 )]
[#11567 ](https://github.com/nodejs/node/pull/11567 ).
* Outgoing Cookie headers are concatenated into a single string
[[`d3480776c7`](https://github.com/nodejs/node/commit/d3480776c7 )]
[#11259 ](https://github.com/nodejs/node/pull/11259 ).
* The `httpResponse.writeHeader()` method has been deprecated
[[`fb71ba4921`](https://github.com/nodejs/node/commit/fb71ba4921 )]
[#11355 ](https://github.com/nodejs/node/pull/11355 ).
* New methods for accessing HTTP headers have been added to `OutgoingMessage`
[[`3e6f1032a4`](https://github.com/nodejs/node/commit/3e6f1032a4 )]
[#10805 ](https://github.com/nodejs/node/pull/10805 ).
* **Lib**
* All deprecation messages have been assigned static identifiers
[[`5de3cf099c`](https://github.com/nodejs/node/commit/5de3cf099c )]
[#10116 ](https://github.com/nodejs/node/pull/10116 ).
* The legacy `linkedlist` module has been removed
[[`84a23391f6`](https://github.com/nodejs/node/commit/84a23391f6 )]
[#12113 ](https://github.com/nodejs/node/pull/12113 ).
* **N-API**
* Experimental support for the new N-API API has been added
[[`56e881d0b0`](https://github.com/nodejs/node/commit/56e881d0b0 )]
[#11975 ](https://github.com/nodejs/node/pull/11975 ).
* **Process**
* Process warning output can be redirected to a file using the
`--redirect-warnings` command-line argument
[[`03e89b3ff2`](https://github.com/nodejs/node/commit/03e89b3ff2 )]
[#10116 ](https://github.com/nodejs/node/pull/10116 ).
* Process warnings may now include additional detail
[[`dd20e68b0f`](https://github.com/nodejs/node/commit/dd20e68b0f )]
[#12725 ](https://github.com/nodejs/node/pull/12725 ).
* **REPL**
* REPL magic mode has been deprecated
[[`3f27f02da0`](https://github.com/nodejs/node/commit/3f27f02da0 )]
[#11599 ](https://github.com/nodejs/node/pull/11599 ).
* **Src**
* `NODE_MODULE_VERSION` has been updated to 57
(https://github.com/nodejs/node/commit/ec7cbaf266 )]
[#12995 ](https://github.com/nodejs/node/pull/12995 ).
* Add `--pending-deprecation` command-line argument and
`NODE_PENDING_DEPRECATION` environment variable
[[`a16b570f8c`](https://github.com/nodejs/node/commit/a16b570f8c )]
[#11968 ](https://github.com/nodejs/node/pull/11968 ).
* The `--debug` command-line argument has been deprecated. Note that
using `--debug` will enable the *new* Inspector-based debug protocol
as the legacy Debugger protocol previously used by Node.js has been
removed. [[`010f864426`](https://github.com/nodejs/node/commit/010f864426 )]
[#12949 ](https://github.com/nodejs/node/pull/12949 ).
* Throw when the `-c` and `-e` command-line arguments are used at the same
time [[`a5f91ab230`](https://github.com/nodejs/node/commit/a5f91ab230 )]
[#11689 ](https://github.com/nodejs/node/pull/11689 ).
* Throw when the `--use-bundled-ca` and `--use-openssl-ca` command-line
arguments are used at the same time.
[[`8a7db9d4b5`](https://github.com/nodejs/node/commit/8a7db9d4b5 )]
[#12087 ](https://github.com/nodejs/node/pull/12087 ).
* **Stream**
* `Stream` now supports `destroy()` and `_destroy()` APIs
[[`b6e1d22fa6`](https://github.com/nodejs/node/commit/b6e1d22fa6 )]
[#12925 ](https://github.com/nodejs/node/pull/12925 ).
* `Stream` now supports the `_final()` API
[[`07c7f198db`](https://github.com/nodejs/node/commit/07c7f198db )]
[#12828 ](https://github.com/nodejs/node/pull/12828 ).
* **TLS**
* The `rejectUnauthorized` option now defaults to `true`
[[`348cc80a3c`](https://github.com/nodejs/node/commit/348cc80a3c )]
[#5923 ](https://github.com/nodejs/node/pull/5923 ).
* The `tls.createSecurePair()` API now emits a runtime deprecation
[[`a2ae08999b`](https://github.com/nodejs/node/commit/a2ae08999b )]
[#11349 ](https://github.com/nodejs/node/pull/11349 ).
* A runtime deprecation will now be emitted when `dhparam` is less than
2048 bits [[`d523eb9c40`](https://github.com/nodejs/node/commit/d523eb9c40 )]
[#11447 ](https://github.com/nodejs/node/pull/11447 ).
* **URL**
* The WHATWG URL implementation is now a fully-supported Node.js API
[[`d080ead0f9`](https://github.com/nodejs/node/commit/d080ead0f9 )]
[#12710 ](https://github.com/nodejs/node/pull/12710 ).
* **Util**
* `Symbol` keys are now displayed by default when using `util.inspect()`
[[`5bfd13b81e`](https://github.com/nodejs/node/commit/5bfd13b81e )]
[#9726 ](https://github.com/nodejs/node/pull/9726 ).
* `toJSON` errors will be thrown when formatting `%j`
[[`455e6f1dd8`](https://github.com/nodejs/node/commit/455e6f1dd8 )]
[#11708 ](https://github.com/nodejs/node/pull/11708 ).
* Convert `inspect.styles` and `inspect.colors` to prototype-less objects
[[`aab0d202f8`](https://github.com/nodejs/node/commit/aab0d202f8 )]
[#11624 ](https://github.com/nodejs/node/pull/11624 ).
* The new `util.promisify()` API has been added
[[`99da8e8e02`](https://github.com/nodejs/node/commit/99da8e8e02 )]
[#12442 ](https://github.com/nodejs/node/pull/12442 ).
* **Zlib**
* Support `Uint8Array` in Zlib convenience methods
[[`91383e47fd`](https://github.com/nodejs/node/commit/91383e47fd )]
[#12001 ](https://github.com/nodejs/node/pull/12001 ).
* Zlib errors now use `RangeError` and `TypeError` consistently
[[`b514bd231e`](https://github.com/nodejs/node/commit/b514bd231e )]
[#11391 ](https://github.com/nodejs/node/pull/11391 ).
2017-05-30 10:58:31 -07:00
James M Snell
dbbe1faf30
doc: restructure url.md
...
PR-URL: https://github.com/nodejs/node/pull/12710
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2017-05-29 07:39:37 -07:00
James M Snell
10754b60d0
doc: graduate WHATWG URL from Experimental
...
PR-URL: https://github.com/nodejs/node/pull/12710
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2017-05-29 07:39:30 -07:00
James M Snell
ef16319eff
util: fixup internal util exports
...
util.promisify landed without using the module.exports = {}
pattern. This fixes it up for consistency
PR-URL: https://github.com/nodejs/node/pull/12998
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-05-15 08:26:57 -07:00
James M Snell
d37f27a008
test: expand test coverage of readline
...
PR-URL: https://github.com/nodejs/node/pull/12755
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-05-07 22:54:31 +02:00
James M Snell
4c070d4897
readline: move escape codes into internal/readline
...
Moves escape codes into internal/readline for easier management.
PR-URL: https://github.com/nodejs/node/pull/12755
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-05-07 22:54:26 +02:00
James M Snell
4ac7a68ccd
readline: multiple code cleanups
...
Variety of code maintenance updates, cleanups
PR-URL: https://github.com/nodejs/node/pull/12755
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-05-07 22:54:22 +02:00
James M Snell
392a8987c6
readline: use module.exports = {} on internal/readline
...
PR-URL: https://github.com/nodejs/node/pull/12755
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-05-07 22:54:18 +02:00
James M Snell
9318f82937
readline: use module.exports = {}
...
PR-URL: https://github.com/nodejs/node/pull/12755
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-05-07 22:53:58 +02:00
James M Snell
e48d58b8b2
assert: fix AssertionError, assign error code
...
Using `assert.AssertionError()` without the `new` keyword results
in a non-intuitive error:
```js
> assert.AssertionError({})
TypeError: Cannot assign to read only property 'name' of function 'function ok(value, message) {
if (!value) fail(value, true, message, '==', assert.ok);
}'
at Function.AssertionError (assert.js:45:13)
at repl:1:8
at realRunInThisContextScript (vm.js:22:35)
at sigintHandlersWrap (vm.js:98:12)
at ContextifyScript.Script.runInThisContext (vm.js:24:12)
at REPLServer.defaultEval (repl.js:346:29)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.onLine (repl.js:545:10)
at emitOne (events.js:101:20)
>
```
The `assert.AssertionError()` can only be used correctly with `new`,
so this converts it into a proper ES6 class that will give an
appropriate error message.
This also associates the appropriate internal/errors code with all
`assert.AssertionError` instances and updates the appropriate test
cases.
PR-URL: https://github.com/nodejs/node/pull/12651
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2017-05-04 07:18:17 -07:00
James M Snell
dd20e68b0f
process: add optional detail to process emitWarning
...
Adds a new method signature variant for process.emitWarning()
that accepts an options object. The options object may include
a new `detail` option that allows additional detail text to be
associated with the warning. By default, this additional text
will be printed to stderr along with the warning, and included
on the Warning Error object using the `.detail` property.
e.g.
```js
process.emitWarning('A message', {
code: 'WARNING123',
detail: 'This is additional detail'
});
// Emits:
// (node {pid}) [WARNING123] Warning: A message
// This is additional detail
```
PR-URL: https://github.com/nodejs/node/pull/12725
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-05-01 11:53:47 -07:00
James M Snell
23fc082409
test: remove extra console output from test-os.js
...
PR-URL: https://github.com/nodejs/node/pull/12654
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2017-05-01 11:45:02 -07:00
James M Snell
473572ea25
os: refactor os structure, add Symbol.toPrimitive
...
Refactor the structure of the os module to use more efficient
module.exports = {} pattern.
Add Symbol.toPrimitive support to os methods that return simple
primitives. This is a minor tweak that makes using these slightly
more friendly when doing things like:
```js
var m = `${os.tmpdir}/foo`
```
PR-URL: https://github.com/nodejs/node/pull/12654
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2017-05-01 11:44:56 -07:00
James M Snell
ea9eed5643
freelist: simplify export
...
PR-URL: https://github.com/nodejs/node/pull/12644
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-05-01 11:18:51 -07:00
James M Snell
08809f28ad
fs: simplify constant decls
...
PR-URL: https://github.com/nodejs/node/pull/12644
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-05-01 11:18:46 -07:00
James M Snell
e2199e0fc2
streams: refactor BufferList into ES6 class
...
PR-URL: https://github.com/nodejs/node/pull/12644
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-05-01 11:18:42 -07:00
James M Snell
ed0716f0e9
module: refactor internal/module export style
...
PR-URL: https://github.com/nodejs/node/pull/12644
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-05-01 11:18:38 -07:00
James M Snell
579ff2a487
process: refactor internal/process.js export style
...
PR-URL: https://github.com/nodejs/node/pull/12644
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-05-01 11:18:31 -07:00
James M Snell
97ec72b76d
url: refactor binding imports in internal/url
...
PR-URL: https://github.com/nodejs/node/pull/12717
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com
2017-04-29 10:24:24 -07:00
James M Snell
b331ba6ca9
url: move to module.exports = {} pattern
...
PR-URL: https://github.com/nodejs/node/pull/12717
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com
2017-04-29 10:24:18 -07:00
James M Snell
1052383f7c
v8: refactor struture of v8 module
...
Use the more efficient module.exports = {} pattern,
restructure imports from bindings, requires.
PR-URL: https://github.com/nodejs/node/pull/12681
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
2017-04-28 14:29:45 -07:00
James M Snell
bed4612c40
benchmark: add benchmark for v8.getHeap*Statistics
...
PR-URL: https://github.com/nodejs/node/pull/12681
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
2017-04-28 14:29:33 -07:00
James M Snell
71f22c842b
doc: replace uses of you and other style nits
...
Replace uses of the pronouns `you` and `your` throughout
the docs + other minor style nits
PR-URL: https://github.com/nodejs/node/pull/12673
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
2017-04-28 07:57:11 -07:00
James M Snell
76327613af
errors, child_process: migrate to using internal/errors
...
PR-URL: https://github.com/nodejs/node/pull/11300
Ref: https://github.com/nodejs/node/issues/11273
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2017-04-27 15:44:14 -07:00
James M Snell
f0b702555a
errors: use lazy assert to avoid issues on startup
...
Use of assert must be lazy to allow errors to be used early
before the process is completely set up
PR-URL: https://github.com/nodejs/node/pull/11300
Ref: https://github.com/nodejs/node/issues/11273
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2017-04-27 15:44:08 -07:00
James M Snell
85a4e25775
http: add type checking for hostname
...
Add type checking for options.hostname / options.host
Maintains the use of `undefined` and `null` for default `localhost`,
but other falsy values (like `false`, `0` and `NaN`) are rejected.
PR-URL: https://github.com/nodejs/node/pull/12494
Ref: https://github.com/nodejs/node/issues/12488
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com >
2017-04-24 10:49:12 -07:00
James M Snell
251e5ed8ee
errors: assign error code to bootstrap_node created error
...
This does not use the internal/errors.js module because the error
in question may actually be *caused* by an attempt to load
internal/errors.js. This error should only be encountered in the
case of a bug within Node.js itself.
PR-URL: https://github.com/nodejs/node/pull/11298
Ref: https://github.com/nodejs/node/issues/11273
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
2017-04-24 09:06:54 -07:00
James M Snell
9077b48271
lib: refactor internal/util
...
* Use the more efficient module.exports = {} approach
* Eliminate some uses of arguments
PR-URL: https://github.com/nodejs/node/pull/11404
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net
2017-04-21 11:14:01 -07:00
James M Snell
e75bc87d22
errors: port internal/process errors to internal/errors
...
* Assign codes to the handful of errors reported by
internal/process/*.js
* Include documentation for the new error codes
* Improve error messages
* Improve test coverage for process.nextTick
PR-URL: https://github.com/nodejs/node/pull/11294
Ref: https://github.com/nodejs/node/issues/11273
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
2017-04-20 11:34:07 -07:00
James M Snell
d2d32ea5a2
buffer: add pending deprecation warning
...
The pending deprecation warning is off by default.
Launch the node process with --pending-deprecation
or NODE_PENDING_DEPRECATION=1 env var set.
PR-URL: https://github.com/nodejs/node/pull/11968
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-19 09:15:57 -07:00
James M Snell
a16b570f8c
src: add --pending-deprecation and NODE_PENDING_DEPRECATION
...
Command line flag and environment variable that can be used to
indicate that pending deprecations should be emitted.
PR-URL: https://github.com/nodejs/node/pull/11968
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2017-04-19 09:15:50 -07:00
James M Snell
6c606916db
Revert "test: port test for make_callback to n-api"
...
This reverts commit 70b51c8cc3 .
PR-URL: https://github.com/nodejs/node/pull/12475
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-04-17 16:49:22 -07:00
James M Snell
0227571c17
Revert "benchmark: fix CLI arguments check in common.js"
...
This reverts commit e34f8e1444 .
PR-URL: https://github.com/nodejs/node/pull/12474
Reviewed-By: Myles Borins <myles.borins@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-04-17 15:50:20 -07:00
James M Snell
258494c2f8
meta: move the Code of Conduct to TSC repository
...
PR-URL: https://github.com/nodejs/node/pull/12147
Ref: https://github.com/nodejs/TSC/issues/224
Ref: https://github.com/nodejs/TSC/pull/232
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-04-17 08:41:50 -07:00
James M Snell
7eb1b4658e
buffer: zero fill Buffer(num) by default
...
PR-URL: https://github.com/nodejs/node/pull/12141
Ref: https://github.com/nodejs/CTC/issues/89
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Prince John Wesley <princejohnwesley@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
2017-04-03 09:57:24 -07:00
James M Snell
7b4a72d797
errors: add space between error name and code
...
`Error[CODE]` becomes `Error [CODE]`
PR-URL: https://github.com/nodejs/node/pull/12099
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Evan Lucas <evanlucas@me.com >
2017-04-03 09:48:40 -07:00
James M Snell
7139b93a8b
url: add ToObject method to native URL class
...
Provides a factory method to convert a native URL class
into a JS URL object.
```c++
Environment* env = ...
URL url("http://example.org/a/b/c?query#fragment ");
MaybeLocal<Value> val = url.ToObject(env);
```
PR-URL: https://github.com/nodejs/node/pull/12056
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-03-29 20:48:25 -07:00
James M Snell
51b007aaa7
test: add cctest for native URL class
...
PR-URL: https://github.com/nodejs/node/pull/12042
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2017-03-27 10:12:44 -07:00
James M Snell
20b18236de
tools: add rule prefering common.mustNotCall()
...
Prefer using `common.mustNotCall()` over `common.mustCall(fn, 0)`
PR-URL: https://github.com/nodejs/node/pull/12027
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Teddy Katz <teddy.katz@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
2017-03-26 12:47:21 -07:00
James M Snell
4f2e372716
test: add common.noop, default for common.mustCall()
...
Export a new common.noop no-operation function for general use.
Allow using common.mustCall() without a fn argument to simplify
test cases.
Replace various non-op functions throughout tests with common.noop
PR-URL: https://github.com/nodejs/node/pull/12027
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Teddy Katz <teddy.katz@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
2017-03-26 12:47:15 -07:00
James M Snell
e26b6c6baa
src: add native URL class
...
Adds a URL native class for use within the node.js c/c++
code. This is primarily intended to be used by the eventual
ES6 modules implementation but can be used generally wherever
URL parsing within the c/c++ may be necessary.
```c
URL url1("http://example.org ");
URL url2("foo", "http://example.org/bar ");
URL url3("baz", &url2);
```
While we're at it, reduce reliance on macros to simplify impl.
PR-URL: https://github.com/nodejs/node/pull/11801
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-03-22 08:44:04 -07:00
James M Snell
74c1e02642
http: replace uses of self
...
PR-URL: https://github.com/nodejs/node/pull/11594
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2017-03-20 16:01:39 -07:00
James M Snell
5425e0dcbe
http: use more efficient module.exports pattern
...
PR-URL: https://github.com/nodejs/node/pull/11594
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2017-03-20 16:01:31 -07:00
James M Snell
989713d343
lib: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:55 -07:00
James M Snell
f6dbead126
util: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:50 -07:00
James M Snell
2d230faa56
module: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:45 -07:00
James M Snell
ae9e640f30
repl: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:40 -07:00
James M Snell
53cf483401
readline: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:35 -07:00
James M Snell
42e55eb37b
net: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:30 -07:00
James M Snell
4d090855c6
lib: avoid using forEach in LazyTransform
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:25 -07:00
James M Snell
a993beb915
fs: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:20 -07:00
James M Snell
5aa7d4daca
tls: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:16 -07:00
James M Snell
910a8998fb
stream: avoid using forEach
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:10 -07:00
James M Snell
c8acd08a37
benchmark: benchmark comparing forEach with for
...
PR-URL: https://github.com/nodejs/node/pull/11582
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-17 11:09:03 -07:00
James M Snell
98e54b0bd4
meta: restore original copyright header
...
A prior io.js era commit inappropriately removed the
original copyright statements from the source. This
restores those in any files still remaining from that
edit.
Ref: https://github.com/nodejs/TSC/issues/174
Ref: https://github.com/nodejs/node/pull/10599
PR-URL: https://github.com/nodejs/node/pull/10155
Note: This PR was required, reviewed-by and approved
by the Node.js Foundation Legal Committee and the TSC.
There is no `Approved-By:` meta data.
2017-03-10 11:23:48 -08:00
James M Snell
06942d8964
meta: move WORKING_GROUPS.md to CTC repo
...
PR-URL: https://github.com/nodejs/node/pull/11555
Ref: https://github.com/nodejs/CTC/pull/73
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2017-03-07 13:07:14 -08:00
James M Snell
a2ae08999b
tls: runtime deprecation for tls.createSecurePair()
...
Upgrade the deprecation for _tls_legacy (`tls.createSecurePair()`)
to a runtime deprecation.
PR-URL: https://github.com/nodejs/node/pull/11349
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
2017-03-06 14:23:20 -08:00
James M Snell
531de63c14
dns: minor refactor of dns module
...
Move to the more efficient module.exports = {} pattern.
PR-URL: https://github.com/nodejs/node/pull/11597
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Claudio Rodriguez <cjrodr@yahoo.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-03-04 14:16:03 -08:00
James M Snell
e047c99bbf
meta: remove out of date ROADMAP.md file
...
The ROADMAP.md file has not been updated in a while. It serves no
useful purpose that cannot be handled better in other docs
(contrib guidelines, etc). Just remove it.
PR-URL: https://github.com/nodejs/node/pull/11556
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-03-01 17:42:46 +01:00
James M Snell
fb71ba4921
http: docs-only deprecation of res.writeHeader()
...
Doc-only deprecation of the undocumented res.writeHeader() API.
Also makes res.writeHeader an alias of res.writeHead since the
previous implementation simply deferred to that method.
PR-URL: https://github.com/nodejs/node/pull/11355
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Rod Vagg <rod@vagg.org >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
2017-02-24 18:05:52 -08:00
James M Snell
7a55e34ef4
fs: runtime deprecation for fs.SyncWriteStream
...
This API was never intended to be made public and was docs-only
deprecated in Node.js 6.x. This upgrades to a runtime deprecation
for Node.js 8.0.0
PR-URL: https://github.com/nodejs/node/pull/10467
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2017-02-22 17:01:08 -08:00
James M Snell
62e96096fa
lib: more consistent use of module.exports = {} model
...
Switch to using the more efficient module.exports = {}
where possible.
PR-URL: https://github.com/nodejs/node/pull/11406
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-02-22 08:56:08 -08:00
James M Snell
88c3f57cc3
lib: refactor internal/socket_list
...
PR-URL: https://github.com/nodejs/node/pull/11406
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-02-22 08:56:01 -08:00
James M Snell
f04387e9f2
lib: refactor internal/freelist
...
PR-URL: https://github.com/nodejs/node/pull/11406
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-02-22 08:55:56 -08:00
James M Snell
d61a511728
lib: refactor internal/linkedlist
...
PR-URL: https://github.com/nodejs/node/pull/11406
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2017-02-22 08:55:50 -08:00
James M Snell
d523eb9c40
tls: use emitWarning() for dhparam < 2048 bits
...
When a dhparam less than 2048 bits was used, a warning was being
printed directly to console.error using an internalUtil.trace
function that was not used anywhere else. This replaces it with
a proper process warning and removes the internalUtil.trace
function.
PR-URL: https://github.com/nodejs/node/pull/11447
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Rod Vagg <rod@vagg.org >
2017-02-20 06:59:30 -08:00
James M Snell
051047231e
util: cleanup internalUtil.deprecate
...
There were two functions `deprecate` and `_deprecate`
that were really just aliases of each other. Simplify
PR-URL: https://github.com/nodejs/node/pull/11450
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-02-19 15:06:39 -08:00
James M Snell
bc44d2c3cd
util, debugger: remove internalUtil.error
...
The internalUtil.error() function was only used by _debugger.js.
PR-URL: https://github.com/nodejs/node/pull/11448
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-02-19 12:33:19 -08:00
James M Snell
b855dadae0
util: eliminate unnecessary exports
...
The getHiddenValue and setHiddenValue functions
are exported from internalUtil for no really good
reason
PR-URL: https://github.com/nodejs/node/pull/11451
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2017-02-19 12:15:21 -08:00
James M Snell
b514bd231e
zlib: use RangeError/TypeError consistently
...
PR-URL: https://github.com/nodejs/node/pull/11391
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2017-02-17 10:37:46 -08:00
James M Snell
8e69f7e385
zlib: refactor zlib module
...
PR-URL: https://github.com/nodejs/node/pull/11391
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2017-02-17 10:37:39 -08:00
James M Snell
4151ab398b
util: add createClassWrapper to internal/util
...
Utility function for wrapping an ES6 class with a constructor
function that does not require the new keyword
PR-URL: https://github.com/nodejs/node/pull/11391
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2017-02-17 10:37:32 -08:00
James M Snell
804bb22e3b
vm: refactor vm module
...
Switch to the more efficient module.exports = {} pattern.
PR-URL: https://github.com/nodejs/node/pull/11392
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-02-17 10:21:02 -08:00
James M Snell
4b8b7e9d2b
buffer: refactor slowToString
...
Since slowToString only has one callsite, refactor to eliminate
the use of call.
PR-URL: https://github.com/nodejs/node/pull/11358
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-02-15 12:09:57 -08:00
James M Snell
1e21d05632
buffer: avoid use of arguments
...
Avoid use of arguments in Buffer.prototype.toString()
PR-URL: https://github.com/nodejs/node/pull/11358
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2017-02-15 12:09:47 -08:00
James M Snell
0000d71dc6
tls: avoid potentially deoptimizing use of arguments
...
Replace use of arguments with `...args`
```
tls/tls-connect.js dur=5 concurrency=1 -9.43 % 0.172136744
tls/tls-connect.js dur=5 concurrency=10 29.05 % ** 0.001108115
```
PR-URL: https://github.com/nodejs/node/pull/11357
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2017-02-15 10:11:49 -08:00
James M Snell
e36d0d3974
dns: avoid use of arguments
...
PR-URL: https://github.com/nodejs/node/pull/11359
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com
2017-02-15 10:05:32 -08:00
James M Snell
9f74184e98
crypto: upgrade pbkdf2 without digest to an error
...
Commit a1163582 added a deprecation warning when pbkdf2 was called without an
explicit `digest` argument. This was because the default digest is `sha1`,
which is not-recommended from a security point of view. This upgrades it
to a runtime error when `digest` is undefined per the plan discussed in
the original issue.
Ref: https://github.com/nodejs/node/commit/a1163582c53dc6e00f3680084269600913b1cad2
PR-URL: https://github.com/nodejs/node/pull/11305
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
2017-02-13 11:04:51 -08:00
James M Snell
595df9fc4b
benchmarks: add spread operator benchmark
...
Useful for comparing spread operator performance over time.
PR-URL: https://github.com/nodejs/node/pull/11227
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-02-09 17:58:41 -08:00
James M Snell
159749d522
errors: add internal/errors.js
...
Add the internal/errors.js core mechanism.
PR-URL: https://github.com/nodejs/node/pull/11220
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2017-02-09 13:46:14 -08:00
James M Snell
9549329158
fs: allow WHATWG URL and file: URLs as paths
...
Updates the fs module APIs to allow 'file://' URL objects
to be passed as the path.
For example:
```js
const URL = require('url').URL;
const myURL = new URL('file:///C:/path/to/file');
fs.readFile(myURL, (err, data) => {});
```
On Windows, file: URLs with a hostname convert to UNC paths,
while file: URLs with drive letters convert to local absolute
paths:
```
file://hostname/a/b/c => \\hostname\a\b\c
file:///c:/a/b/c => c:\a\b\c
```
On all other platforms, file: URLs with a hostname are unsupported
and will result in a throw:
```
file://hostname/a/b/c => throw!
file:///a/b/c => /a/b/c
```
The documentation for the fs API is intentionally not updated in
this commit because the URL API is still considered experimental
and is not officially documented *at this time*
Note that file: URLs are *required* by spec to always be absolute
paths from the file system root.
This is a semver-major commit because it changes error handling
on the fs APIs.
PR-URL: https://github.com/nodejs/node/pull/10739
Ref: https://github.com/nodejs/node/issues/10703
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2017-02-06 11:03:37 -08:00
James M Snell
5e52a9ac09
Revert "fs: allow WHATWG URL and file: URLs as paths"
...
This reverts commit 79400bfbfd .
PR-URL: https://github.com/nodejs/node/pull/11155
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
2017-02-03 16:43:18 -08:00
James M Snell
9562bf4bd4
Revert "test: refactor test-fs-error-messages.js"
...
This reverts commit 907ce8dd6c .
PR-URL: https://github.com/nodejs/node/pull/11155
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
2017-02-03 16:43:12 -08:00
James M Snell
79400bfbfd
fs: allow WHATWG URL and file: URLs as paths
...
Updates the fs module APIs to allow 'file://' URL objects
to be passed as the path.
For example:
```js
const URL = require('url').URL;
const myURL = new URL('file:///C:/path/to/file');
fs.readFile(myURL, (err, data) => {});
```
On Windows, file: URLs with a hostname convert to UNC paths,
while file: URLs with drive letters convert to local absolute
paths:
```
file://hostname/a/b/c => \\hostname\a\b\c
file:///c:/a/b/c => c:\a\b\c
```
On all other platforms, file: URLs with a hostname are unsupported
and will result in a throw:
```
file://hostname/a/b/c => throw!
file:///a/b/c => /a/b/c
```
The documentation for the fs API is intentionally not updated in
this commit because the URL API is still considered experimental
and is not officially documented *at this time*
Note that file: URLs are *required* by spec to always be absolute
paths from the file system root.
This is a semver-major commit because it changes error handling
on the fs APIs.
PR-URL: https://github.com/nodejs/node/pull/10739
Ref: https://github.com/nodejs/node/issues/10703
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2017-02-03 13:59:06 -08:00
James M Snell
0d9ea4fdcd
doc: add documentation for url.format(URL[, options]);
...
PR-URL: https://github.com/nodejs/node/pull/10857
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-02-02 12:36:21 -08:00
James M Snell
c5e9654b5b
url: extend url.format to support WHATWG URL
...
Removes the non-standard options on WHATWG URL toString
and extends the existing url.format() API to support
customizable serialization of the WHATWG URL object.
This does not yet include the documentation updates
because the documentation for the new WHATWG URL object
has not yet landed.
Example:
```js
const url = require('url');
const URL = url.URL;
const myURL = new URL('http://example.org/?a=b#c ');
const str = url.format(myURL, {fragment: false, search: false});
console.log(str);
// Prints: http://example.org/
```
PR-URL: https://github.com/nodejs/node/pull/10857
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Timothy Gu <timothygu99@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
2017-02-02 12:35:55 -08:00
James M Snell
e5bd880a20
meta: add explicit deprecation and semver-major policy
...
* Formalizes deprecation policy
* Introduces End-of-life deprecation phase to identify code to be removed
* Outlines basics of internal vs. public API surface
PR-URL: https://github.com/nodejs/node/pull/7964
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Trevor Norris <trev.norris@gmail.com >
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2017-02-01 11:02:09 -08:00