Skip to content

esm: implement import.meta.main #57804

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 45 commits into from
May 26, 2025

Conversation

Lordfirespeed
Copy link
Contributor

@Lordfirespeed Lordfirespeed commented Apr 9, 2025

Implements #57226

This PR supersedes #32223

Fixes: #57226

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/loaders

@nodejs-github-bot nodejs-github-bot added esm Issues and PRs related to the ECMAScript Modules implementation. needs-ci PRs that need a full CI run. labels Apr 9, 2025
@Lordfirespeed
Copy link
Contributor Author

Lordfirespeed commented Apr 9, 2025

@ljharb I would appreciate your review on this r.e. performance - I am particularly concerned about my changes in lib/internal/modules/esm/translators.js, since I'm not familiar with implications of assignment to a JS object associated with a native object.

Copy link

codecov bot commented Apr 9, 2025

Codecov Report

Attention: Patch coverage is 94.59459% with 2 lines in your changes missing coverage. Please review.

Project coverage is 90.22%. Comparing base (b197355) to head (41d80f0).
Report is 222 commits behind head on main.

Files with missing lines Patch % Lines
lib/internal/main/worker_thread.js 92.85% 1 Missing ⚠️
lib/internal/modules/esm/loader.js 80.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #57804      +/-   ##
==========================================
- Coverage   90.23%   90.22%   -0.02%     
==========================================
  Files         633      633              
  Lines      186818   186844      +26     
  Branches    36668    36682      +14     
==========================================
- Hits       168578   168575       -3     
- Misses      11036    11045       +9     
- Partials     7204     7224      +20     
Files with missing lines Coverage Δ
lib/internal/modules/esm/initialize_import_meta.js 100.00% <100.00%> (ø)
lib/internal/modules/esm/translators.js 91.59% <100.00%> (+0.01%) ⬆️
lib/internal/modules/esm/utils.js 98.94% <100.00%> (+0.02%) ⬆️
lib/internal/worker.js 99.82% <100.00%> (-0.01%) ⬇️
lib/internal/main/worker_thread.js 94.40% <92.85%> (-0.08%) ⬇️
lib/internal/modules/esm/loader.js 95.98% <80.00%> (-0.09%) ⬇️

... and 36 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Lordfirespeed
Copy link
Contributor Author

@ljharb I've moved the assignment into compileSourceTextModule, but I'm a bit confused

I think I can see where the cache is populated, but not where it is hit in compileSourceTextModule (unless it's in CPP?)
That leads me to think the cache gets hit at some point before the standard moduleStrategy function is used, which would mean moving the assignment either has no effect or is detrimental.

What am I missing?

@joyeecheung joyeecheung mentioned this pull request Apr 15, 2025
@Lordfirespeed
Copy link
Contributor Author

I think CI should pass now. make -j$(nproc) test is passing locally.

@Lordfirespeed
Copy link
Contributor Author

I checked locally, it seems the test no longer fails with unusual character names using a relative import path.

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcollina mcollina added notable-change PRs with changes that should be highlighted in changelogs. semver-minor PRs that contain new features and should be released in the next minor version. labels Apr 18, 2025
Copy link
Contributor

The notable-change PRs with changes that should be highlighted in changelogs. label has been added by @mcollina.

Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment. Otherwise, the commit will be placed in the Other Notable Changes section.

@mcollina mcollina added the request-ci Add this label to start a Jenkins CI on a PR. label Apr 18, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Apr 18, 2025
@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member

targos commented Apr 18, 2025

There's a test for import.meta.main === false, but not for true, I think?

@LiviaMedeiros
Copy link
Member

There's a test for import.meta.main === false, but not for true, I think?

There is:

assert.strictEqual(import.meta.main, true);

But it would still be nice to cover more cases, e.g.:

  • worker threads
  • child process (exec, fork)
  • --eval

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

Landed in bbc0593

@rauschma
Copy link

Question: Given that this is a boolean and not a string like require.main – should the name be import.meta.isMain?

@Lordfirespeed
Copy link
Contributor Author

Lordfirespeed commented May 27, 2025

@rauschma please read #49440 and #57226.

In particular, see WinterCG's import.meta registry.

WinterCG compliant runtimes should never use an import.meta property that conflicts in definition with any of the properties included in this registry.

Likewise, implementations should try their best to avoid adding new import.meta properties in their implementations, or to this registry, that conflict or overlap with other properties in this registry. Given that such conflict/overlap may not be always avoidable, registrations here should take care to describe when/where/how such properties differ from others they conflict/overlap with.

@js-choi
Copy link

js-choi commented May 27, 2025

@rauschma: The conversation most relevant to main vs. isMain starts at #57226 (comment).

Basically, yes, it probably should have been named import.meta.isMain, but the one who implemented it first got to name it, and others need to follow suit to avoid excessive proliferation of import.meta properties. It’s an issue of compatibility with the first mover.

This naming mistake happened before WinterTC was established. Hopefully WinterTC’s import.meta registry coordination will make it more likely that such mistakes will be caught before shipping.

@rauschma
Copy link

Right, prior art trumps all other considerations in this case. Thanks for the information @Lordfirespeed and @js-choi!

@ljharb
Copy link
Member

ljharb commented May 27, 2025

"main" isn't a good name for the concept either :-) but we're stuck with it.

targos pushed a commit that referenced this pull request May 31, 2025
targos pushed a commit that referenced this pull request May 31, 2025
Boolean value to check if an ES Module is the entrypoint of the
current process.

Implements: #57226

Co-authored-by: Antoine du Hamel <[email protected]>
PR-URL: #57804
Fixes: #57226
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Guy Bedford <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
nodejs-github-bot added a commit that referenced this pull request Jun 8, 2025
Notable changes:

doc:
  * deprecate utilisNativeError in favor of ErrorisError (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate Symbol.dispose/asyncDispose from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add autoClose option to FileHandle readableWebStream (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 8, 2025
Notable changes:

doc:
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) #58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 8, 2025
Notable changes:

doc:
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) #58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 9, 2025
Notable changes:

doc:
  * add Filip Skokan to TSC (Rafael Gonzaga) #58499
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) #58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
permission:
  * implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 9, 2025
