GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat(esm): leverage loaders when resolving subsequent loaders by arcanis · Pull Request #43772 · nodejs/node

Conversation

@arcanis

@arcanis arcanis commented Jul 11, 2022 •
edited by GeoffreyBooth
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

“Notable change” summary by @GeoffreyBooth:

Loaders now apply to subsequent loaders, for example: --experimental-loader ts-node --experimental-loader loader-written-in-typescript.


Original introduction by @arcanis:

This PR is a follow-up to the Ambient Loaders proposal. Since in the last meetings we weren’t too sure whether “ambient loaders” shouldn’t just be the default loaders behaviour, I implemented it this way (but can change it later if needed).

I left a few assets to quickly try the system; without this PR, the second --loader would fail because xxx/* wouldn’t be resolvable:

cd dev_fixtures_do_not_merge
../node –loader ./loader-a.mjs –loader xxx/loader-b.mjs ./index.mjs

cc @nodejs/loaders @cspotcode

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

lemanschik and bencmbrook reacted with laugh emoji lemanschik, bencmbrook, vonagam, izaakschroeder, and rokinsky reacted with hooray emoji ChandlerFerry, robaca, ambasta, faces-of-eth, raon0211, IgnusG, lemanschik, bencmbrook, izaakschroeder, and rokinsky reacted with heart emoji lemanschik, izaakschroeder, eugenesvk, rokinsky, and ristomatti reacted with rocket emoji bricss, robaca, bencmbrook, rokinsky, and aryamohanan reacted with eyes emoji
All reactions
  • 😄 2 reactions
  • 🎉 5 reactions
  • ❤️ 10 reactions
  • 🚀 5 reactions
  • 👀 5 reactions
@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. process Issues and PRs related to the process subsystem. labels Jul 11, 2022
@arcanis
arcanis force-pushed the mael/loaders-subsequent-resolution branch from 9044b9c to b234023 Compare July 11, 2022 11:41
aduh95
aduh95 reviewed Jul 11, 2022
View reviewed changes
Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

GeoffreyBooth
GeoffreyBooth reviewed Jul 11, 2022
View reviewed changes
Comment thread dev_fixtures_do_not_merge/index.mjs Resolved

Uh oh!

There was an error while loading. Please reload this page.

@arcanis
arcanis marked this pull request as ready for review July 19, 2022 08:49
GeoffreyBooth
GeoffreyBooth reviewed Jul 19, 2022
View reviewed changes
Comment thread lib/internal/process/esm_loader.js Outdated
Comment on lines 71 to 58

@GeoffreyBooth GeoffreyBooth Jul 19, 2022

Copy link
Copy Markdown
Member

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.

A) How is implementing “loaders applying to subsequent loaders” so simple, and B) does this break any existing tests?

Looking at this code, there’s no way I would’ve guessed that this was using existing loaders as part of resolving and loading subsequent loaders. Could you add a comment (or several) explaining that that’s what’s happening here, and how?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@arcanis arcanis Jul 21, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

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.

My naive thinking is that since loader resolution goes through a loader pipeline (even if it doesn't initially contain any loader but the default one), all we need is to progressively add the loaders to it so that they are used by subsequent resolutions.

A few tests don't seem to pass yet, I'm searching why.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@arcanis arcanis mentioned this pull request Jul 31, 2022
[Bug?]: chain loader yarnpkg/berry#4694
Closed
1 task
@loynoir loynoir mentioned this pull request Jul 31, 2022
[Bug?]: chain loader privatenumber/tsx#72
Closed
1 task
@sheremet-va sheremet-va mentioned this pull request Aug 2, 2022
[0.20.x] vitest no longer works with yarn pnp vitest-dev/vitest#1758
Closed
6 tasks done
@GeoffreyBooth GeoffreyBooth mentioned this pull request Aug 4, 2022
Update roadmap nodejs/loaders#108
Merged
shrujalshah28
shrujalshah28 reviewed Aug 5, 2022
View reviewed changes
Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

JakobJingleheimer
JakobJingleheimer reviewed Aug 8, 2022
View reviewed changes

@JakobJingleheimer JakobJingleheimer left a comment •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

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.

I'm a bit confused by the approach here, so I reviewed only the first part of this PR. I would expect something like this to suffice:

  1. Import ambient loaders (via internal ESMLoader)
  2. Add ambient loaders to internal ESMLoader
  3. Import lay loaders (via internal ESMLoader, thus affected by ambient loaders added above)
  4. Add ambient loaders to public ESMLoader
  5. Add lay loaders to public ESMLoader

main...JakobJingleheimer:node:feat/add-esm-ambient-loaders

Could you help me understand why the extra complexity is necessary?

EDIT: If the above is sufficient, I'd be happy to pick this up (seems pretty quick to knock out), but also don't want to step on your toes.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread lib/internal/modules/esm/loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread lib/internal/process/esm_loader.js Outdated
Comment on lines 77 to 54

@JakobJingleheimer JakobJingleheimer Aug 8, 2022

Copy link
Copy Markdown
Member

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.

Why loop over customLoaders just to feed each one as a wrapped list to ESMLoader::import() (which already supports multiple specifiers)?

I would expect simply:

const keyedExportsSublist = internalESMLoader(customLoaders);
internalESMLoader.addCustomLoaders(keyedExportsSublist);

ArrayPrototypePushApply(loaders, keyedExportsSublist);

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@arcanis arcanis Aug 8, 2022

Copy link
Copy Markdown
Contributor Author

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.

This diff makes it so that we load loaders one at a time (because each one must be used to resolve/loader the subsequent ones).

Why the wrapper: without it, import makes an early return which shortcuts the pairing.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@arcanis

arcanis commented Aug 8, 2022

Copy link
Copy Markdown
Contributor Author

Could you help me understand why the extra complexity is necessary?

Your implementation seems to split the loaders in two, but doesn't entirely answer the requirement to "leverage loaders when resolving subsequent loaders". For instance, with your diff, only the following would work:

node --ambient-loader pnp --loader ts-node

And the following wouldn't work:

node --ambient-loader pnp --ambient-loader ts-node

In other words, --ambient-loader would de-facto be restricted to a single loader, because others wouldn't be resolvable (just like vendored loaders cannot be resolved without ambient loaders).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@JakobJingleheimer

JakobJingleheimer commented Aug 8, 2022

Copy link
Copy Markdown
Member

Your implementation seems to split the loaders in two, but doesn't entirely answer the requirement to "leverage loaders when resolving subsequent loaders".

Ahhh, yes: ambient loaders need to be imported and also added to the list of hooks before the next is imported (so the previous hook runs during the subsequent's import)

🤔

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

targos
targos reviewed Aug 8, 2022
View reviewed changes
Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

@arcanis arcanis mentioned this pull request Aug 13, 2022
Node.js Loaders Team Meeting 2022-08-16 nodejs/loaders#109
Closed
@GeoffreyBooth GeoffreyBooth mentioned this pull request Sep 19, 2022
test: add test for Module._stat #44713
Merged
@josuevalrob

josuevalrob commented Sep 27, 2022

Copy link
Copy Markdown

hello :)
what is the status here?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@GeoffreyBooth

GeoffreyBooth commented Sep 27, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

The plan is to land this once it’s ready and after #44710.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

jasnell
jasnell approved these changes Oct 2, 2022
View reviewed changes
@loynoir loynoir mentioned this pull request Oct 5, 2022
esm, loader: move to own thread #43658
Closed
1 task
@arcanis arcanis mentioned this pull request Nov 4, 2022
Node.js Loaders Team Meeting 2022-11-08 nodejs/loaders#117
Closed
@Trott
Trott force-pushed the main branch from 2d76238 to ca3ed36 Compare November 12, 2022 01:49
@arcanis

arcanis commented Nov 13, 2022

Copy link
Copy Markdown
Contributor Author

From the last loaders meeting notes:

@arcanis will rebase #43772, we’ll re-review it, and assuming it’s fine we’ll land it, and it can be released in 19.x. I’ll mark it as blocked from release on 18 and below until the off-thread PR lands or Jan. 1, 2023, whichever comes first, to avoid unnecessary churn for the majority of users.

kubijo, jonaskuske, and IgnusG reacted with hooray emoji
All reactions
  • 🎉 3 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@GeoffreyBooth

GeoffreyBooth commented Nov 13, 2022

Copy link
Copy Markdown
Member

@arcanis Can you please rebase this on main and take out the merge commit? All Node PRs need to be “clean” like that so that the history can be bisected. You can squash your commits together first if that makes the rebase easier.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@arcanis
arcanis force-pushed the mael/loaders-subsequent-resolution branch 2 times, most recently from 70f2987 to 7f30aae Compare November 18, 2022 14:21
JakobJingleheimer
JakobJingleheimer approved these changes Nov 19, 2022
View reviewed changes

@JakobJingleheimer JakobJingleheimer left a comment •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

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.

I'm almost in disbelief how simple this is 🙌 Seeing that, I don't anticipate any clashes with off-threading.

I think the ESM doc just needs to be updated and this is good to go.

EDIT: And perhaps some code docs about the new interactive behaviour between loaders?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread lib/internal/modules/esm/loader.js Outdated

@JakobJingleheimer JakobJingleheimer Nov 19, 2022

Copy link
Copy Markdown
Member

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.

Maybe a bit of explanation as to why this can't happen automatically? (since it previously did)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@arcanis arcanis Nov 23, 2022

Copy link
Copy Markdown
Contributor Author

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.

Cf this thread:

Because otherwise, since addCustomLoaders is now called multiple times (once for each loader), it would lead to preload being called multiple times, which in turn would execute the global preload hook multiple times, which would crash (you can try reverting this change; a test crashes).

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@JakobJingleheimer JakobJingleheimer Nov 25, 2022

Copy link
Copy Markdown
Member

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.

Sure, something like that'll do 🙂 (I'm suggesting adding a code comment)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread lib/internal/process/esm_loader.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread test/es-module/test-esm-loader-chaining.mjs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread test/fixtures/es-module-loaders/loader-load-foo-or-42.mjs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread test/fixtures/es-module-loaders/loader-resolve-strip-xxx.mjs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread test/fixtures/es-module-loaders/loader-resolve-strip-xxx.mjs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread test/fixtures/es-module-loaders/loader-resolve-strip-yyy.mjs Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread test/fixtures/es-module-loaders/loader-resolve-strip-yyy.mjs Resolved

Uh oh!

There was an error while loading. Please reload this page.

aduh95
aduh95 reviewed Nov 19, 2022
View reviewed changes
Comment thread test/es-module/test-esm-loader-chaining.mjs Resolved

Uh oh!

There was an error while loading. Please reload this page.

@rtritto rtritto mentioned this pull request Mar 18, 2023
[Node 19 + ESM + PNP] ERR_MODULE_NOT_FOUND TypeStrong/ts-node#1972
Closed
@lizthegrey

lizthegrey commented Mar 31, 2023

Copy link
Copy Markdown

Would you please backport this to v18?

+1 to backport request; this functionality is necessary for use of Yarn PNP alongside https://github.com/DataDog/import-in-the-middle as per yarnpkg/berry#4044

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@targos

targos commented Mar 31, 2023

Copy link
Copy Markdown
Member

@nodejs/loaders We should probably prepare a single backport PR with all recent ESM-loader changes.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@GeoffreyBooth

GeoffreyBooth commented Apr 2, 2023

Copy link
Copy Markdown
Member

And/or this one can go on its own. There haven’t been too many ESM loader PRs lately, other than some test improvements. This was @arcanis’s PR, @arcanis do you mind doing the backports?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@JamieDanielson JamieDanielson mentioned this pull request Apr 4, 2023
feat: ESM support for instrumentation open-telemetry/opentelemetry-js#3698
Merged
8 tasks done
@clemyan clemyan mentioned this pull request Apr 12, 2023
ESM loader chaining while loading loaders regression in 19.8.0 #47526
Closed
@joyeecheung joyeecheung mentioned this pull request Apr 18, 2023
esm: do not lazy instantiate loaders to avoid infinite loop #47599
Closed
@merceyz merceyz mentioned this pull request Apr 19, 2023
loader: use default loader as cascaded loader in the in loader worker #47620
Merged
@bencmbrook

bencmbrook commented May 12, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Still planning on backporting to 18.x @GeoffreyBooth / @arcanis ?

notpeelz reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bencmbrook bencmbrook mentioned this pull request May 16, 2023
Backport ESM loader changes to 18.x #48042
Closed
@bencmbrook

bencmbrook commented May 16, 2023

Copy link
Copy Markdown

Splitting the backport question into an Issue here #48042

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@aduh95 aduh95 mentioned this pull request Jun 2, 2023
esm: remove support for arrays in import internal method #48296
Merged
@petersalas petersalas mentioned this pull request Jun 15, 2023
Switch to yarn PnP fixie-ai/ai-jsx#48
Merged
@izaakschroeder izaakschroeder mentioned this pull request Jun 27, 2023
esm: unflag Module.register and allow nested loader import() #48559
Merged
@lizthegrey

lizthegrey commented Jul 20, 2023

Copy link
Copy Markdown

This was missed for backport into 18.17.0 somehow.

0618 reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

targos pushed a commit that referenced this pull request Nov 10, 2023
@arcanis @targos
esm: leverage loaders when resolving subsequent loaders
490b598
PR-URL: #43772
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
@lizthegrey

lizthegrey commented Nov 12, 2023

Copy link
Copy Markdown

Thanks for backporting y'all.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

targos added a commit that referenced this pull request Nov 27, 2023
@targos
2023-11-29, Version 18.19.0 'Hydrogen' (LTS)
933e5ea
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  * (SEMVER-MINOR) upgrade npm to 10.0.0 (npm team) #49423
doc:
  * add new TSC members (Michael Dawson) #48841
  * move and rename loaders section (Geoffrey Booth) #49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) #50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  * unflag import.meta.resolve (Guy Bedford) #49028
  * move hook execution to separate thread (Jacob Smith) #44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) #43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) #46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) #44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) #49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) #49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) #48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) #48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) #47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) #49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) #50141
wasi:
  * (SEMVER-MINOR) updates required for latest uvwasi version (Michael Dawson) #49908

PR-URL: TODO
targos added a commit that referenced this pull request Nov 28, 2023
@targos
2023-11-29, Version 18.19.0 'Hydrogen' (LTS)
9e0c715
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  * (SEMVER-MINOR) upgrade npm to 10.2.3 (npm team) #50531
doc:
  * move and rename loaders section (Geoffrey Booth) #49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) #50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  * unflag import.meta.resolve (Guy Bedford) #49028
  * move hook execution to separate thread (Jacob Smith) #44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) #43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) #46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) #44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) #49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) #49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) #48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) #48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) #47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) #49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) #50141

PR-URL: #50953
@targos targos mentioned this pull request Nov 28, 2023
v18.19.0 release proposal #50953
Merged
targos added a commit that referenced this pull request Nov 29, 2023
@targos
2023-11-29, Version 18.19.0 'Hydrogen' (LTS)
8787acb
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908
  * (SEMVER-MINOR) upgrade npm to 10.2.3 (npm team) #50531
doc:
  * move and rename loaders section (Geoffrey Booth) #49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) #50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869
  * unflag import.meta.resolve (Guy Bedford) #49028
  * move hook execution to separate thread (Jacob Smith) #44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) #43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) #46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) #44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) #49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) #49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) #49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) #48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) #48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) #47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) #49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) #45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) #50141

PR-URL: #50953
@christian-bromann christian-bromann mentioned this pull request Dec 7, 2023
[🐛 Bug]: Cannot use import statement outside a module with Node 18.19.0 webdriverio/webdriverio#11825
Closed
3 tasks done
@voltrevo voltrevo mentioned this pull request Dec 12, 2023
Fix inpage demo in node 18.19+ getwax/wax#174
Closed
@gthb gthb mentioned this pull request Dec 12, 2023
Line numbers in stack traces are wrong in Node v20 TypeStrong/ts-node#2053
Open
@garrettjstevens garrettjstevens mentioned this pull request Dec 14, 2023
Oclif does not work with Yarn 4 PnP oclif/oclif#1222
Closed
@caugner caugner mentioned this pull request Apr 8, 2024
fix(scripts): specify loader via NODE_OPTIONS mdn/yari#10865
Merged
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
@sercher
esm: leverage loaders when resolving subsequent loaders
005a9c1
PR-URL: nodejs/node#43772
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
@sercher
2023-11-29, Version 18.19.0 'Hydrogen' (LTS)
9d87f0b
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) nodejs/node#49908
  * (SEMVER-MINOR) upgrade npm to 10.2.3 (npm team) nodejs/node#50531
doc:
  * move and rename loaders section (Geoffrey Booth) nodejs/node#49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) nodejs/node#50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs/node#49869
  * unflag import.meta.resolve (Guy Bedford) nodejs/node#49028
  * move hook execution to separate thread (Jacob Smith) nodejs/node#44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) nodejs/node#43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) nodejs/node#46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) nodejs/node#44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) nodejs/node#45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) nodejs/node#49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) nodejs/node#49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) nodejs/node#49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) nodejs/node#48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) nodejs/node#48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) nodejs/node#47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) nodejs/node#49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) nodejs/node#45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) nodejs/node#50141

PR-URL: nodejs/node#50953
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
@sercher
esm: leverage loaders when resolving subsequent loaders
a564508
PR-URL: nodejs/node#43772
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
@sercher
2023-11-29, Version 18.19.0 'Hydrogen' (LTS)
0b63b4a
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) nodejs/node#49908
  * (SEMVER-MINOR) upgrade npm to 10.2.3 (npm team) nodejs/node#50531
doc:
  * move and rename loaders section (Geoffrey Booth) nodejs/node#49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) nodejs/node#50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs/node#49869
  * unflag import.meta.resolve (Guy Bedford) nodejs/node#49028
  * move hook execution to separate thread (Jacob Smith) nodejs/node#44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) nodejs/node#43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) nodejs/node#46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) nodejs/node#44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) nodejs/node#45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) nodejs/node#49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) nodejs/node#49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) nodejs/node#49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) nodejs/node#48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) nodejs/node#48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) nodejs/node#47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) nodejs/node#49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) nodejs/node#45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) nodejs/node#50141

PR-URL: nodejs/node#50953
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@JakobJingleheimer JakobJingleheimer JakobJingleheimer approved these changes
@aduh95 aduh95 aduh95 left review comments
@jasnell jasnell jasnell approved these changes
@GeoffreyBooth GeoffreyBooth GeoffreyBooth approved these changes
+2 more reviewers
@targos targos targos left review comments
@shrujalshah28 shrujalshah28 shrujalshah28 left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

esm Issues and PRs related to the ECMAScript Modules implementation. loaders Issues and PRs related to ES module loaders. notable-change PRs with changes that should be highlighted in changelogs. process Issues and PRs related to the process subsystem.

Projects

None yet

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.

13 participants

@arcanis @JakobJingleheimer @josuevalrob @GeoffreyBooth @nodejs-github-bot @bencmbrook @merceyz @juanarbol @lizthegrey @targos @jasnell @shrujalshah28 @aduh95
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.