Only traverse children and handle mdxJsxTextElement when optimizing #10885
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.
Changes
rehype-optimize-static.ts
wasn't working as intended in some cases. For example, if you have:Previously it compiles to:
But what it should be is
This PR fixes it by adding
if (key != null && key !== 'children') return SKIP
because we accidentally visitedfoo="bar"
(part ofnode.attributes
), which de-optimizes the flow. Thekey
check helps avoid theattributes
key.I also made a second change to add
mdxJsxTextElement
as a proper MDX node. It is kinda synonymous tomdxJsxFlowElement
, but I forgot to add both of them.Testing
Sorry, I don't have tests for
rehype-optimize-static
😅 This is all manually tested in the astro docs repo.Docs
n/a. internal change. Added a changeset