diff options
author | 2022-07-26 00:26:47 -0400 | |
---|---|---|
committer | 2022-07-26 00:26:47 -0400 | |
commit | 9ab66c4ba9bf2250990114c76b792f26d0694365 (patch) | |
tree | 6f7462fbdc03c7433c18fd943a6df3d8120ea2be /packages/integrations/mdx/src | |
parent | 2a13e430b1d66dd89a2326c16a6c2877e83c2da4 (diff) | |
download | astro-9ab66c4ba9bf2250990114c76b792f26d0694365.tar.gz astro-9ab66c4ba9bf2250990114c76b792f26d0694365.tar.zst astro-9ab66c4ba9bf2250990114c76b792f26d0694365.zip |
add support for injected page-ssr scripts (#4050)
Diffstat (limited to 'packages/integrations/mdx/src')
-rw-r--r-- | packages/integrations/mdx/src/index.ts | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/integrations/mdx/src/index.ts b/packages/integrations/mdx/src/index.ts index b33b09886..da10281a7 100644 --- a/packages/integrations/mdx/src/index.ts +++ b/packages/integrations/mdx/src/index.ts @@ -89,6 +89,13 @@ export default function mdx(mdxOptions: MdxOptions = {}): AstroIntegration { if (!id.endsWith('.mdx')) return; const [, moduleExports] = parseESM(code); + // This adds support for injected "page-ssr" scripts in MDX files. + // TODO: This should only be happening on page entrypoints, not all imported MDX. + // TODO: This code is copy-pasted across all Astro/Vite plugins that deal with page + // entrypoints (.astro, .md, .mdx). This should be handled in some centralized place, + // or otherwise refactored to not require copy-paste handling logic. + code += `\nimport "${'astro:scripts/page-ssr.js'}";`; + if (!moduleExports.includes('url')) { const { fileUrl } = getFileInfo(id, config); code += `\nexport const url = ${JSON.stringify(fileUrl)};`; |