feat(remix-dev/vite): support HMR for MDX #7954
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.
Closes: #7788
I went over some relevant discussions and other implementations regarding HMR-ing MDX:
and my conclusion is that HMR should just work as long as MDX files goes through "react-refresh/babel" transform.
Currently
remix-react-refresh-babel
alreadyenforce: "post"
and@mdx-js/rollup
has noenforce
, so simply tweaking regex filter to allow.mdx
seems to be enough.However, as it's already mentioned, mdx uses
export
for local variable and also forfrontmatter
plugin, so this unfortunately forces full-reload when mdx includes frontmatter, but I think this might be okay for starter.Please let me know if it's desired to improve more HMR feature for MDX (for example, maybe extend HMR
acceptExports
trick to coverfrontmatter
in some way? or improve "Could not Fast Refresh" message forfrontmatter
?).Thanks!
Testing Strategy: