mdx-forge
v0.3.1
Published
Unified MDX runtime toolkit — compiler, browser module loader & framework component shims
Maintainers
Readme
mdx-forge
mdx-forge is a unified MDX runtime toolkit with three domain exports:
mdx-forge/compilerfor safe and trusted MDX compilationmdx-forge/browserfor browser-side module loading/evaluationmdx-forge/componentsfor framework shim components and CSS
Install
npm install mdx-forgePeer dependencies:
react >= 18forcomponentsunifiedand@mdx-js/mdxforcompiler
Quick Start
import { compileSafe } from 'mdx-forge/compiler';
const result = await compileSafe('# Hello', {
documentPath: '/example.mdx',
});
console.log(result.html);Subpath Exports
mdx-forge/compilermdx-forge/compiler/pluginsmdx-forge/browsermdx-forge/browser/registrymdx-forge/componentsmdx-forge/components/genericmdx-forge/components/docusaurusmdx-forge/components/starlightmdx-forge/components/nextramdx-forge/components/nextjsmdx-forge/components/registrymdx-forge/components/styles/*.css
Security Model
mdx-forge/browserevaluates code vianew Function().- Consumers must allow
unsafe-evalin CSP formdx-forge/browser. - Runtime style injection may require
style-src 'unsafe-inline'or a nonce-aware strategy. - The library does not validate trust boundaries for fetched code; host code must enforce trust.
compileSafeis a compilation mode, not a full sanitization layer.
Limitations
- Browser-domain runtime assumes a browser environment.
- Component domain requires matching CSS imports.
- Trusted mode compilation/execution is not suitable for untrusted code without additional controls.
License
MIT. See LICENSE.
