Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

module: implementregister utility#46826

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
nodejs-github-bot merged 15 commits intonodejs:mainfromjlenon7:register-loader
Jun 12, 2023

Conversation

jlenon7
Copy link
Member

@jlenon7jlenon7 commentedFeb 24, 2023
edited
Loading

To-dos:

  • Implementregister function innode:module.
  • Add loaders registered withregister function in the same chain of loaders registered with--loader CLI flag.
  • Add tests that prove the feature works.
  • Add documentation about the new feature.

bricss, JakobJingleheimer, and mahfuzahamed55 reacted with eyes emoji
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/loaders
  • @nodejs/modules

@nodejs-github-botnodejs-github-bot added lib / srcIssues and PRs related to general changes in the lib or src directory. needs-ciPRs that need a full CI run. labelsFeb 24, 2023
@jlenon7jlenon7 marked this pull request as draftFebruary 24, 2023 19:30
jlenon7 added a commit to jlenon7/node that referenced this pull requestMar 8, 2023
Use the path.sep variable for handling windows support.Refs:nodejs#46826 (comment)
@aduh95aduh95 added the esmIssues and PRs related to the ECMAScript Modules implementation. labelApr 13, 2023
@aduh95
Copy link
Contributor

This would need to be rebased now that the other PR has landed. Let me know if you need help with the process.

jlenon7 and lin72h reacted with hooray emoji

@GeoffreyBoothGeoffreyBooth added the loadersIssues and PRs related to ES module loaders labelApr 13, 2023
@mcollina
Copy link
Member

How would this work withworker_thread? Can I set a loader specific to a given thread?

@GeoffreyBooth
Copy link
Member

How would this work withworker_thread? Can I set a loader specific to a given thread?

I think the way this works is it would add loaders to the main loaders thread that applies to the main application thread and all worker threads. (And it would create that main loaders thread if it doesn’t already exist at startup time.) Any modules loaded prior to this registration would be unaffected, of course, so people would need to be careful if they want this to apply to their main app, like:

import{registerLoader}from'module'awaitregisterLoader('some-loader')awaitimport('app-entry.js')

So long as there’s just one loaders thread that applies to both the main thread and worker threads, it’s all or nothing:registerLoader adds loaders to apply everywhere.

mcollina and lin72h reacted with thumbs up emoji

@mcollina
Copy link
Member

That's perfect for me.

@cjihrig
Copy link
Contributor

Not something that needs to be done in this PR, but I think we should consider adding a few supporting APIs:

  • Ability to unregister a hook.
  • Ability to inspect the currently registered hooks.
  • An addition to the permission system to prevent loaders from being registered/unregistered programmatically.

@GeoffreyBooth
Copy link
Member

  • An addition to the permission system to prevent loaders from being registered/unregistered programmatically.

Arguably this should happen at this PR, so there isn’t a gap between being able to register loaders programmatically and preventing people from doing so. Or two PRs but this one is blocked from being released until the permission is added.

The risk is relatively low though, becauseregisterLoader only applies to modules importedafter the registration call; which would be only dynamicimport() and any resulting new downstream imports (static or dynamic).

  • Ability to unregister a hook.
  • Ability to inspect the currently registered hooks.

I assume you mean loader/loaders here, not hooks? This API registers an entire loader, so presumably the complementary API would bederegisterLoader. Registering or deregistering individual hooks is an interesting idea, but I’m not sure what the use cases would be. A loader can always be broken apart into its component hooks, like you could create a new loader that consists ofexport { load } from './other-loader.js' to have a loader that’sjust some other loader’sload hook, so I’m not sure we need our own API to provide an easier way.

@cjihrig
Copy link
Contributor

I assume you mean loader/loaders here, not hooks?

I did mean loaders instead of hooks here. I apologize for that.

@JakobJingleheimer
Copy link
Member

Okee, sorry for the dump, but I think this is too big to hide in a file comment:

I think the tech design here needs to change quite a bit to actually work:

esm/worker autonomously handles loader registration for loaders specified via CLI. it currently does not expose this; it would need to do. So what I think needs to happen is:

  1. node:module needs to expose a util (egregisterLoader)
  2. module.registerLoader() needs to point to the "main" module loader, which I believe is accessible viaconst esmLoader = require('internal/process/esm_loader')) when at least 1 custom loader is specified via CLI, node will instantiateCustomizedModuleLoader[1] (which is what you need here).
  3. CustomizedModuleLoader needs a specific way to communicate the registration toHooksProxy (so aregister method probably needs to be added toCustomizedModuleLoader).
  4. HooksProxy needs a specific message type (eg simplyregister) to communicate the registration to the esm worker)
  5. esm/worker needs to handle that message and callHooks::addCustomLoader (which already exists)[2].

