Rich Trott
e692adf3cf
doc: use _Class Method_ in async_hooks.md
...
We use _Class Method_ rather than _static_ in documentation headers in
buffer.md and crypto.md. We use _static_ in one place in
async_hooks.md. Change to _Class Method_ for consistency.
PR-URL: https://github.com/nodejs/node/pull/34626
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2020-08-06 16:45:48 -07:00
Anna Henningsen
22cbbcf9d9
n-api,src: provide asynchronous cleanup hooks
...
Sometimes addons need to perform cleanup actions, for example
closing libuv handles or waiting for requests to finish, that
cannot be performed synchronously.
Add C++ API and N-API functions that allow providing such
asynchronous cleanup hooks.
Fixes: https://github.com/nodejs/node/issues/34567
PR-URL: https://github.com/nodejs/node/pull/34572
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com >
2020-08-07 00:02:02 +02:00
Gerhard Stoebich
a4e1755df2
async_hooks: don't read resource if ALS is disabled
...
Only call executionAsyncResource() in getStore() if the ALS instance is
enabled because the resource is not needed otherwise.
PR-URL: https://github.com/nodejs/node/pull/34617
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-08-06 23:31:16 +02:00
Gerhard Stoebich
48249889b6
async_hooks: avoid unneeded AsyncResource creation
...
Inspired by the callstack at https://github.com/nodejs/node/issues/34556#issuecomment-666743528
If the wanted store is equal to the active store it's not needed to
create an AsyncResource.
Refs: https://github.com/nodejs/node/issues/34556#issuecomment-666743528
PR-URL: https://github.com/nodejs/node/pull/34616
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com >
Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com >
2020-08-06 23:26:13 +02:00
Shelley Vohr
e43bb2f101
build: run CI on release branches
...
PR-URL: https://github.com/nodejs/node/pull/34649
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Mary Marchini <oss@mmarchini.me >
2020-08-06 10:43:46 -07:00
gengjiawen
df17fcdc71
build: enable build for node-v8 push
...
PR-URL: https://github.com/nodejs/node/pull/34634
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Mary Marchini <oss@mmarchini.me >
2020-08-06 01:56:58 +00:00
Gabriel Schulhof
734327280d
test: convert most N-API tests from C++ to C
...
* Prefix functions with `static` to make them local
* Remove anonymous namespaces
* `nullptr` -> `NULL`
* .cc -> .c and update binding.gyp
* `static_cast<x>()` -> `(x)()`
* Replace `new`/`delete` with `malloc()`/`free()`
(only in test_callback_scope)
* Move lambda out and convert to local function
(only in test_callback_scope)
* Remove superfluous `#include <vector>`
(only in test_callback_scope_recurse)
Some tests are best left as C++.
```bash
ls -l test/{node-api,js-native-api}/*/*.cc
```
for those remaining as C++ tests.
Signed-off-by: Gabriel Schulhof <gabriel.schulhof@intel.com >
PR-URL: https://github.com/nodejs/node/pull/34615
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2020-08-05 14:21:51 -07:00
Bradley Farias
b04f2b6618
policy: increase tests via permutation matrix
...
PR-URL: https://github.com/nodejs/node/pull/34404
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-08-05 13:48:59 -05:00
Mary Marchini
e0d181cf2b
build: increase startCI verbosity and fix job name
...
Ref: https://github.com/nodejs/node/issues/34594#issuecomment-669245839
PR-URL: https://github.com/nodejs/node/pull/34635
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
2020-08-05 10:18:36 -07:00
Myles Borins
861a54c0e1
repl: improve static import error message in repl
...
Currently the error is rather ambiguous and does not inform folks that
static import is not supported in the repl. This overrides the default
error message with one that is more informative.
Closes: https://github.com/nodejs/node/issues/33576
PR-URL: https://github.com/nodejs/node/pull/33588
Fixes: https://github.com/nodejs/node/issues/33576
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Guy Bedford <guybedford@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-08-05 09:56:15 -04:00
Ruy Adorno
96fd6810b6
doc: add release key for Ruy Adorno
...
Add Ruy Adorno and his Release key.
Refs: https://github.com/nodejs/Release/pull/597
PR-URL: https://github.com/nodejs/node/pull/34628
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
Reviewed-By: Myles Borins <myles.borins@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
2020-08-05 09:54:19 -04:00
Corey Butler
84b35b2867
doc: clarify process.title inconsistencies
...
Many users assume the act of assigning a value to `process.title` will
update the name of their application in apps like macOS Activity Monitor
or Windows Services Manager. This has worked in the past, but fails in
some versions of Node.js. Ultimately developers are left confused,
especially when it works in one version of Node.js and not another.
Given the recurring nature and complexity of the underlying problem, it
does not seem like a resolvable problem. This note clarifies the source
of the problem, sets developer expectations.
Refs: https://github.com/nodejs/node/issues/28945
PR-URL: https://github.com/nodejs/node/pull/34557
Fixes: https://github.com/nodejs/node/issues/34280
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-04 16:54:44 -07:00
Rich Trott
d5c7aec3cb
doc: use _can_ to describe actions in quic.md
...
Per Microsoft style guide:
> When ability is what you need to express, it's OK to use _can_ to
> describe actions or tasks that the reader or program is able to do.
> Use _might_ to express possibility. Don't use _may_, which might be
> interpreted as providing permission.
Refs: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/c/can-may
Refs: https://github.com/nodejs/node/pull/34353#issuecomment-659169228
PR-URL: https://github.com/nodejs/node/pull/34613
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2020-08-04 16:27:22 -07:00
Rich Trott
319c275b26
doc: use _can_ to describe actions in quic.md
...
Per Microsoft style guide:
> When ability is what you need to express, it's OK to use _can_ to
> describe actions or tasks that the reader or program is able to do.
> Use _might_ to express possibility. Don't use _may_, which might be
> interpreted as providing permission.
Refs: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/c/can-may
Refs: https://github.com/nodejs/node/pull/34353#issuecomment-659169228
PR-URL: https://github.com/nodejs/node/pull/34613
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2020-08-04 16:27:20 -07:00
Gerhard Stoebich
3ea94ec845
async_hooks: improve property descriptors in als.bind
...
The length property should be non enumerable to match behavior of
normal functions.
The asyncResource property is enumerable and therefore it should be
also writable to avoid issues like there:
https://github.com/nodejs/node/pull/30932#discussion_r379679982
Both properties should be configurable.
Refs: https://github.com/nodejs/node/pull/34574
PR-URL: https://github.com/nodejs/node/pull/34620
Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-08-04 18:05:01 +02:00
Anna Henningsen
0bb70b0a02
test: replace flaky pummel regression tests
...
These tests were written a long time ago, and use the allocation of
large amounts of unused memory as a way to detect use-after-free
problems with Buffers. As a result, the tests are resource-intensive
and may crash because of that.
Replace them with a more modern test. We don’t explicitly try to
*detect* use-after-free conditions, and instead rely on e.g. ASAN
(or the process just crashing hard) to do that for us.
Fixes: https://github.com/nodejs/node/issues/34527
PR-URL: https://github.com/nodejs/node/pull/34530
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2020-08-04 08:43:18 +00:00
James M Snell
74df7496ff
async_hooks: add AsyncResource.bind utility
...
Creates an internal AsyncResource and binds a function to it,
ensuring that the function is invoked within execution context
in which bind was called.
PR-URL: https://github.com/nodejs/node/pull/34574
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2020-08-03 18:40:16 -07:00
James M Snell
744a284ccc
stream: support async for stream impl functions
...
PR-URL: https://github.com/nodejs/node/pull/34416
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
2020-08-03 17:54:08 -07:00
Bradley Farias
ca26eae966
repl: give repl entries unique names
...
This is a workaround for the REPL for a problem when multiple of the
entries have the same source text
Fixes: https://github.com/nodejs/node/issues/1337
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=10284
PR-URL: https://github.com/nodejs/node/pull/34372
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
2020-08-03 17:38:55 -05:00
Myles Borins
54746bb763
module: unflag Top-Level Await
...
This unflags Top-Level await so it can be used by default in the module
goal. This is accomplished by manually setting the
--harmony-top-level-await flag. We are allowing this as a one of
approval based on circumstances. It is not a precedent that future
harmony features will be manually enabled.
Refs: https://github.com/nodejs/node/issues/34551
PR-URL: https://github.com/nodejs/node/pull/34558
Reviewed-By: Mary Marchini <oss@mmarchini.me >
Reviewed-By: Zeyu Yang <himself65@outlook.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
2020-08-03 14:27:28 -04:00
Robert Nagy
8d8090b9bb
test: fix flaky http-parser-timeout-reset
...
Refs: https://github.com/nodejs/node/pull/34578#issuecomment-667941698
PR-URL: https://github.com/nodejs/node/pull/34609
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Myles Borins <myles.borins@gmail.com >
2020-08-03 13:47:33 -04:00
cjihrig
a6a3684984
tools: update ESLint to 7.6.0
...
Update ESLint to 7.6.0
PR-URL: https://github.com/nodejs/node/pull/34589
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-08-03 08:48:57 -04:00
cjihrig
ee0b44fd93
tools: add meta.fixable to fixable lint rules
...
This commit adds the meta.fixable property to all fixable ESLint
rules. This is required as of ESLint 7.6.0.
PR-URL: https://github.com/nodejs/node/pull/34589
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-08-03 08:48:32 -04:00
James M Snell
6e65f26b73
quic: use QuicCallbackScope consistently for QuicSession
...
PR-URL: https://github.com/nodejs/node/pull/34541
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2020-08-03 12:03:06 +00:00
James M Snell
d96083bad5
quic: introduce QuicCallbackScope
...
Alternative to `CallbackScope` that handles destroying the
`QuicSession` in the try_catch cleanup.
PR-URL: https://github.com/nodejs/node/pull/34541
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2020-08-03 12:03:03 +00:00
James M Snell
4b0275ab87
quic: refactor clientHello
...
Refactor the `'clientHello'` event into a `clientHelloHandler`
configuration option and async function. Remove the addContext
API as it's not needed.
PR-URL: https://github.com/nodejs/node/pull/34541
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2020-08-03 12:03:00 +00:00
Tim Perry
e5dacc2f85
doc: document the connection event for HTTP2 & TLS servers
...
PR-URL: https://github.com/nodejs/node/pull/34531
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-08-03 11:59:58 +02:00
Andrey Pechkurov
b7a23295e8
async_hooks: fix id assignment in fast-path promise hook
...
Native side of fast-path promise hook was not calling JS
fastPromiseHook function when there were no async ids
previously assigned to the promise. Because of that already
created promises could not get id assigned in situations
when an async hook without a before listener function is
enabled after their creation. As the result executionAsyncId
could return wrong id when called within promise's .then().
Refs: https://github.com/nodejs/node/pull/34512
PR-URL: https://github.com/nodejs/node/pull/34548
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2020-08-03 10:36:25 +03:00
Anna Henningsen
2ba93e1db4
async_hooks: fix resource stack for deep stacks
...
460c81dc0e introduced a bug where the execution resource was not
stored properly if we needed to call into C++ to extend the stack size.
Fix that bug by always storing the resource.
Refs: https://github.com/nodejs/node/pull/34319
Fixes: https://github.com/nodejs/node/issues/34556
PR-URL: https://github.com/nodejs/node/pull/34573
Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Gus Caplan <me@gus.host >
2020-08-03 10:27:15 +03:00
Rich Trott
a9c5b873ca
test: move buffer-as-path symlink test to its own test file
...
The buffer-as-path test for fs.symlinkSync() is a bit unusual and
potentially error-prone embedded in the general fs.symlink() test. Move
it to its own test file.
Refs: https://github.com/nodejs/node/pull/34540/files#r463168354
PR-URL: https://github.com/nodejs/node/pull/34569
Reviewed-By: Pranshu Srivastava <rexagod@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2020-08-02 17:38:05 -07:00
Gerhard Stoebich
cb142d1341
async_hooks: execute destroy hooks earlier
...
Use a microtask to call destroy hooks in case there are a lot queued
as immediate may be scheduled late in case of long running
promise chains.
Queuing a mircrotasks in GC context is not allowed therefore an
interrupt is triggered to do this in JS context as fast as possible.
fixes: https://github.com/nodejs/node/issues/34328
refs: https://github.com/nodejs/node/issues/33896
PR-URL: https://github.com/nodejs/node/pull/34342
Fixes: https://github.com/nodejs/node/issues/34328
Refs: https://github.com/nodejs/node/issues/33896
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-08-02 23:13:42 +02:00
Renée Kooi
64481c2b13
doc: mention null special-case for napi_typeof
...
The documentation said `napi_typeof` is similar to the `typeof`
operator, but the `typeof null` detects `'object'` while
`napi_typeof(a_null_value)` detects `napi_null`.
PR-URL: https://github.com/nodejs/node/pull/34577
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
2020-08-02 11:57:47 -07:00
Derek Lewis
0be93eeb33
doc: add DerekNonGeneric to collaborators
...
Fixes: https://github.com/nodejs/node/issues/34369
PR-URL: https://github.com/nodejs/node/pull/34602
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
2020-08-02 12:56:04 -04:00
Robert Nagy
da4d8de9d0
http: reset headers timeout on headers complete
...
headers timeout should not occur *after* headers have been
received.
Fixes: https://github.com/nodejs/node/issues/34576
PR-URL: https://github.com/nodejs/node/pull/34578
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Pranshu Srivastava <rexagod@gmail.com >
2020-08-02 09:35:18 +02:00
Rich Trott
73d713b16e
test: change Fixes: to Refs:
...
Tests don't fix things generally, so use "Refs:" to refer people to
GitHub issues.
PR-URL: https://github.com/nodejs/node/pull/34568
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-08-01 17:08:01 -07:00
Rich Trott
aeaf16194b
doc: revise N-API versions matrix text
...
Revise text for clarity, brevity, and conformance with our style guide.
PR-URL: https://github.com/nodejs/node/pull/34566
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-08-01 17:04:41 -07:00
Derek Lewis
45fa216ee5
esm: fix hook mistypes and links to types
...
Prior to this commit, the custom loader hooks were:
* missing the Node.js API ref docs types
* missing the function signature from their sections
* linking directly to the specification (not customary)
* had an inconsistent non-nullable JSDoc promise return
* had JSDoc object properties that weren't alpha-sorted
* designated set of non-nullable types when single was fine
Notes:
https://www.typescriptlang.org/play/index.html?strictNullChecks=true&useJavaScript=true#code/PQKhCgAIUgBAHAhgJ0QW0gbwM4BdkCWAdgOYC+k28ApgMYEBmB1yUMCK6WmbkftAeyIATArgJDsALkgBCAILJUATwA8eQqQB8AGl58kyakVwBVAEoAZGbIAUG4iUgAfSAFcR1JkWrCAlHrQkGQUgibUAB64vByoGJgAYh604kIUwl6IbgA2uObU2ALZAG7UMUa4bshE2FgACsgCaATY1KqY7sjZMg6kwVpkbMDgkfACyLiQiNjKRLSQDMmpRJBGhSXU9jT0TCw6kGG4kbj7GQxZufnrpX5YUAeSkx2GxmZWkAC8kEQ52cGfD3CUQA3PdGJBbABZRC4AAWADpUCImrZblpIAAGeEAVluHWAwEgAGUmtRAaJlvD7nwCZAEuNKKTIAzENk-lQ6IxmMhsKcBIy0GTaG48E1INkBCQCPMGAy1kVio4qXwaYT5NkAO6IZS1CpVFaIFYCABGACs6JMBAxIHCybLkPEqt1IOp8I4BsqVXrqncVSqnTIXiYLJZIAB+al+77UDWQENbTm7ZD7INvSx+eGwozWqSRv0+WPxjk7bkZrNeQIqsigviDPjgqEwhFI4Qo26qTE4vGQWnyIgCW3IcliCRET2qyAAdVhxgOrOyjkgAAMzhc8gUFdQl-tbVNkCQ3IKTLVaIbIMayWgBKJdsJ4ZAAJIrOEtSO00+tSBiADktUQwlEPpDQHGch2KVk3DtBk0BhWhYUXMIKVHVlIFGcZcGwcdVmoSofVXHJ12uTZiy5PZfSjeFKMOY5Kz9RCR0kGQAG1KPhaiojYoQkMkfZv2AwcAFp6OWb8AF1aOCPwa2Ce5aQAES8FgbX5AA5a9qHhU1antKY2WZQdKG2UieU9b0Vnwy4Nw2BMSzI9iTkgCzCM3KTwDIIA
https://closure-compiler.appspot.com/home#code%3D%252F%252F%2520%253D%253DClosureCompiler%253D%253D%250A%252F%252F%2520%2540compilation_level%2520ADVANCED_OPTIMIZATIONS%250A%252F%252F%2520%2540warning_level%2520VERBOSE%250A%252F%252F%2520%2540jscomp_error%2520strictCheckTypes%250A%252F%252F%2520%2540language_out%2520ECMASCRIPT_NEXT%250A%252F%252F%2520%2540checks_only%250A%252F%252F%2520%253D%253D%252FClosureCompiler%253D%253D%250A%250A%252F**%250A%2520*%2520%2540param%2520%257Bstring%257D%2520specifier%250A%2520*%2520%2540param%2520%257B%257B%250A%2520*%2520%2520%2520conditions%253A%2520!Array%253Cstring%253E%252C%250A%2520*%2520%2520%2520parentURL%253A%2520!(string%2520%257C%2520undefined)%252C%250A%2520*%2520%257D%257D%2520context%250A%2520*%2520%2540param%2520%257BFunction%257D%2520defaultResolve%250A%2520*%2520%2540returns%2520%257BPromise%253C%257B%2520url%253A%2520string%2520%257D%253E%257D%250A%2520*%252F%250Aexport%2520async%2520function%2520resolve(specifier%252C%2520context%252C%2520defaultResolve)%2520%257B%250A%2520%2520const%2520%257B%2520parentURL%2520%253D%2520null%2520%257D%2520%253D%2520context%253B%250A%2520%2520if%2520(Math.random()%2520%253E%25200.5)%2520%257B%2520%252F%252F%2520Some%2520condition.%250A%2520%2520%2520%2520%252F%252F%2520For%2520some%2520or%2520all%2520specifiers%252C%2520do%2520some%2520custom%2520logic%2520for%2520resolving.%250A%2520%2520%2520%2520%252F%252F%2520Always%2520return%2520an%2520object%2520of%2520the%2520form%2520%257Burl%253A%2520%253Cstring%253E%257D.%250A%2520%2520%2520%2520return%2520%257B%250A%2520%2520%2520%2520%2520%2520url%253A%2520parentURL%2520%253F%250A%2520%2520%2520%2520%2520%2520%2520%2520new%2520URL(specifier%252C%2520parentURL).href%2520%253A%250A%2520%2520%2520%2520%2520%2520%2520%2520new%2520URL(specifier).href%252C%250A%2520%2520%2520%2520%257D%253B%250A%2520%2520%257D%250A%2520%2520if%2520(Math.random()%2520%253C%25200.5)%2520%257B%2520%252F%252F%2520Another%2520condition.%250A%2520%2520%2520%2520%252F%252F%2520When%2520calling%2520%2560defaultResolve%2560%252C%2520the%2520arguments%2520can%2520be%2520modified.%2520In%2520this%250A%2520%2520%2520%2520%252F%252F%2520case%2520it's%2520adding%2520another%2520value%2520for%2520matching%2520conditional%2520exports.%250A%2520%2520%2520%2520return%2520defaultResolve(specifier%252C%2520%257B%250A%2520%2520%2520%2520%2520%2520...context%252C%250A%2520%2520%2520%2520%2520%2520conditions%253A%2520%255B...context.conditions%252C%2520'another-condition'%255D%252C%250A%2520%2520%2520%2520%257D)%253B%250A%2520%2520%257D%250A%2520%2520%252F%252F%2520Defer%2520to%2520Node.js%2520for%2520all%2520other%2520specifiers.%250A%2520%2520return%2520defaultResolve(specifier%252C%2520context%252C%2520defaultResolve)%253B%250A%257D
PR-URL: https://github.com/nodejs/node/pull/34240
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Guy Bedford <guybedford@gmail.com >
2020-08-01 15:51:25 -07:00
Mary Marchini
9b6c16c5ac
build: don't run auto-start-ci on push
...
PR-URL: https://github.com/nodejs/node/pull/34588
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
2020-08-01 10:19:19 -07:00
Mary Marchini
4268c6112f
build: fix auto-start-ci script path
...
PR-URL: https://github.com/nodejs/node/pull/34588
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
2020-08-01 10:19:16 -07:00
Robert Nagy
849d9e7b90
http: provide keep-alive timeout response header
...
In http 1.1 persistent connection protocol there is a
timing race where the client sends the request and then
the server kills the connection (due to inactivity)
before receiving the client's request.
By providing a keep-alive header it is possible to provide
the client a hint of when idle timeout would occur and
avoid the race.
Fixes: https://github.com/nodejs/node/issues/34560
PR-URL: https://github.com/nodejs/node/pull/34561
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Zeyu Yang <himself65@outlook.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Pranshu Srivastava <rexagod@gmail.com >
2020-08-01 15:04:35 +02:00
Rich Trott
770a02d3c8
doc: use consistent spelling for "falsy"
...
We use "falsy" in multiple places in our docs, but only use "false-y" in
one place in url.md. Replace it with "falsy".
PR-URL: https://github.com/nodejs/node/pull/34545
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Pranshu Srivastava <rexagod@gmail.com >
Reviewed-By: Ron Korving <ron@ronkorving.nl >
Reviewed-By: Yuta Hiroto <hello@hiroppy.me >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2020-07-31 23:39:01 -07:00
Rich Trott
3b9a252dcc
doc: simplify and clarify console.assert() documentation
...
PR-URL: https://github.com/nodejs/node/pull/34544
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-07-31 23:37:13 -07:00
Rich Trott
3e9caaf505
doc: use consistent capitalization for addons
...
Sometimes _addon_ is capitalized and sometimes not. Capitalizing it
seems peculiar and hard to justify. Standardize on treating it like
other common nouns.
PR-URL: https://github.com/nodejs/node/pull/34536
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2020-07-31 23:35:56 -07:00
Gabriel Schulhof and Anna Henningsen
cc7ec889e8
n-api: support type-tagging objects
...
`napi_instanceof()` is insufficient for reliably establishing the data
type to which a pointer stored with `napi_wrap()` or
`napi_create_external()` inside a JavaScript object points. Thus, we
need a way to "mark" an object with a value that, when later retrieved,
can unambiguously tell us whether it is safe to cast the pointer stored
inside it to a certain structure.
Such a check must survive loading/unloading/multiple instances of an
addon, so we use UUIDs chosen *a priori*.
Fixes: https://github.com/nodejs/node/issues/28164
Co-authored-by: Anna Henningsen <github@addaleax.net >
PR-URL: https://github.com/nodejs/node/pull/28237
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Signed-off-by: Gabriel Schulhof <gabriel.schulhof@intel.com >
2020-07-31 18:30:30 -07:00
Mary Marchini
8b3ad75b03
doc: add mmarchini pronouns
...
PR-URL: https://github.com/nodejs/node/pull/34586
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-07-31 16:19:34 -07:00
Mary Marchini
f5df3c2582
doc: update mmarchini contact info
...
PR-URL: https://github.com/nodejs/node/pull/34586
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-07-31 16:19:27 -07:00
Mary Marchini
c8c2f4d0ae
doc: update .mailmap for mmarchini
...
PR-URL: https://github.com/nodejs/node/pull/34586
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-07-31 16:19:16 -07:00
Mary Marchini
6cab3b0e26
build: auto start Jenkins CI via PR labels
...
Add an Action that will find every PR with the `request-ci` label and
will start a Jenkins CI for each of these Pull Requests. The scheduler
event is used to circumvent GitHub Actions limitations on Pull Requests
from forks (where secrets are not accessible and the GITHUB_TOKEN is
read-only).
If the Action fails to start a CI, it will add a `request-ci-failed`
label and will leave a comment with the error message from NCU.
Fixes: https://github.com/nodejs/github-bot/issues/234
PR-URL: https://github.com/nodejs/node/pull/34089
Reviewed-By: Christian Clauss <cclauss@me.com >
2020-07-31 16:09:41 -07:00
Gabriel Schulhof
0cc2a54a53
n-api: simplify bigint-from-word creation
...
Macro `CHECK_MAYBE_EMPTY_WITH_PREAMBLE()` does the work of checking
the `TryCatch` and returning `napi_pending_exception` so this change
reuses it for `napi_create_bigint_words()`.
Signed-off-by: Gabriel Schulhof <gabriel.schulhof@intel.com >
PR-URL: https://github.com/nodejs/node/pull/34554
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2020-07-31 13:45:25 -07:00
James M Snell
a97b5f9c6a
quic: use OpenSSL built-in cert and hostname validation
...
PR-URL: https://github.com/nodejs/node/pull/34533
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-31 11:06:16 -07:00