OptionalbaseModule?: EvaluationContextOptionalcomponents?: Record<string, unknown>Interpreted mode only: components merged OVER the surrounding MDXProvider map.
An app's SAFE component set is not always the same as the one it hands
boot({ mdxComponents }). Grove is the worked example: under the safe renderer it also
needs sanitizing wrappers for structural tags (main, section, …), and it must NOT
register those globally, because MDX consults the provider for intrinsics on the
COMPILED path too — so a global registration would silently strip style and other
non-allow-listed props from compiled authors who legitimately pass them. Ignored in
compiled mode, where components come from the provider as they always have.
OptionalErrorComponent?: (props: FallbackProps) => ReactNodeOptionalexportedSymbol?: stringOptionalLoadingComponent?: () => ElementOptionalmode?: IncludeModeOverride IncludeModeContext for this one include.
OptionalreadSource?: SourceReaderInterpreted mode only: read the raw bytes yourself — e.g. through a mount fs you already hold, or a cache you share with the rest of your app. The default reader handles both an app-source path and an absolute path in a mount, so this is for control, not for reach. Ignored in compiled mode.
Render another repo file's exported component inline, resolving + evaluating it through the module cache (with Suspense + an error boundary).
Under
mode="interpreted"(or inside an IncludeModeContext set to it) the file is instead rendered as data through the safe renderer — no author JavaScript executes, and the file need not be an evaluable module at all.