Notable changes:

doc:
  * add Filip Skokan to TSC (Rafael Gonzaga) #58499
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) #58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
permission:
  * implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 9, 2025
Notable changes:

doc:
  * add Filip Skokan to TSC (Rafael Gonzaga) #58499
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) #58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
permission:
  * implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 9, 2025
Notable changes:

doc:
  * add Filip Skokan to TSC (Rafael Gonzaga) #58499
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) #58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
permission:
  * implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 9, 2025
Notable changes:

doc:
  * add Filip Skokan to TSC (Rafael Gonzaga) #58499
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) #58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
permission:
  * implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 9, 2025
Notable changes:

doc:
  * add Filip Skokan to TSC (Rafael Gonzaga) #58499
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) #58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) #58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) #58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) #58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) #57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) #58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) #58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) #58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) #58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) #58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) #58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) #58073
permission:
  * implicit allow-fs-read to app entrypoint (Rafael Gonzaga) #58579
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) #58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) #58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) #58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) #58385

PR-URL: #58635
aduh95 pushed a commit that referenced this pull request Jun 10, 2025
kdy1 pushed a commit to swc-project/swc that referenced this pull request Jun 10, 2025
@aduh95 aduh95 added the backport-requested-v22.x PRs awaiting manual backport to the v22.x-staging branch. label Jun 10, 2025
@aduh95
Copy link
Contributor

aduh95 commented Jun 10, 2025

test/parallel/test-worker-data-url.js is failing on v22.x with this change. Manual backport PR would be required if we want it on v22.x release line.

@Lordfirespeed
Copy link
Contributor Author

@aduh95 I'm happy to do the work for the v22 backport. Is there a section of the contributing docs I should look at for guidance?

@aduh95
Copy link
Contributor

aduh95 commented Jun 10, 2025

There's

## Submitting a backport pull request

seriousme pushed a commit to seriousme/node that referenced this pull request Jun 10, 2025
Notable changes:

doc:
  * add Filip Skokan to TSC (Rafael Gonzaga) nodejs#58499
  * deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) nodejs#58262
  * deprecate passing an empty string to `options.shell` (Antoine du Hamel) nodejs#58564
  * deprecate HTTP/2 priority signaling (Matteo Collina) nodejs#58313
  * (SEMVER-MINOR) graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) nodejs#58467
esm:
  * (SEMVER-MINOR) implement import.meta.main (Joe) nodejs#57804
fs:
  * (SEMVER-MINOR) add `autoClose` option to `FileHandle` `readableWebStream` (James M Snell) nodejs#58548
http:
  * deprecate instantiating classes without new (Yagiz Nizipli) nodejs#58518
http2:
  * (SEMVER-MINOR) add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) nodejs#58560
  * (SEMVER-MAJOR) remove support for priority signaling (Matteo Collina) nodejs#58293
lib:
  * (SEMVER-MINOR) graduate error codes that have been around for years (James M Snell) nodejs#58541
perf_hooks:
  * (SEMVER-MINOR) make event loop delay histogram disposable (James M Snell) nodejs#58384
src:
  * (SEMVER-MINOR) support namespace options in configuration file (Pietro Marchini) nodejs#58073
permission:
  * implicit allow-fs-read to app entrypoint (Rafael Gonzaga) nodejs#58579
test:
  * (SEMVER-MINOR) add disposable histogram test (James M Snell) nodejs#58384
  * (SEMVER-MINOR) add test for async disposable worker thread (James M Snell) nodejs#58385
util:
  * (SEMVER-MINOR) add 'none' style to styleText (James M Snell) nodejs#58437
worker:
  * (SEMVER-MINOR) make Worker async disposable (James M Snell) nodejs#58385

PR-URL: nodejs#58635
Lordfirespeed added a commit to Lordfirespeed/node that referenced this pull request Jun 13, 2025
Boolean value to check if an ES Module is the entrypoint of the
current process.

Implements: nodejs#57226

