FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

esm: refactor responseURL handling by guybedford · Pull Request #43164 · nodejs/node · GitHub

/ node Public

esm: refactor responseURL handling - #43164

Closed
guybedford wants to merge 8 commits into
nodejs:masterfrom
guybedford:resolved-url
Closed

esm: refactor responseURL handling#43164
guybedford wants to merge 8 commits into
nodejs:masterfrom
guybedford:resolved-url

Conversation

guybedford commented May 21, 2022
edited
Loading

Copy link
Copy Markdown
Contributor

Refactors responseURL handling solving the same issue as #43130 but with the architecture changes to responseURL as discussed in that PR by treating the module wrap, translators, parentUrl in resolution and providers URLs as the responseURL, as opposed to the module map URL, the resolved URL and the first argument to load as the initial URL. This is consistent with web specifications and gives the correct relative resolution, import.meta.url etc without further function calls being necessary.

In addition this exposes the responseURL return value to the load hook, which is optional. This is landing as treating that as an undocumented loader API for now, since it's generally not an encouraged pattern but is needed by the core loader piping. Whether it should be a public API is a question for the loaders design more generally.

@nodejs/modules @nodejs/loaders

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/modules
  • @nodejs/vm

nodejs-github-bot added lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels May 21, 2022
Comment thread lib/internal/modules/esm/load.js Outdated
Comment thread lib/internal/modules/esm/load.js Outdated
Comment thread lib/internal/modules/esm/load.js Outdated
Comment thread lib/internal/modules/esm/load.js Outdated
Comment thread lib/internal/modules/esm/load.js Outdated
aduh95 added author ready PRs that have at least one approval, no outstanding review comments, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. labels May 22, 2022
github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label May 22, 2022

This comment was marked as outdated.

This comment was marked as outdated.

Copy link
Copy Markdown
Collaborator

Copy link
Copy Markdown
Collaborator

JakobJingleheimer left a comment
edited
Loading

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Huzzah! Thank you for handling this. A couple nits and a possible naming thing, nothing big 😁

I see you removed the fetch cache check: could you add a test case to test/es-module/test-esm-loader-http-imports.mjs to ensure only the 1 fetch happens? (I can do if you prefer)

Comment thread lib/internal/modules/esm/loader.js Outdated
Comment thread lib/internal/modules/esm/loader.js Outdated
Comment thread lib/internal/modules/esm/loader.js Outdated
Comment thread lib/internal/modules/esm/load.js Outdated
JakobJingleheimer added loaders Issues and PRs related to ES module loaders esm Issues and PRs related to the ECMAScript Modules implementation. labels May 29, 2022
Comment thread doc/api/esm.md Outdated

Copy link
Copy Markdown
Collaborator

Copy link
Copy Markdown
Collaborator

guybedford added a commit that referenced this pull request Jun 3, 2022
PR-URL: #43164
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>

Copy link
Copy Markdown
Contributor Author

Landed in dfa896f.

guybedford closed this Jun 3, 2022
guybedford deleted the resolved-url branch June 3, 2022 21:29
danielleadams pushed a commit that referenced this pull request Jun 11, 2022
PR-URL: #43164
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
danielleadams mentioned this pull request Jun 11, 2022

Copy link
Copy Markdown
Contributor

This didn't land cleanly in v18.x (maybe related to #42623 or the work mentioned here #43385 (comment)), so adding a backport-blocked label.

Copy link
Copy Markdown
Contributor Author

@danielleadams yes, this should land after #43130, which in turn should land after #42623.

targos pushed a commit that referenced this pull request Jul 12, 2022
PR-URL: #43164
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
targos pushed a commit that referenced this pull request Jul 19, 2022
PR-URL: #43164
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
targos pushed a commit that referenced this pull request Jul 31, 2022
PR-URL: #43164
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
guangwong pushed a commit to noslate-project/node that referenced this pull request Oct 10, 2022
PR-URL: nodejs/node#43164
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no outstanding review comments, and a CI started. esm Issues and PRs related to the ECMAScript Modules implementation. lib / src Issues and PRs related to general changes in the lib or src directory. loaders Issues and PRs related to ES module loaders needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants


Back | FazBrowse Home | New Git URL