resolveComponentImports() — astro Function Reference
Architecture documentation for the resolveComponentImports() function in runtime.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 911f75ce_1225_3f21_357b_d9e684166543["resolveComponentImports()"] df14bb08_8e2c_26c3_53bb_884062fbbac0["runtime.ts"] 911f75ce_1225_3f21_357b_d9e684166543 -->|defined in| df14bb08_8e2c_26c3_53bb_884062fbbac0 27a526d2_9eb5_700e_cf7c_1003e4c65079["createContentComponent()"] 27a526d2_9eb5_700e_cf7c_1003e4c65079 -->|calls| 911f75ce_1225_3f21_357b_d9e684166543 d1e88f74_9bf9_af1f_5131_304ce05b84fb["transformRespectsRender()"] 911f75ce_1225_3f21_357b_d9e684166543 -->|calls| d1e88f74_9bf9_af1f_5131_304ce05b84fb style 911f75ce_1225_3f21_357b_d9e684166543 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/integrations/markdoc/src/runtime.ts lines 115–149
export function resolveComponentImports(
markdocConfig: Required<Pick<AstroMarkdocConfig, 'tags' | 'nodes'>>,
tagComponentMap: Record<string, AstroInstance['default']>,
nodeComponentMap: Record<NodeType, AstroInstance['default']>,
) {
for (const [tag, render] of Object.entries(tagComponentMap)) {
const config = markdocConfig.tags[tag];
if (config) {
config.render = render;
// When a custom `render` component is specified and the transform doesn't
// respect the render property, remove the transform so `render` wins.
// This allows users to spread built-in Markdoc node/tag configs
// (e.g., `...Markdoc.nodes.fence`) and override rendering with a custom component.
// See https://github.com/withastro/astro/issues/9708
if (config.transform && !transformRespectsRender(config.transform, tag)) {
delete config.transform;
}
}
}
for (const [node, render] of Object.entries(nodeComponentMap)) {
const config = markdocConfig.nodes[node as NodeType];
if (config) {
config.render = render;
// When a custom `render` component is specified and the transform doesn't
// respect the render property, remove the transform so `render` wins.
// This allows users to spread built-in Markdoc node/tag configs
// (e.g., `...Markdoc.nodes.fence`) and override rendering with a custom component.
// See https://github.com/withastro/astro/issues/9708
if (config.transform && !transformRespectsRender(config.transform, node)) {
delete config.transform;
}
}
}
return markdocConfig;
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does resolveComponentImports() do?
resolveComponentImports() is a function in the astro codebase, defined in packages/integrations/markdoc/src/runtime.ts.
Where is resolveComponentImports() defined?
resolveComponentImports() is defined in packages/integrations/markdoc/src/runtime.ts at line 115.
What does resolveComponentImports() call?
resolveComponentImports() calls 1 function(s): transformRespectsRender.
What calls resolveComponentImports()?
resolveComponentImports() is called by 1 function(s): createContentComponent.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free