Strip ?search query off module names #43082
Closed
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.
This patch allows relative files in the module import syntax (
import something from './mod';
) to include a search query part and still resolve to the correct file on disk, as if they relative path was not a part but a URL. Full ESM import URL support is discussed in #41730 and full-support would be ideal! This patch implements only a mid-step towards the full solution, in the form of a special-case for those module names which contain the search query. I use this syntax, but it is otherwise extremely niche, in fact, it is possible no one but me would benefit from this. Still, I figured since I've already written the code, I might as well offer it for upstreaming. The scenario this patch enables that didn't work before is this:The imported module case use the search query value through
import.meta.url
. This works both in Node and browser runtimes.Backlog
milestone (required): I'm here to collect feedback, so no ticket in the backlog, but Add (relative) URL imports for modules #41730 is the most relevant ticket for this patchmaster
branchgulp runtests
locally (npm test
is the same thing, right?)Thanks for your feedback.