summaryrefslogtreecommitdiff
path: root/packages/integrations/mdx/src/index.ts
diff options
context:
space:
mode:
authorGravatar Bjorn Lu <bjornlu.dev@gmail.com> 2023-08-02 16:29:54 +0800
committerGravatar Emanuele Stoppa <my.burning@gmail.com> 2023-08-08 11:02:51 +0100
commit32669cd47555e9c7433c3998a2b6e624dfb2d8e9 (patch)
tree6dd2e025bfd07a93d98eae5b7f3c34adbd880cd8 /packages/integrations/mdx/src/index.ts
parentc0de7a7b0f042cd49cbea4f4ac1b2ab6f9fef644 (diff)
downloadastro-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.ts5
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;`;
}