When loading component descriptors, take account of file mappings. #5781
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.
Problem:
If you annotate a component with the full module path as module name (e.g. /app/components/hydrogen/new/Layout), then if it is imported using the short path (e.g. @h2/new/Layout), the component will not be recognized and connected to the annotation.
Fix:
The logic for looking up the component descriptors didn't take account of the mappings found in
jsconfig.json
, now it applies the mappings and then does a lookup of the filename.Commit Details:
importedFromWhere
now invokesapplyFilePathMappingsToFilePath
for the path that it returns so that it applies the path mapping rules to the results gained.getFilePathMappings
in a few places to support a call togetComponentDescriptorForTarget
.Manual Tests:
I hereby swear that:
Fixes #5734