renderJSX() — astro Function Reference
Architecture documentation for the renderJSX() function in jsx.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD f8b74354_3072_bf56_a8c7_17096550d5c3["renderJSX()"] f6e39b43_58a2_4ca6_30bf_a01e3e031e49["jsx.ts"] f8b74354_3072_bf56_a8c7_17096550d5c3 -->|defined in| f6e39b43_58a2_4ca6_30bf_a01e3e031e49 a27b3bdd_5259_4e6f_425c_e15df53ed960["renderJSXVNode()"] a27b3bdd_5259_4e6f_425c_e15df53ed960 -->|calls| f8b74354_3072_bf56_a8c7_17096550d5c3 f285e264_99e9_5260_2d17_5969017d03f8["renderElement()"] f285e264_99e9_5260_2d17_5969017d03f8 -->|calls| f8b74354_3072_bf56_a8c7_17096550d5c3 a27b3bdd_5259_4e6f_425c_e15df53ed960["renderJSXVNode()"] f8b74354_3072_bf56_a8c7_17096550d5c3 -->|calls| a27b3bdd_5259_4e6f_425c_e15df53ed960 style f8b74354_3072_bf56_a8c7_17096550d5c3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/runtime/server/jsx.ts lines 26–61
export async function renderJSX(result: SSRResult, vnode: any): Promise<any> {
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
switch (true) {
case vnode instanceof HTMLString:
if (vnode.toString().trim() === '') {
return '';
}
return vnode;
case typeof vnode === 'string':
return markHTMLString(escapeHTML(vnode));
case typeof vnode === 'function':
return vnode;
case !vnode && vnode !== 0:
return '';
case Array.isArray(vnode): {
const renderedItems = await Promise.all(vnode.map((v: any) => renderJSX(result, v)));
// Collect instructions from SlotString items to preserve hydration scripts
let instructions: RenderInstruction[] | null = null;
let content = '';
for (const item of renderedItems) {
if (item instanceof SlotString) {
content += item;
instructions = mergeSlotInstructions(instructions, item);
} else {
content += item;
}
}
if (instructions) {
return markHTMLString(new SlotString(content, instructions));
}
return markHTMLString(content);
}
}
return renderJSXVNode(result, vnode);
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does renderJSX() do?
renderJSX() is a function in the astro codebase, defined in packages/astro/src/runtime/server/jsx.ts.
Where is renderJSX() defined?
renderJSX() is defined in packages/astro/src/runtime/server/jsx.ts at line 26.
What does renderJSX() call?
renderJSX() calls 1 function(s): renderJSXVNode.
What calls renderJSX()?
renderJSX() is called by 2 function(s): renderElement, renderJSXVNode.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free