Don't treat JSXIdentifier in JSXMemberExpression as HTML tag. Closes #4027 #4765
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.
Note that tests will fail for this PR, because it also depends on the work in #4763 to build a valid AST.
This commit last year made the
ReferencedIdentifier
virtual type not recognize aJSXIdentifier
when it doesn't pass thereact.isCompatTag
check (which includes verifying the tag does not start with a lowercase letter). This matched the new JSX behavior that Sebastian Markbåge documented, wherein any lowercaseJSXIdentifier
is treated as an HTML tag.The problem is that this doesn't take into account the scenario where you have an identifier
foo
in scope, and your JSX tag is<foo.Bar />
. This PR addresses that case.