GeezerVison is showing github.com — v18.11.0 proposal by danielleadams · Pull Request #44968 · nodejs/node
Conversation
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
bricss reacted with thumbs up emoji
bricss reacted with hooray emoji
bricss, daliborgogic, and j0hn-42 reacted with heart emoji
bricss, ywave620, and j0hn-42 reacted with rocket emoji
All reactions
-
👍
1 reaction
-
🎉
1 reaction
-
❤️
3 reactions
-
🚀
3 reactions
So far, process initialization has been a bit all over the place
in Node.js. `InitializeNodeWithArgs()` is our main public API
for this, but inclusion of items in it vs. `InitializeOncePerProcess()`
and `PlatformInit()` has been random at best. Likewise,
some pieces of initialization have been guarded by
`NODE_SHARED_MODE`, but also fairly randomly and without
any meaningful connection to shared library usage.
This leaves embedders in a position to cherry-pick some of
the initialization code into their own code to make their
application behave like typical Node.js applications to the
degree to which they desire it.
Electron takes an alternative route and makes direct use of
`InitializeOncePerProcess()` already while it is a private
API, with a `TODO` to add it to the public API in Node.js.
This commit addresses that `TODO`, and `TODO`s around the
`NODE_SHARED_MODE` usage. Specifically:
- `InitializeOncePerProcess()` and `TearDownOncePerProcess()`
are added to the public API.
- The `flags` option of these functions are merged with the
`flags` option for `InitializeNodeWithArgs()`, since they
essentially share the same semantics.
- The return value of the function is made an abstract class,
rather than a struct, for easier API/ABI stability.
- Initialization code from `main()` is brought into these
functions (since that makes sense in general).
- Add a `TODO` for turning `InitializeNodeWithArgs()` into
a small wrapper around `InitializeOncePerProcess()` and
eventually removing it (at least one major release cycle
each, presumably).
- Remove `NODE_SHARED_MODE` guards and replace them with
runtime options.
PR-URL: #44121
Backport-PR-URL: #44358
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
For the initial iteration, only the default resolver can be
serialized/deserialized. If `dns.setServers()` has been
called, we'll preserve the configured DNS servers in the snapshot.
We can consider exposing the serialization method if it becomes
necessary for user-land snapshots.
PR-URL: #44633
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
The comments in bootstrap/node.js are now out of date due to
recent changes to the bootstrap process. Update them to reflect
the current status.
PR-URL: #44726
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
execSync() passes opts.args to checkExecSyncError(). There are
two problems:
1. opts.args appears to always be undefined.
2. Even if it was defined, checkExecSyncError() would not use
it since the command input is guaranteed to be defined.
This commit updates the code to pass undefined instead.
PR-URL: #44766
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
This comment was marked as outdated.
This comment was marked as outdated.
danielleadams
added a commit
that referenced
this pull request
Oct 13, 2022
watch mode (experimental):
Running in 'watch' mode using `node --watch` restarts the process when an
imported file is changed.
Contributed by Moshe Atlow in #44366
Other notable changes:
* fs:
* (SEMVER-MINOR) add `FileHandle.prototype.readLines` (Antoine du Hamel)
#42590
* http:
* (SEMVER-MINOR) add writeEarlyHints function to ServerResponse (Wing)
#44180
* http2:
* (SEMVER-MINOR) make early hints generic (Yagiz Nizipli) #44820
* lib:
* (SEMVER-MINOR) refactor transferable AbortSignal (flakey5) #44048
* src:
* (SEMVER-MINOR) add detailed embedder process initialization API (Anna
Henningsen) #44121
* util:
* (SEMVER-MINOR) add default value option to parsearg (Manuel Spigolon)
#44631
PR-URL: #44968
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
Some REPLACEME tags have been missed:
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
watch mode (experimental):
Running in 'watch' mode using `node --watch` restarts the process when an
imported file is changed.
Contributed by Moshe Atlow in #44366
Other notable changes:
* fs:
* (SEMVER-MINOR) add `FileHandle.prototype.readLines` (Antoine du Hamel)
#42590
* http:
* (SEMVER-MINOR) add writeEarlyHints function to ServerResponse (Wing)
#44180
* http2:
* (SEMVER-MINOR) make early hints generic (Yagiz Nizipli) #44820
* lib:
* (SEMVER-MINOR) refactor transferable AbortSignal (flakey5) #44048
* src:
* (SEMVER-MINOR) add detailed embedder process initialization API (Anna
Henningsen) #44121
* util:
* (SEMVER-MINOR) add default value option to parsearg (Manuel Spigolon)
#44631
PR-URL: #44968
Some REPLACEME tags have been missed:
@richardlau Thanks for catching that!
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
danielleadams
added a commit
that referenced
this pull request
Oct 13, 2022
watch mode (experimental):
Running in 'watch' mode using `node --watch` restarts the process when an
imported file is changed.
Contributed by Moshe Atlow in #44366
Other notable changes:
* fs:
* (SEMVER-MINOR) add `FileHandle.prototype.readLines` (Antoine du Hamel)
#42590
* http:
* (SEMVER-MINOR) add writeEarlyHints function to ServerResponse (Wing)
#44180
* http2:
* (SEMVER-MINOR) make early hints generic (Yagiz Nizipli) #44820
* lib:
* (SEMVER-MINOR) refactor transferable AbortSignal (flakey5) #44048
* src:
* (SEMVER-MINOR) add detailed embedder process initialization API (Anna
Henningsen) #44121
* util:
* (SEMVER-MINOR) add default value option to parsearg (Manuel Spigolon)
#44631
PR-URL: #44968
This was referenced Oct 18, 2022
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Labels
needs-ci
PRs that need a full CI run.
release
Issues and PRs related to Node.js releases.
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|