diff options
author | 2023-08-02 16:29:54 +0800 | |
---|---|---|
committer | 2023-08-08 11:02:51 +0100 | |
commit | 32669cd47555e9c7433c3998a2b6e624dfb2d8e9 (patch) | |
tree | 6dd2e025bfd07a93d98eae5b7f3c34adbd880cd8 /packages/integrations/mdx/src/index.ts | |
parent | c0de7a7b0f042cd49cbea4f4ac1b2ab6f9fef644 (diff) | |
download | astro-32669cd47555e9c7433c3998a2b6e624dfb2d8e9.tar.gz astro-32669cd47555e9c7433c3998a2b6e624dfb2d8e9.tar.zst astro-32669cd47555e9c7433c3998a2b6e624dfb2d8e9.zip |
Refactor MDX components exports handling (#7904)
Diffstat (limited to '')
-rw-r--r-- | packages/integrations/mdx/src/index.ts | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/packages/integrations/mdx/src/index.ts b/packages/integrations/mdx/src/index.ts index 4d64a84d7..ecf2a9a95 100644 --- a/packages/integrations/mdx/src/index.ts +++ b/packages/integrations/mdx/src/index.ts @@ -171,11 +171,14 @@ export default function mdx(partialMdxOptions: Partial<MdxOptions> = {}): AstroI code += `\nexport const file = ${JSON.stringify(fileId)};`; } if (!moduleExports.find(({ n }) => n === 'Content')) { + // If have `export const components`, pass that as props to `Content` as fallback + const hasComponents = moduleExports.find(({ n }) => n === 'components'); + // Make `Content` the default export so we can wrap `MDXContent` and pass in `Fragment` code = code.replace('export default MDXContent;', ''); code += `\nexport const Content = (props = {}) => MDXContent({ ...props, - components: { Fragment, ...props.components }, + components: { Fragment${hasComponents ? ', ...components' : ''}, ...props.components }, }); export default Content;`; } |