Perhapsmodule.registerLoader() should be "synchronous" likeimport.meta.resolve() because forgetting toawait is quite a foot-gun that may be very difficult for a user to troubleshoot, and I believe there is no scenario where it would be desirable for the programme to continue before the registration has finished. If so, this is already possible, andCustomizedModuleLoader::register() would just need to callHooksProxy::makeSyncRequest() (instead ofHooksProxy::makeAsyncRequest()); seeCustomizedModuleLoader::resolve() andCustomizedModuleLoader::load() respectively).

Footnotes:

  1. A limitation to this design is that at least 1 custom loader must be supplied at startup (be it environment var / CLI, or, if supported in future, via something likepackage.json). When that condition is not met, I would makemodule.registerLoader somehow indicate (probably throw) to the user that it can't do what it's supposed to do. I believe there is no way to get around this limitation as node needs some indication at startup to know whether to instantiateDefaultModuleLoader vs the much more expensiveCustomizedModuleLoader (which was a hard requirement).
  2. initializeHooks inlib/internal/modules/esm/utils.js does some stuff with adding custom loaders; that may be helpful (or you may need to tweak it).
jlenon7 reacted with thumbs up emoji

@aduh95
Copy link
Contributor

Regarding making the API sync, I’ve been thinking about that and I’m having conflicting thoughts about it: while I 💯 agree that a sync API would produce fewer surprises, but on the same time we probably want the API to work from--require scripts, and there a sync API might cause problems because the ESM loader is not loaded yet.
Maybe it would be easier to start with converting a smaller use case, and I think that PR is doing a good job at that (only covering the use case "I want to register additional loaders in the runtime when I already have added at least one from the CLI"). I think it would work to first land this PR and iterate on it on follow up PRs. But we can already discuss the other use cases of course!

JakobJingleheimer and jlenon7 reacted with thumbs up emoji

@GeoffreyBooth
Copy link
Member

while I 💯 agree that a sync API would produce fewer surprises, but on the same time we probably want the API to work from--require scripts, and there a sync API might cause problems because the ESM loader is not loaded yet.

I always assumed it would be an async API; it’s essentiallyimport()-ing a package from disk. I don’t think it would be too much of a footgun; if you doregisterLoader('typescript'); import('./app.ts') the latter would immediately error. I feel like that would be the case for most loaders that users would register. And making it async from the start preserves the most flexibility.

  1. I believe there is no way to get around this limitation as node needs some indication at startup to know whether to instantiateDefaultModuleLoader vs the much more expensiveCustomizedModuleLoader

If the user needs to pass--loader regardless of whether or not they’re going to useregisterLoader, then there’s not much point to creatingregisterLoader. Maybe what we need is a way forDefaultModuleLoader to “convert” intoCustomizedModuleLoader on demand when it’s told to register a loader.

jlenon7 reacted with thumbs up emoji

@aduh95
Copy link
Contributor

aduh95 commentedMay 6, 2023
edited
Loading

it’s essentiallyimport()-ing a package from disk

It loads it in a different thread, comparing it withimport is not quite right IMO. Also it doesn't have to be from disk, it can be from the network or another loader.

registerLoader('typescript'); import('./app.ts') the latter would immediately error

If it's async, it would race, so sometimes error, sometimes succeeds. But that sounds like a terrible API 😅

And making it async from the start preserves the most flexibility.

Do you have a use case in mind that would require the loader registration to be async? 🤔

Maybe what we need is a way forDefaultModuleLoader to “convert” intoCustomizedModuleLoader on demand when it’s told to register a loader.

Maybe we should support it only in scripts loaded from--require on the main thread, before the ESM loader is initiated? We have to reduce its scope for the initial implementation somehow, it's not reasonable to try to address all at once IMO.

jlenon7 and JakobJingleheimer reacted with thumbs up emoji

@GeoffreyBooth
Copy link
Member

GeoffreyBooth commentedMay 6, 2023
edited
Loading

it’s essentiallyimport()-ing a package from disk

It loads it in a different thread, comparing it withimport is not quite right IMO. Also it doesn't have to be from disk, it can be from the network or another loader.

Sure, but loading modules (whether from disk or network etc) is typically an async operation.

registerLoader('typescript'); import('./app.ts') the latter would immediately error

If it’s async, it would race, so sometimes error, sometimes succeeds. But that sounds like a terrible API 😅

Okay, fair enough, but this is no different than any developer forgetting to await an async API. If the code somehow doesn’t error for them, hopefully their linter or typechecker warns them that they forgot anawait. I don't think we should constrain our API because developers might forget to await a promise.

