summaryrefslogtreecommitdiff
path: root/packages/integrations/mdx/src
diff options
context:
space:
mode:
authorGravatar Fred K. Schott <fkschott@gmail.com> 2022-07-26 00:26:47 -0400
committerGravatar GitHub <noreply@github.com> 2022-07-26 00:26:47 -0400
commit9ab66c4ba9bf2250990114c76b792f26d0694365 (patch)
tree6f7462fbdc03c7433c18fd943a6df3d8120ea2be /packages/integrations/mdx/src
parent2a13e430b1d66dd89a2326c16a6c2877e83c2da4 (diff)
downloadastro-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.ts7
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)};`;