summaryrefslogtreecommitdiff
path: root/packages/integrations/markdoc/components/TreeNode.ts
diff options
context:
space:
mode:
authorGravatar Ben Holmes <hey@bholmes.dev> 2023-06-06 13:40:04 -0400
committerGravatar GitHub <noreply@github.com> 2023-06-06 13:40:04 -0400
commit2a4bb23b2f7f82b3fabdad4d64101fcc778acaa4 (patch)
tree7a013dd3d6df600eebe01a07d730dc8a55a1611e /packages/integrations/markdoc/components/TreeNode.ts
parentf63d1d0c4d54bc643b41156f7f2a9b680ecc8904 (diff)
downloadastro-2a4bb23b2f7f82b3fabdad4d64101fcc778acaa4.tar.gz
astro-2a4bb23b2f7f82b3fabdad4d64101fcc778acaa4.tar.zst
astro-2a4bb23b2f7f82b3fabdad4d64101fcc778acaa4.zip
Fix missing styles and scripts on `document: {render:null}` (#7309)
* fix: propagate assets when using document `render: null` * fix: reverse spread order * refactor: use README rec in test * chore: changeset * chore: revert unneeded changes
Diffstat (limited to 'packages/integrations/markdoc/components/TreeNode.ts')
-rw-r--r--packages/integrations/markdoc/components/TreeNode.ts14
1 files changed, 3 insertions, 11 deletions
diff --git a/packages/integrations/markdoc/components/TreeNode.ts b/packages/integrations/markdoc/components/TreeNode.ts
index 8ad778063..082495a87 100644
--- a/packages/integrations/markdoc/components/TreeNode.ts
+++ b/packages/integrations/markdoc/components/TreeNode.ts
@@ -1,5 +1,4 @@
import type { AstroInstance } from 'astro';
-import { Fragment } from 'astro/jsx-runtime';
import type { RenderableTreeNode } from '@markdoc/markdoc';
import Markdoc from '@markdoc/markdoc';
import {
@@ -106,18 +105,11 @@ export const ComponentNode = createComponent({
propagation: 'self',
});
-export async function createTreeNode(node: RenderableTreeNode | RenderableTreeNode[]): TreeNode {
+export async function createTreeNode(node: RenderableTreeNode): Promise<TreeNode> {
if (isHTMLString(node)) {
return { type: 'text', content: node as HTMLString };
} else if (typeof node === 'string' || typeof node === 'number') {
return { type: 'text', content: String(node) };
- } else if (Array.isArray(node)) {
- return {
- type: 'component',
- component: Fragment,
- props: {},
- children: await Promise.all(node.map((child) => createTreeNode(child))),
- };
} else if (node === null || typeof node !== 'object' || !Markdoc.Tag.isTag(node)) {
return { type: 'text', content: '' };
}
@@ -136,7 +128,7 @@ export async function createTreeNode(node: RenderableTreeNode | RenderableTreeNo
};
} else if (isPropagatedAssetsModule(node.name)) {
const { collectedStyles, collectedLinks, collectedScripts } = node.name;
- const component = (await node.name.getMod())?.default ?? Fragment;
+ const component = (await node.name.getMod()).default;
const props = node.attributes;
return {
@@ -160,7 +152,7 @@ export async function createTreeNode(node: RenderableTreeNode | RenderableTreeNo
type PropagatedAssetsModule = {
__astroPropagation: true;
- getMod: () => Promise<AstroInstance['default']>;
+ getMod: () => Promise<AstroInstance>;
collectedStyles: string[];
collectedLinks: string[];
collectedScripts: string[];