And making it async from the start preserves the most flexibility.

Do you have a use case in mind that would require the loader registration to be async? 🤔

Because many loaders will presumably be written as ESM, and loading them meansimport()-ing them, which is async.

I don’t necessarilywant this API to be async; if it can be sync, great, do it that way. I just assumed that somewhere under the hood it would use theimport() machinery and therefore would need to be async.

Maybe what we need is a way forDefaultModuleLoader to “convert” intoCustomizedModuleLoader on demand when it’s told to register a loader.

Maybe we should support it only in scripts loaded from--require on the main thread, before the ESM loader is initiated? We have to reduce its scope for the initial implementation somehow, it’s not reasonable to try to address all at once IMO.

Needing this to happen from CommonJS and/or from--require really reduces a lot of the usefulness, to the point where we’ve defeated the purpose. The goal of creating this API is tonot require flags, whether--require or--import or--loader.

I think we just need to undo the separation ofDefaultModuleLoader andCustomizedModuleLoader, where we merge them back together into oneModuleLoader that by default initializes likeDefaultModuleLoader does today, and loaders get registered via a method rather than the constructor. And then only when a loader is registered does it create the loaders thread and so on. It would be a lot like the oldESMLoader used to be before the refactor (but let’s keep the nameModuleLoader so that eventually it can supplant the CommonJS loader). This is probably too much to expect a newcomer to the codebase to tackle, so we’ll need to do a lot of this work.

JakobJingleheimer reacted with thumbs up emojijlenon7 reacted with laugh emoji

@aduh95
Copy link
Contributor

Because many loaders will presumably be written as ESM, and loading them meansimport()-ing them, which is async.

But the "import" happens in a different thread, so there’s no reason we couldn’t make it sync, like we do forimport.meta.resolve.

JakobJingleheimer reacted with thumbs up emoji

