chore(i18n, api): generate component API partials as .mdx - #4685
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
ShaneK
approved these changes
Aug 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Issue URL: internal
What is the current behavior?
The component API tables are generated at build time into
.docusaurus, and this branch's copy of the plugin writes them with.mdnames. Onlycustom-propsis already.mdx.That is the state main was in before it moved these partials to
.mdx. Because this branch is a full fork of the repository rather than a prose only branch, its preview build resolves imports against this copy of the plugin, not against main's, so the change has to be made here too.Nothing on this branch can move to the
.mdxnames until it is: an import written as.mdxwould point at a file the plugin never writes.What is the new behavior?
The plugin now writes all six partials as
.mdx, and continues to write five of them as.mdalongside. It also gains aresolve.extensionAliasentry mapping.mdto.mdxand then.md.Nothing changes today. This branch's 465
docsimports and the 94 inversioned_docs/version-v8all still use the.mdnames and all still resolve. The point is that the.mdxnames now exist, so the pages can be moved over in a follow-up rather than in one commit alongside a plugin change.Both transitional pieces carry a
TODO(FW-6456)note and come out once every page on this branch imports the.mdxnames.This is the same change main made in #4640, applied to this branch's copy. Only the generated output and the resolver entry are ported. The
node-fetchimport that main has since dropped is left alone, since that is a separate change.Does this introduce a breaking change?
Other information
This does not depend on anything landing on main first, and nothing on main depends on it. It only affects how this branch's own preview build resolves the generated partials, so it can merge at any point.
The follow-up PR is what actually moves this branch's pages: 266 renames, 381 internal links, and the 470 imports. That one needs this to be in place first.
Verified locally with a full build of this branch: 2326 pages, 0 errors, no unresolved modules. The plugin writes 1728
.mdxpartials and 1440.mdpartials, which is six and five per component respectively, the difference being thatcustom-propswas already.mdxand needs no duplicate.How to test
Open any component API page, for example Button, and confirm the Properties, Events, Methods, Parts, Custom Properties, and Slots tables all render. Those tables are the generated partials, so an empty or missing section is what a failure looks like.
Check one v8 page too, for example Button, v8, since those pages import the
.mdnames and confirm the old names are still being written.