Co-authored-by: Antoine du Hamel <[email protected]>
PR-URL: nodejs#57804
Fixes: nodejs#57226
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Guy Bedford <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
(cherry picked from commit bbc0593)
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Jun 16, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `24.0.2` -> `24.2.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v24.2.0`](https://github.com/nodejs/node/releases/tag/v24.2.0): 2025-06-09, Version 24.2.0 (Current), @&#8203;aduh95

[Compare Source](nodejs/node@v24.0.2...v24.2.0)

##### Notable Changes

##### Remove support for HTTP/2 priority signaling

The support for priority signaling has been removed in nghttp2, following its
deprecation in the [RFC 9113](https://datatracker.ietf.org/doc/html/rfc9113#section-5.3.1).
As a consequence of this, priority signaling is deprecated on all release lines of Node.js,
and removed from Node.js 24 so we can include latest updates from nghttp2.

Contributed by Matteo Collina and Antoine du Hamel in
[#&#8203;58293](nodejs/node#58293).

##### `import.meta.main` is now available

Boolean value available in ECMAScript modules, which can be used to detect
whether the current module was the entry point of the current process.

```mjs
export function foo() {
  return 'Hello, world';
}

function main() {
  const message = foo();
  console.log(message);
}

if (import.meta.main) main();
// `foo` can be imported from another module without possible side-effects from `main`
```

Contributed by Joe and Antoine du Hamel in
[#&#8203;57804](nodejs/node#57804).

##### Other Notable Changes

-   \[[`e13930bbe0`](nodejs/node@e13930bbe0)] - **doc**: add Filip Skokan to TSC (Rafael Gonzaga) [#&#8203;58499](nodejs/node#58499)
-   \[[`984894b38c`](nodejs/node@984894b38c)] - **doc**: deprecate `util.isNativeError` in favor of `Error.isError` (Miguel Marcondes Filho) [#&#8203;58262](nodejs/node#58262)
-   \[[`d261274b0f`](nodejs/node@d261274b0f)] - **doc**: deprecate passing an empty string to `options.shell` (Antoine du Hamel) [#&#8203;58564](nodejs/node#58564)
-   \[[`510872a522`](nodejs/node@510872a522)] - **(SEMVER-MINOR)** **doc**: graduate `Symbol.dispose`/`asyncDispose` from experimental (James M Snell) [#&#8203;58467](nodejs/node#58467)
-   \[[`6f4c9dd423`](nodejs/node@6f4c9dd423)] - **(SEMVER-MINOR)** **fs**: add `autoClose` option to `FileHandle` readableWebStream (James M Snell) [#&#8203;58548](nodejs/node#58548)
-   \[[`32efb63242`](nodejs/node@32efb63242)] - **http**: deprecate instantiating classes without new (Yagiz Nizipli) [#&#8203;58518](nodejs/node#58518)
-   \[[`0234a8ef53`](nodejs/node@0234a8ef53)] - **(SEMVER-MINOR)** **http2**: add diagnostics channel `http2.server.stream.finish` (Darshan Sen) [#&#8203;58560](nodejs/node#58560)
-   \[[`0f1e94f731`](nodejs/node@0f1e94f731)] - **(SEMVER-MINOR)** **lib**: graduate error codes that have been around for years (James M Snell) [#&#8203;58541](nodejs/node#58541)
-   \[[`13abca3c26`](nodejs/node@13abca3c26)] - **(SEMVER-MINOR)** **perf_hooks**: make event loop delay histogram disposable (James M Snell) [#&#8203;58384](nodejs/node#58384)
-   \[[`8ea1fc5f3b`](nodejs/node@8ea1fc5f3b)] - **(SEMVER-MINOR)** **src**: support namespace options in configuration file (Pietro Marchini) [#&#8203;58073](nodejs/node#58073)
-   \[[`d6ea36ad6c`](nodejs/node@d6ea36ad6c)] - **src,permission**: implicit allow-fs-read to app entrypoint (Rafael Gonzaga) [#&#8203;58579](nodejs/node#58579)
-   \[[`5936cef60a`](nodejs/node@5936cef60a)] - **(SEMVER-MINOR)** **test**: add disposable histogram test (James M Snell) [#&#8203;58384](nodejs/node#58384)
-   \[[`7a91f4aaa1`](nodejs/node@7a91f4aaa1)] - **(SEMVER-MINOR)** **test**: add test for async disposable worker thread (James M Snell) [#&#8203;58385](nodejs/node#58385)
-   \[[`532c173cf2`](nodejs/node@532c173cf2)] - **(SEMVER-MINOR)** **util**: add `none` style to styleText (James M Snell) [#&#8203;58437](nodejs/node#58437)
-   \[[`aeb9ab4c4c`](nodejs/node@aeb9ab4c4c)] - **(SEMVER-MINOR)** **worker**: make Worker async disposable (James M Snell) [#&#8203;58385](nodejs/node#58385)

##### Commits

-   \[[`6c92329b1b`](nodejs/node@6c92329b1b)] - ***Revert*** "**benchmark**: fix broken fs.cpSync benchmark" (Yuesong Jake Li) [#&#8203;58476](nodejs/node#58476)
-   \[[`8bc045264e`](nodejs/node@8bc045264e)] - **benchmark**: fix broken fs.cpSync benchmark (Dario Piotrowicz) [#&#8203;58472](nodejs/node#58472)
-   \[[`46aa079cce`](nodejs/node@46aa079cce)] - **benchmark**: add callback-based `fs.glob` to glob benchmark (Livia Medeiros) [#&#8203;58417](nodejs/node#58417)
-   \[[`a57b05e105`](nodejs/node@a57b05e105)] - **benchmark**: add more options to cp-sync (Sonny) [#&#8203;58278](nodejs/node#58278)
-   \[[`8b5ada4b31`](nodejs/node@8b5ada4b31)] - **buffer**: use Utf8LengthV2() instead of Utf8Length() (Tobias Nießen) [#&#8203;58156](nodejs/node#58156)
-   \[[`22e97362f3`](nodejs/node@22e97362f3)] - **build**: search for libnode.so in multiple places (Jan Staněk) [#&#8203;58213](nodejs/node#58213)
-   \[[`0b4056c573`](nodejs/node@0b4056c573)] - **build**: add support for OpenHarmony operating system (hqzing) [#&#8203;58350](nodejs/node#58350)
-   \[[`db7f413dd3`](nodejs/node@db7f413dd3)] - **build**: fix pointer compression builds (Joyee Cheung) [#&#8203;58171](nodejs/node#58171)
-   \[[`7ff37183e5`](nodejs/node@7ff37183e5)] - **build**: fix defaults for shared llhttp (Antoine du Hamel) [#&#8203;58269](nodejs/node#58269)
-   \[[`b8c33190fe`](nodejs/node@b8c33190fe)] - **build,win**: fix dll build (Stefan Stojanovic) [#&#8203;58357](nodejs/node#58357)
-   \[[`ef9ecbe8a6`](nodejs/node@ef9ecbe8a6)] - **child_process**: give names to `ChildProcess` functions (Livia Medeiros) [#&#8203;58370](nodejs/node#58370)
-   \[[`cec9d9d016`](nodejs/node@cec9d9d016)] - **crypto**: forward auth tag to OpenSSL immediately (Tobias Nießen) [#&#8203;58547](nodejs/node#58547)
-   \[[`9fccb0609f`](nodejs/node@9fccb0609f)] - **crypto**: expose crypto.constants.OPENSSL_IS_BORINGSSL (Shelley Vohr) [#&#8203;58387](nodejs/node#58387)
-   \[[`e7c69b9345`](nodejs/node@e7c69b9345)] - **deps**: update nghttp2 to 1.65.0 (Node.js GitHub Bot) [#&#8203;57269](nodejs/node#57269)
-   \[[`d0b89598a3`](nodejs/node@d0b89598a3)] - **deps**: use proper C standard when building libuv (Yaksh Bariya) [#&#8203;58587](nodejs/node#58587)
-   \[[`8a1fe7bc6a`](nodejs/node@8a1fe7bc6a)] - **deps**: update simdjson to 3.12.3 (Node.js GitHub Bot) [#&#8203;57682](nodejs/node#57682)
-   \[[`36b639b1eb`](nodejs/node@36b639b1eb)] - **deps**: update googletest to [`e9092b1`](nodejs/node@e9092b1) (Node.js GitHub Bot) [#&#8203;58565](nodejs/node#58565)
-   \[[`f8a2a1ef52`](nodejs/node@f8a2a1ef52)] - **deps**: update corepack to 0.33.0 (Node.js GitHub Bot) [#&#8203;58566](nodejs/node#58566)
-   \[[`efb28f7895`](nodejs/node@efb28f7895)] - **deps**: V8: cherry-pick [`249de88`](nodejs/node@249de887a8d3) (Michaël Zasso) [#&#8203;58561](nodejs/node#58561)
-   \[[`88e621ea97`](nodejs/node@88e621ea97)] - **deps**: update sqlite to 3.50.0 (Node.js GitHub Bot) [#&#8203;58272](nodejs/node#58272)
-   \[[`8d2ba386f1`](nodejs/node@8d2ba386f1)] - **deps**: update OpenSSL gen container to Ubuntu 22.04 (Michaël Zasso) [#&#8203;58432](nodejs/node#58432)
-   \[[`7e62a77a7f`](nodejs/node@7e62a77a7f)] - **deps**: update undici to 7.10.0 (Node.js GitHub Bot) [#&#8203;58445](nodejs/node#58445)
-   \[[`87eebd7bad`](nodejs/node@87eebd7bad)] - **deps**: keep required OpenSSL doc files (Michaël Zasso) [#&#8203;58431](nodejs/node#58431)
-   \[[`10910660f6`](nodejs/node@10910660f6)] - **deps**: update undici to 7.9.0 (Node.js GitHub Bot) [#&#8203;58268](nodejs/node#58268)
-   \[[`5e27078ca2`](nodejs/node@5e27078ca2)] - **deps**: update ada to 3.2.4 (Node.js GitHub Bot) [#&#8203;58152](nodejs/node#58152)
-   \[[`3b1e4bdbbb`](nodejs/node@3b1e4bdbbb)] - **deps**: update libuv to 1.51.0 (Node.js GitHub Bot) [#&#8203;58124](nodejs/node#58124)
-   \[[`6bddf587ae`](nodejs/node@6bddf587ae)] - **dns**: fix dns query cache implementation (Ethan Arrowood) [#&#8203;58404](nodejs/node#58404)
-   \[[`984894b38c`](nodejs/node@984894b38c)] - **doc**: deprecate utilisNativeError in favor of ErrorisError (Miguel Marcondes Filho) [#&#8203;58262](nodejs/node#58262)
-   \[[`377ef3ce3a`](nodejs/node@377ef3ce3a)] - **doc**: add support link for panva (Filip Skokan) [#&#8203;58591](nodejs/node#58591)
-   \[[`33a69ff9e4`](nodejs/node@33a69ff9e4)] - **doc**: update metadata for \_transformState deprecation (James M Snell) [#&#8203;58530](nodejs/node#58530)
-   \[[`d261274b0f`](nodejs/node@d261274b0f)] - **doc**: deprecate passing an empty string to `options.shell` (Antoine du Hamel) [#&#8203;58564](nodejs/node#58564)
-   \[[`447ca11010`](nodejs/node@447ca11010)] - **doc**: correct formatting of example definitions for `--test-shard` (Jacob Smith) [#&#8203;58571](nodejs/node#58571)
-   \[[`2f555e0e19`](nodejs/node@2f555e0e19)] - **doc**: clarify DEP0194 scope (Antoine du Hamel) [#&#8203;58504](nodejs/node#58504)
-   \[[`af0446edcb`](nodejs/node@af0446edcb)] - **doc**: deprecate HTTP/2 priority signaling (Matteo Collina) [#&#8203;58313](nodejs/node#58313)
-   \[[`80cc17f1ec`](nodejs/node@80cc17f1ec)] - **doc**: explain child_process code and signal null values everywhere (Darshan Sen) [#&#8203;58479](nodejs/node#58479)
-   \[[`e13930bbe0`](nodejs/node@e13930bbe0)] - **doc**: add Filip Skokan to TSC (Rafael Gonzaga) [#&#8203;58499](nodejs/node#58499)
-   \[[`5f3f045ecc`](nodejs/node@5f3f045ecc)] - **doc**: update `git node release` example (Antoine du Hamel) [#&#8203;58475](nodejs/node#58475)
-   \[[`4bbd026cde`](nodejs/node@4bbd026cde)] - **doc**: add missing options.info for ZstdOptions (Jimmy Leung) [#&#8203;58360](nodejs/node#58360)
-   \[[`a6d0d2a0d7`](nodejs/node@a6d0d2a0d7)] - **doc**: add missing options.info for BrotliOptions (Jimmy Leung) [#&#8203;58359](nodejs/node#58359)
-   \[[`510872a522`](nodejs/node@510872a522)] - **(SEMVER-MINOR)** **doc**: graduate Symbol.dispose/asyncDispose from experimental (James M Snell) [#&#8203;58467](nodejs/node#58467)
-   \[[`08685256cd`](nodejs/node@08685256cd)] - **doc**: clarify x509.checkIssued only checks metadata (Filip Skokan) [#&#8203;58457](nodejs/node#58457)
-   \[[`095794fc24`](nodejs/node@095794fc24)] - **doc**: add links to parent class for `node:zlib` classes (Antoine du Hamel) [#&#8203;58433](nodejs/node#58433)
-   \[[`7acac70bce`](nodejs/node@7acac70bce)] - **doc**: remove remaining uses of `@@&#8203;wellknown` syntax (René) [#&#8203;58413](nodejs/node#58413)
-   \[[`62056d40c7`](nodejs/node@62056d40c7)] - **doc**: clarify behavior of --watch-path and --watch flags (Juan Ignacio Benito) [#&#8203;58136](nodejs/node#58136)
-   \[[`e6e6ae887d`](nodejs/node@e6e6ae887d)] - **doc**: fix the order of `process.md` sections (Allon Murienik) [#&#8203;58403](nodejs/node#58403)
-   \[[`d2f6c82c0f`](nodejs/node@d2f6c82c0f)] - **doc,lib**: update source map links to ECMA426 (Chengzhong Wu) [#&#8203;58597](nodejs/node#58597)
-   \[[`a994d3d51a`](nodejs/node@a994d3d51a)] - **doc,src,test**: fix typos (Noritaka Kobayashi) [#&#8203;58477](nodejs/node#58477)
-   \[[`252acc1e89`](nodejs/node@252acc1e89)] - **errors**: show url of unsupported attributes in the error message (Aditi) [#&#8203;58303](nodejs/node#58303)
-   \[[`767e88cbc3`](nodejs/node@767e88cbc3)] - **esm**: unwrap WebAssembly.Global on Wasm Namespaces (Guy Bedford) [#&#8203;57525](nodejs/node#57525)
-   \[[`adef9af3ae`](nodejs/node@adef9af3ae)] - **(SEMVER-MINOR)** **esm**: implement import.meta.main (Joe) [#&#8203;57804](nodejs/node#57804)
-   \[[`308f4cac4b`](nodejs/node@308f4cac4b)] - **esm**: add support for dynamic source phase hook (Guy Bedford) [#&#8203;58147](nodejs/node#58147)
-   \[[`fcef56cb05`](nodejs/node@fcef56cb05)] - **fs**: improve cpSync no-filter copyDir performance (Dario Piotrowicz) [#&#8203;58461](nodejs/node#58461)
-   \[[`996fdb05ab`](nodejs/node@996fdb05ab)] - **fs**: fix cp handle existing symlinks (Yuesong Jake Li) [#&#8203;58476](nodejs/node#58476)
-   \[[`d2931e50e3`](nodejs/node@d2931e50e3)] - **fs**: fix cpSync handle existing symlinks (Yuesong Jake Li) [#&#8203;58476](nodejs/node#58476)
-   \[[`6f4c9dd423`](nodejs/node@6f4c9dd423)] - **(SEMVER-MINOR)** **fs**: add autoClose option to FileHandle readableWebStream (James M Snell) [#&#8203;58548](nodejs/node#58548)
-   \[[`8870bb8677`](nodejs/node@8870bb8677)] - **fs**: improve `cpSync` dest overriding performance (Dario Piotrowicz) [#&#8203;58160](nodejs/node#58160)
-   \[[`f2e2301559`](nodejs/node@f2e2301559)] - **fs**: unexpose internal constants (Chengzhong Wu) [#&#8203;58327](nodejs/node#58327)
-   \[[`32efb63242`](nodejs/node@32efb63242)] - **http**: deprecate instantiating classes without new (Yagiz Nizipli) [#&#8203;58518](nodejs/node#58518)
-   \[[`0b987e5741`](nodejs/node@0b987e5741)] - **(SEMVER-MAJOR)** **http2**: remove support for priority signaling (Matteo Collina) [#&#8203;58293](nodejs/node#58293)
-   \[[`44ca874b2c`](nodejs/node@44ca874b2c)] - **http2**: add lenient flag for RFC-9113 (Carlos Fuentes) [#&#8203;58116](nodejs/node#58116)
-   \[[`0234a8ef53`](nodejs/node@0234a8ef53)] - **(SEMVER-MINOR)** **http2**: add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) [#&#8203;58560](nodejs/node#58560)
-   \[[`2b868e8aa7`](nodejs/node@2b868e8aa7)] - **http2**: add diagnostics channel 'http2.server.stream.error' (Darshan Sen) [#&#8203;58512](nodejs/node#58512)
-   \[[`b4df8d38cd`](nodejs/node@b4df8d38cd)] - **http2**: add diagnostics channel 'http2.server.stream.start' (Darshan Sen) [#&#8203;58449](nodejs/node#58449)
-   \[[`d86ff608bb`](nodejs/node@d86ff608bb)] - **http2**: remove no longer userful options.selectPadding (Jimmy Leung) [#&#8203;58373](nodejs/node#58373)
-   \[[`13dbbdc8a8`](nodejs/node@13dbbdc8a8)] - **http2**: add diagnostics channel 'http2.server.stream.created' (Darshan Sen) [#&#8203;58390](nodejs/node#58390)
-   \[[`08855464ec`](nodejs/node@08855464ec)] - **http2**: add diagnostics channel 'http2.client.stream.close' (Darshan Sen) [#&#8203;58329](nodejs/node#58329)
-   \[[`566fc567b8`](nodejs/node@566fc567b8)] - **http2**: add diagnostics channel 'http2.client.stream.finish' (Darshan Sen) [#&#8203;58317](nodejs/node#58317)
-   \[[`f30b9117d4`](nodejs/node@f30b9117d4)] - **http2**: add diagnostics channel 'http2.client.stream.error' (Darshan Sen) [#&#8203;58306](nodejs/node#58306)
-   \[[`79b852a692`](nodejs/node@79b852a692)] - **inspector**: add mimeType and charset support to Network.Response (Shima Ryuhei) [#&#8203;58192](nodejs/node#58192)
-   \[[`402ac8b1d8`](nodejs/node@402ac8b1d8)] - **inspector**: add protocol method Network.dataReceived (Chengzhong Wu) [#&#8203;58001](nodejs/node#58001)
-   \[[`29f34a7f86`](nodejs/node@29f34a7f86)] - **lib**: disable REPL completion on proxies and getters (Dario Piotrowicz) [#&#8203;57909](nodejs/node#57909)
-   \[[`0f1e94f731`](nodejs/node@0f1e94f731)] - **(SEMVER-MINOR)** **lib**: graduate error codes that have been around for years (James M Snell) [#&#8203;58541](nodejs/node#58541)
-   \[[`cc1aacabb0`](nodejs/node@cc1aacabb0)] - **lib**: make ERM functions into wrappers returning undefined (Livia Medeiros) [#&#8203;58400](nodejs/node#58400)
-   \[[`8df4dee38c`](nodejs/node@8df4dee38c)] - **lib**: remove no-mixed-operators eslint rule (Ruben Bridgewater) [#&#8203;58375](nodejs/node#58375)
-   \[[`104d173f58`](nodejs/node@104d173f58)] - **meta**: bump github/codeql-action from 3.28.16 to 3.28.18 (dependabot\[bot]) [#&#8203;58552](nodejs/node#58552)
-   \[[`b454e8386c`](nodejs/node@b454e8386c)] - **meta**: bump codecov/codecov-action from 5.4.2 to 5.4.3 (dependabot\[bot]) [#&#8203;58551](nodejs/node#58551)
-   \[[`f31e014b81`](nodejs/node@f31e014b81)] - **meta**: bump step-security/harden-runner from 2.11.0 to 2.12.0 (dependabot\[bot]) [#&#8203;58109](nodejs/node#58109)
-   \[[`4da920cc13`](nodejs/node@4da920cc13)] - **meta**: bump ossf/scorecard-action from 2.4.1 to 2.4.2 (dependabot\[bot]) [#&#8203;58550](nodejs/node#58550)
-   \[[`eb9bb95fe2`](nodejs/node@eb9bb95fe2)] - **meta**: bump rtCamp/action-slack-notify from 2.3.2 to 2.3.3 (dependabot\[bot]) [#&#8203;58108](nodejs/node#58108)
-   \[[`27ada1f18c`](nodejs/node@27ada1f18c)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;58456](nodejs/node#58456)
-   \[[`4606a6792b`](nodejs/node@4606a6792b)] - **meta**: bump github/codeql-action from 3.28.11 to 3.28.16 (dependabot\[bot]) [#&#8203;58112](nodejs/node#58112)
-   \[[`7dfe448b7f`](nodejs/node@7dfe448b7f)] - **meta**: bump codecov/codecov-action from 5.4.0 to 5.4.2 (dependabot\[bot]) [#&#8203;58110](nodejs/node#58110)
-   \[[`18bb5f7e7e`](nodejs/node@18bb5f7e7e)] - **meta**: bump actions/download-artifact from 4.2.1 to 4.3.0 (dependabot\[bot]) [#&#8203;58106](nodejs/node#58106)
-   \[[`72f2a22889`](nodejs/node@72f2a22889)] - **module**: clarify cjs global-like error on ModuleJobSync (Carlos Espa) [#&#8203;56491](nodejs/node#56491)
-   \[[`b0e0b1afae`](nodejs/node@b0e0b1afae)] - **net**: always publish to 'net.client.socket' diagnostics channel (Darshan Sen) [#&#8203;58349](nodejs/node#58349)
-   \[[`f373d6a540`](nodejs/node@f373d6a540)] - **node-api**: use WriteOneByteV2 in napi_get_value_string_latin1 (Chengzhong Wu) [#&#8203;58325](nodejs/node#58325)
-   \[[`429c38db1b`](nodejs/node@429c38db1b)] - **node-api**: use WriteV2 in napi_get_value_string_utf16 (Tobias Nießen) [#&#8203;58165](nodejs/node#58165)
-   \[[`b882148999`](nodejs/node@b882148999)] - **path**: improve path.resolve() performance when used as process.cwd() (Ruben Bridgewater) [#&#8203;58362](nodejs/node#58362)
-   \[[`13abca3c26`](nodejs/node@13abca3c26)] - **(SEMVER-MINOR)** **perf_hooks**: make event loop delay histogram disposable (James M Snell) [#&#8203;58384](nodejs/node#58384)
-   \[[`1cd417d823`](nodejs/node@1cd417d823)] - **permission**: remove useless conditional (Juan José) [#&#8203;58514](nodejs/node#58514)
-   \[[`462c4b0c24`](nodejs/node@462c4b0c24)] - **readline**: add stricter validation for functions called after closed (Dario Piotrowicz) [#&#8203;58283](nodejs/node#58283)
-   \[[`e3e36f902c`](nodejs/node@e3e36f902c)] - **repl**: extract and standardize history from both repl and interface (Giovanni Bucci) [#&#8203;58225](nodejs/node#58225)
-   \[[`cbb2a0172f`](nodejs/node@cbb2a0172f)] - **report**: use uv_getrusage_thread in report (theanarkh) [#&#8203;58405](nodejs/node#58405)
-   \[[`3a6bd9c4c4`](nodejs/node@3a6bd9c4c4)] - **sqlite**: handle thrown errors in result callback (Colin Ihrig) [#&#8203;58426](nodejs/node#58426)
-   \[[`0d761bbccd`](nodejs/node@0d761bbccd)] - **src**: env_vars caching and local variable scope optimization (Mert Can Altin) [#&#8203;57624](nodejs/node#57624)
-   \[[`8ea1fc5f3b`](nodejs/node@8ea1fc5f3b)] - **(SEMVER-MINOR)** **src**: support namespace options in configuration file (Pietro Marchini) [#&#8203;58073](nodejs/node#58073)
-   \[[`f72ce2ef75`](nodejs/node@f72ce2ef75)] - **src**: remove fast API for InternalModuleStat (Joyee Cheung) [#&#8203;58489](nodejs/node#58489)
-   \[[`8a1eaea151`](nodejs/node@8a1eaea151)] - **src**: update std::vector\<v8::Local\<T>> to use v8::LocalVector\<T> (Aditi) [#&#8203;58500](nodejs/node#58500)
-   \[[`d99d657842`](nodejs/node@d99d657842)] - **src**: fix FIPS init error handling (Tobias Nießen) [#&#8203;58379](nodejs/node#58379)
-   \[[`11e4cd698b`](nodejs/node@11e4cd698b)] - **src**: fix possible dereference of null pointer (Eusgor) [#&#8203;58459](nodejs/node#58459)
-   \[[`ca0f5a0188`](nodejs/node@ca0f5a0188)] - **src**: add env->cppgc_allocation_handle() convenience method (James M Snell) [#&#8203;58483](nodejs/node#58483)
-   \[[`440d4f42bd`](nodejs/node@440d4f42bd)] - **src**: fix -Wreturn-stack-address error (Shelley Vohr) [#&#8203;58439](nodejs/node#58439)
-   \[[`08615b1020`](nodejs/node@08615b1020)] - **src**: prepare for v8 sandboxing (James M Snell) [#&#8203;58376](nodejs/node#58376)
-   \[[`63f643e844`](nodejs/node@63f643e844)] - **src**: reorganize ContextifyFunction methods (Chengzhong Wu) [#&#8203;58434](nodejs/node#58434)
-   \[[`3b6895a506`](nodejs/node@3b6895a506)] - **src**: improve CompileFunctionAndCacheResult error handling (Chengzhong Wu) [#&#8203;58434](nodejs/node#58434)
-   \[[`7f1c95aee8`](nodejs/node@7f1c95aee8)] - **src**: make a number of minor improvements to buffer (James M Snell) [#&#8203;58377](nodejs/node#58377)
-   \[[`ce081bcb9a`](nodejs/node@ce081bcb9a)] - **src**: fix build when using shared simdutf (Antoine du Hamel) [#&#8203;58407](nodejs/node#58407)
-   \[[`a35cc216e5`](nodejs/node@a35cc216e5)] - **src**: track cppgc wrappers with a list in Realm (Joyee Cheung) [#&#8203;56534](nodejs/node#56534)
-   \[[`947c1c2cd5`](nodejs/node@947c1c2cd5)] - **src,lib**: obtain sourceURL in magic comments from V8 (Chengzhong Wu) [#&#8203;58389](nodejs/node#58389)
-   \[[`d6ea36ad6c`](nodejs/node@d6ea36ad6c)] - **src,permission**: implicit allow-fs-read to app entrypoint (Rafael Gonzaga) [#&#8203;58579](nodejs/node#58579)
-   \[[`e8a07f2198`](nodejs/node@e8a07f2198)] - **stream**: making DecompressionStream spec compilent for trailing junk (0hm☘️) [#&#8203;58316](nodejs/node#58316)
-   \[[`3caa2f71c1`](nodejs/node@3caa2f71c1)] - **stream**: test explicit resource management implicitly (LiviaMedeiros) [#&#8203;58296](nodejs/node#58296)
-   \[[`9ccdf4fdb4`](nodejs/node@9ccdf4fdb4)] - **test**: improve flakiness detection on stack corruption tests (Darshan Sen) [#&#8203;58601](nodejs/node#58601)
-   \[[`d3fea003df`](nodejs/node@d3fea003df)] - **test**: mark timeouts & flaky test as flaky on IBM i (Abdirahim Musse) [#&#8203;58583](nodejs/node#58583)
-   \[[`8347ef6b53`](nodejs/node@8347ef6b53)] - **test**: dispose of filehandles in filehandle.read tests (Livia Medeiros) [#&#8203;58543](nodejs/node#58543)
-   \[[`34e86f91aa`](nodejs/node@34e86f91aa)] - **test**: rewrite test-child-process-spawn-args (Michaël Zasso) [#&#8203;58546](nodejs/node#58546)
-   \[[`d7a2458a58`](nodejs/node@d7a2458a58)] - **test**: make sqlite-database-sync tests work with system sqlite (Jelle Licht) [#&#8203;58507](nodejs/node#58507)
-   \[[`4d9d6830e0`](nodejs/node@4d9d6830e0)] - **test**: force slow JSON.stringify path for overflow (Shelley Vohr) [#&#8203;58181](nodejs/node#58181)
-   \[[`bef67e45e3`](nodejs/node@bef67e45e3)] - **test**: account for truthy signal in flaky async_hooks tests (Darshan Sen) [#&#8203;58478](nodejs/node#58478)
-   \[[`007c82f206`](nodejs/node@007c82f206)] - **test**: mark `test-http2-debug` as flaky on LinuxONE (Richard Lau) [#&#8203;58494](nodejs/node#58494)
-   \[[`21f6400098`](nodejs/node@21f6400098)] - **test**: update WPT for WebCryptoAPI to [`591c95c`](nodejs/node@591c95ce61) (Node.js GitHub Bot) [#&#8203;58176](nodejs/node#58176)
-   \[[`1deb5f06a5`](nodejs/node@1deb5f06a5)] - **test**: remove --no-warnings flag (Tobias Nießen) [#&#8203;58424](nodejs/node#58424)
-   \[[`beba631a10`](nodejs/node@beba631a10)] - **test**: add tests ensuring worker threads cannot access internals (Joe) [#&#8203;58332](nodejs/node#58332)
-   \[[`5936cef60a`](nodejs/node@5936cef60a)] - **(SEMVER-MINOR)** **test**: add disposable histogram test (James M Snell) [#&#8203;58384](nodejs/node#58384)
-   \[[`7a91f4aaa1`](nodejs/node@7a91f4aaa1)] - **(SEMVER-MINOR)** **test**: add test for async disposable worker thread (James M Snell) [#&#8203;58385](nodejs/node#58385)
-   \[[`5fc4706280`](nodejs/node@5fc4706280)] - **test**: leverage process.features.openssl_is_boringssl in test (Shelley Vohr) [#&#8203;58421](nodejs/node#58421)
-   \[[`4629b18397`](nodejs/node@4629b18397)] - **test**: fix test-buffer-tostring-range on allocation failure (Joyee Cheung) [#&#8203;58416](nodejs/node#58416)
-   \[[`4c445a8c85`](nodejs/node@4c445a8c85)] - **test**: skip in test-buffer-tostring-rangeerror on allocation failure (Joyee Cheung) [#&#8203;58415](nodejs/node#58415)
-   \[[`53cb29898b`](nodejs/node@53cb29898b)] - **test**: fix missing edge case in test-blob-slice-with-large-size (Joyee Cheung) [#&#8203;58414](nodejs/node#58414)
-   \[[`89fdfdedc1`](nodejs/node@89fdfdedc1)] - **test**: make crypto tests work with BoringSSL (Shelley Vohr) [#&#8203;58117](nodejs/node#58117)
-   \[[`3b5d0e62b1`](nodejs/node@3b5d0e62b1)] - **test**: test reordering of setAAD and setAuthTag (Tobias Nießen) [#&#8203;58396](nodejs/node#58396)
-   \[[`029440bec5`](nodejs/node@029440bec5)] - **test**: switch from deprecated `optparse` to `argparse` (Aviv Keller) [#&#8203;58224](nodejs/node#58224)
-   \[[`d05263edcc`](nodejs/node@d05263edcc)] - **test**: do not skip OCB decryption in FIPS mode (Tobias Nießen) [#&#8203;58382](nodejs/node#58382)
-   \[[`23474cb257`](nodejs/node@23474cb257)] - **test**: show more information in test-http2-debug upon failure (Joyee Cheung) [#&#8203;58391](nodejs/node#58391)
-   \[[`d0302e7b3d`](nodejs/node@d0302e7b3d)] - **test**: remove loop over single element (Tobias Nießen) [#&#8203;58368](nodejs/node#58368)
-   \[[`33f615897d`](nodejs/node@33f615897d)] - **test**: add chacha20-poly1305 to auth tag order test (Tobias Nießen) [#&#8203;58367](nodejs/node#58367)
-   \[[`8f09a1f502`](nodejs/node@8f09a1f502)] - **test**: skip wasm-allocation tests for pointer compression builds (Joyee Cheung) [#&#8203;58171](nodejs/node#58171)
-   \[[`4ae6a1a5ed`](nodejs/node@4ae6a1a5ed)] - **test**: remove references to create(De|C)ipher (Tobias Nießen) [#&#8203;58363](nodejs/node#58363)
-   \[[`4d647271b2`](nodejs/node@4d647271b2)] - **test_runner**: emit event when file changes in watch mode (Jacopo Martinelli) [#&#8203;57903](nodejs/node#57903)
-   \[[`1eda87c365`](nodejs/node@1eda87c365)] - **test_runner**: add level parameter to reporter.diagnostic (Jacopo Martinelli) [#&#8203;57923](nodejs/node#57923)
-   \[[`13377512be`](nodejs/node@13377512be)] - **tools**: bump the eslint group in `/tools/eslint` with 6 updates (dependabot\[bot]) [#&#8203;58549](nodejs/node#58549)
-   \[[`fcc881de0d`](nodejs/node@fcc881de0d)] - **tools**: support `DisposableStack` and `AsyncDisposableStack` in linter (LiviaMedeiros) [#&#8203;58454](nodejs/node#58454)
-   \[[`208d6a5754`](nodejs/node@208d6a5754)] - **tools**: support explicit resource management in eslint (LiviaMedeiros) [#&#8203;58296](nodejs/node#58296)
-   \[[`32070f304a`](nodejs/node@32070f304a)] - **tools**: add missing highway defines for IBM i (Abdirahim Musse) [#&#8203;58335](nodejs/node#58335)
-   \[[`ddab63a323`](nodejs/node@ddab63a323)] - **tty**: improve color terminal color detection (Ruben Bridgewater) [#&#8203;58146](nodejs/node#58146)
-   \[[`c094bea8d9`](nodejs/node@c094bea8d9)] - **tty**: use terminal VT mode on Windows (Anna Henningsen) [#&#8203;58358](nodejs/node#58358)
-   \[[`dc21054a1e`](nodejs/node@dc21054a1e)] - **typings**: add inspector internalBinding typing (Shima Ryuhei) [#&#8203;58492](nodejs/node#58492)
-   \[[`3499285904`](nodejs/node@3499285904)] - **typings**: remove no longer valid `FixedSizeBlobCopyJob` type (Dario Piotrowicz) [#&#8203;58305](nodejs/node#58305)
-   \[[`1ed2deb2c8`](nodejs/node@1ed2deb2c8)] - **typings**: remove no longer valid `revokeDataObject` type (Dario Piotrowicz) [#&#8203;58305](nodejs/node#58305)
-   \[[`532c173cf2`](nodejs/node@532c173cf2)] - **(SEMVER-MINOR)** **util**: add 'none' style to styleText (James M Snell) [#&#8203;58437](nodejs/node#58437)
-   \[[`2d5a1ef528`](nodejs/node@2d5a1ef528)] - **vm**: import call should return a promise in the current context (Chengzhong Wu) [#&#8203;58309](nodejs/node#58309)
-   \[[`588c2449f2`](nodejs/node@588c2449f2)] - **win,tools**: use Azure Trusted Signing (Stefan Stojanovic) [#&#8203;58502](nodejs/node#58502)
-   \[[`aeb9ab4c4c`](nodejs/node@aeb9ab4c4c)] - **(SEMVER-MINOR)** **worker**: make Worker async disposable (James M Snell) [#&#8203;58385](nodejs/node#58385)
-   \[[`23416cce0a`](nodejs/node@23416cce0a)] - **worker**: give names to `MessagePort` functions (Livia Medeiros) [#&#8203;58307](nodejs/node#58307)
-   \[[`44df21b7fb`](nodejs/node@44df21b7fb)] - **zlib**: remove mentions of unexposed Z_TREES constant (Jimmy Leung) [#&#8203;58371](nodejs/node#58371)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC41Mi4wIiwidXBkYXRlZEluVmVyIjoiNDAuNTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-requested-v22.x PRs awaiting manual backport to the v22.x-staging branch. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. esm Issues and PRs related to the ECMAScript Modules implementation. needs-ci PRs that need a full CI run. notable-change PRs with changes that should be highlighted in changelogs. semver-minor PRs that contain new features and should be released in the next minor version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

import.meta.main