UlisesGascon added a commit that referenced this pull requestAug 22, 2023
Notable changes:deps:  * V8: cherry-pick 93275031284c (Joyee Cheung)#48660doc:  * add new TSC members (Michael Dawson)#48841  * add rluvaton to collaborators (Raz Luvaton)#49215esm:  * unflag import.meta.resolve (Guy Bedford)#49028  * add `initialize` hook, integrate with `register` (Izaak Schroeder)#48842  * unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder)#48559inspector:  * (SEMVER-MINOR) open add `SymbolDispose` (Chemi Atlow)#48765module:  * implement `register` utility (João Lenon)#46826  * make CJS load from ESM loader (Antoine du Hamel)#47999src:  * add built-in `.env` file support (Yagiz Nizipli)#48890  * initialize cppgc (Daryl Haresign and Joyee Cheung)#48660 and#45704test_runner:  * (SEMVER-MINOR) expose location of tests (Colin Ihrig)#48975PR-URL:#49185
UlisesGascon added a commit that referenced this pull requestAug 22, 2023
Notable changes:deps:  * V8: cherry-pick 93275031284c (Joyee Cheung)#48660doc:  * add new TSC members (Michael Dawson)#48841  * add rluvaton to collaborators (Raz Luvaton)#49215esm:  * unflag import.meta.resolve (Guy Bedford)#49028  * add `initialize` hook, integrate with `register` (Izaak Schroeder)#48842  * unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder)#48559inspector:  * (SEMVER-MINOR) open add `SymbolDispose` (Chemi Atlow)#48765module:  * implement `register` utility (João Lenon)#46826  * make CJS load from ESM loader (Antoine du Hamel)#47999src:  * add built-in `.env` file support (Yagiz Nizipli)#48890  * initialize cppgc (Daryl Haresign and Joyee Cheung)#48660 and#45704test_runner:  * (SEMVER-MINOR) expose location of tests (Colin Ihrig)#48975PR-URL:#49185
UlisesGascon added a commit that referenced this pull requestAug 24, 2023
Notable changes:deps:  * V8: cherry-pick 93275031284c (Joyee Cheung)#48660doc:  * add new TSC members (Michael Dawson)#48841  * add rluvaton to collaborators (Raz Luvaton)#49215esm:  * unflag import.meta.resolve (Guy Bedford)#49028  * add `initialize` hook, integrate with `register` (Izaak Schroeder)#48842  * unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder)#48559inspector:  * (SEMVER-MINOR) open add `SymbolDispose` (Chemi Atlow)#48765module:  * implement `register` utility (João Lenon)#46826  * make CJS load from ESM loader (Antoine du Hamel)#47999src:  * add built-in `.env` file support (Yagiz Nizipli)#48890  * initialize cppgc (Daryl Haresign and Joyee Cheung)#48660 and#45704test_runner:  * (SEMVER-MINOR) expose location of tests (Colin Ihrig)#48975PR-URL:#49185
UlisesGascon added a commit that referenced this pull requestAug 29, 2023
Notable changes:deps:  * V8: cherry-pick 93275031284c (Joyee Cheung)#48660doc:  * add new TSC members (Michael Dawson)#48841  * add rluvaton to collaborators (Raz Luvaton)#49215esm:  * unflag import.meta.resolve (Guy Bedford)#49028  * add `initialize` hook, integrate with `register` (Izaak Schroeder)#48842  * unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder)#48559inspector:  * (SEMVER-MINOR) open add `SymbolDispose` (Chemi Atlow)#48765module:  * implement `register` utility (João Lenon)#46826  * make CJS load from ESM loader (Antoine du Hamel)#47999src:  * add built-in `.env` file support (Yagiz Nizipli)#48890  * initialize cppgc (Daryl Haresign and Joyee Cheung)#48660 and#45704test_runner:  * (SEMVER-MINOR) expose location of tests (Colin Ihrig)#48975PR-URL:#49185
UlisesGascon added a commit that referenced this pull requestAug 31, 2023
Notable changes:deps:  * V8: cherry-pick 93275031284c (Joyee Cheung)#48660doc:  * add new TSC members (Michael Dawson)#48841  * add rluvaton to collaborators (Raz Luvaton)#49215esm:  * unflag import.meta.resolve (Guy Bedford)#49028  * add `initialize` hook, integrate with `register` (Izaak Schroeder)#48842  * unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder)#48559inspector:  * (SEMVER-MINOR) open add `SymbolDispose` (Chemi Atlow)#48765module:  * implement `register` utility (João Lenon)#46826  * make CJS load from ESM loader (Antoine du Hamel)#47999src:  * add built-in `.env` file support (Yagiz Nizipli)#48890  * initialize cppgc (Daryl Haresign and Joyee Cheung)#48660 and#45704test_runner:  * (SEMVER-MINOR) expose location of tests (Colin Ihrig)#48975PR-URL:#49185
UlisesGascon added a commit that referenced this pull requestSep 1, 2023
Notable changes:deps:  * V8: cherry-pick 93275031284c (Joyee Cheung)#48660doc:  * add new TSC members (Michael Dawson)#48841  * add rluvaton to collaborators (Raz Luvaton)#49215esm:  * unflag import.meta.resolve (Guy Bedford)#49028  * add `initialize` hook, integrate with `register` (Izaak Schroeder)#48842  * unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder)#48559inspector:  * (SEMVER-MINOR) open add `SymbolDispose` (Chemi Atlow)#48765module:  * implement `register` utility (João Lenon)#46826  * make CJS load from ESM loader (Antoine du Hamel)#47999src:  * add built-in `.env` file support (Yagiz Nizipli)#48890  * initialize cppgc (Daryl Haresign and Joyee Cheung)#48660 and#45704test_runner:  * (SEMVER-MINOR) expose location of tests (Colin Ihrig)#48975PR-URL:#49185
juanarbol pushed a commit that referenced this pull requestSep 4, 2023
Notable changes:deps:  * V8: cherry-pick 93275031284c (Joyee Cheung)#48660doc:  * add new TSC members (Michael Dawson)#48841  * add rluvaton to collaborators (Raz Luvaton)#49215esm:  * unflag import.meta.resolve (Guy Bedford)#49028  * add `initialize` hook, integrate with `register` (Izaak Schroeder)#48842  * unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder)#48559inspector:  * (SEMVER-MINOR) open add `SymbolDispose` (Chemi Atlow)#48765module:  * implement `register` utility (João Lenon)#46826  * make CJS load from ESM loader (Antoine du Hamel)#47999src:  * add built-in `.env` file support (Yagiz Nizipli)#48890  * initialize cppgc (Daryl Haresign and Joyee Cheung)#48660 and#45704test_runner:  * (SEMVER-MINOR) expose location of tests (Colin Ihrig)#48975PR-URL:#49185
@ruyadorno
Copy link
Member

This does not land cleanly inv18.x-staging and will need manual backport in case you want it to land inv18.

jlenon7 added a commit to jlenon7/node that referenced this pull requestSep 7, 2023
This function was first implemented innodejs#46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:nodejs#46826 (comment)
jlenon7 added a commit to jlenon7/node that referenced this pull requestSep 20, 2023
This function was first implemented innodejs#46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:nodejs#46826 (comment)
nodejs-github-bot pushed a commit that referenced this pull requestSep 22, 2023
This function was first implemented in#46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:#46826 (comment)PR-URL:#48434Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
ruyadorno pushed a commit that referenced this pull requestSep 28, 2023
This function was first implemented in#46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:#46826 (comment)PR-URL:#48434Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
alexfernandez pushed a commit to alexfernandez/node that referenced this pull requestNov 1, 2023
Notable changes:deps:  * V8: cherry-pick 93275031284c (Joyee Cheung)nodejs#48660doc:  * add new TSC members (Michael Dawson)nodejs#48841  * add rluvaton to collaborators (Raz Luvaton)nodejs#49215esm:  * unflag import.meta.resolve (Guy Bedford)nodejs#49028  * add `initialize` hook, integrate with `register` (Izaak Schroeder)nodejs#48842  * unflag `Module.register` and allow nested loader `import()` (Izaak Schroeder)nodejs#48559inspector:  * (SEMVER-MINOR) open add `SymbolDispose` (Chemi Atlow)nodejs#48765module:  * implement `register` utility (João Lenon)nodejs#46826  * make CJS load from ESM loader (Antoine du Hamel)nodejs#47999src:  * add built-in `.env` file support (Yagiz Nizipli)nodejs#48890  * initialize cppgc (Daryl Haresign and Joyee Cheung)nodejs#48660 andnodejs#45704test_runner:  * (SEMVER-MINOR) expose location of tests (Colin Ihrig)nodejs#48975PR-URL:nodejs#49185
alexfernandez pushed a commit to alexfernandez/node that referenced this pull requestNov 1, 2023
This function was first implemented innodejs#46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:nodejs#46826 (comment)PR-URL:nodejs#48434Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
targos pushed a commit to targos/node that referenced this pull requestNov 11, 2023
PR-URL:nodejs#46826Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
targos pushed a commit to targos/node that referenced this pull requestNov 11, 2023
This function was first implemented innodejs#46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:nodejs#46826 (comment)PR-URL:nodejs#48434Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
targos pushed a commit to targos/node that referenced this pull requestNov 11, 2023
This function was first implemented innodejs#46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:nodejs#46826 (comment)PR-URL:nodejs#48434Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
targos pushed a commit that referenced this pull requestNov 23, 2023
PR-URL:#46826Backport-PR-URL:#50669Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
targos pushed a commit that referenced this pull requestNov 23, 2023
This function was first implemented in#46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:#46826 (comment)PR-URL:#48434Backport-PR-URL:#50669Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
@targostargos mentioned this pull requestNov 28, 2023
sercher added a commit to sercher/graaljs that referenced this pull requestApr 25, 2024
PR-URL:nodejs/node#46826Backport-PR-URL:nodejs/node#50669Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
sercher added a commit to sercher/graaljs that referenced this pull requestApr 25, 2024
This function was first implemented in #46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:nodejs/node#46826 (comment)PR-URL:nodejs/node#48434Backport-PR-URL:nodejs/node#50669Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
sercher added a commit to sercher/graaljs that referenced this pull requestApr 25, 2024
PR-URL:nodejs/node#46826Backport-PR-URL:nodejs/node#50669Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
sercher added a commit to sercher/graaljs that referenced this pull requestApr 25, 2024
This function was first implemented in #46826, but at some pointof the PR implementation this fn was no longer related to the PR.Refs:nodejs/node#46826 (comment)PR-URL:nodejs/node#48434Backport-PR-URL:nodejs/node#50669Reviewed-By: Jacob Smith <jacob@frende.me>Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@ljharbljharbljharb left review comments

@mcollinamcollinamcollina left review comments

@jasnelljasnelljasnell left review comments

@targostargostargos left review comments

@cjihrigcjihrigcjihrig left review comments

@JakobJingleheimerJakobJingleheimerJakobJingleheimer approved these changes

@aduh95aduh95aduh95 approved these changes

@GeoffreyBoothGeoffreyBoothGeoffreyBooth approved these changes

Assignees
No one assigned
Labels
author readyPRs that have at least one approval, no pending requests for changes, and a CI started.commit-queue-squashAdd this label to instruct the Commit Queue to squash all the PR commits into the first one.esmIssues and PRs related to the ECMAScript Modules implementation.lib / srcIssues and PRs related to general changes in the lib or src directory.loadersIssues and PRs related to ES module loadersneeds-ciPRs that need a full CI run.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

13 participants
@jlenon7@nodejs-github-bot@aduh95@mcollina@GeoffreyBooth@cjihrig@JakobJingleheimer@giltayar@cspotcode@ruyadorno@ljharb@jasnell@targos

[8]ページ先頭

©2009-2025 Movatter.jp