MDX

The compiler that lets you write JSX directly inside Markdown documents

Library
npm
v3.1.1
19,805 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
73 /100 Good
Development Activity 64
Maintenance 60
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
84 /100 Excellent
Architecture 88
Code Quality 92
Innovation 85
Learning Curve 70

@mdx-js/mdx is the core compiler behind MDX, an authorable file format that blends Markdown’s readability with the full expressive power of JSX components. It parses markdown into an AST with remark, transforms it into HTML-like hast with rehype, and finally emits a JavaScript/JSX program via recma, letting authors import and render live React (or Preact/Vue) components inline with their prose.

The package exposes a small, composable API — compile, evaluate, and run — so it can be dropped into build-time pipelines (bundler loaders, static-site generators) or used to evaluate MDX strings at runtime. It underpins the broader @mdx-js ecosystem, including webpack/Rollup/esbuild integrations and framework bindings, and is the engine that projects like Next.js, Docusaurus, and Astro’s own MDX integration build on top of.

What You Get

  • A compile/compileSync API that turns an MDX string or file into a JavaScript module exporting a React (or other JSX-runtime) component
  • An evaluate/evaluateSync API for compiling and directly executing MDX at runtime without a separate build step
  • Full support for standard Markdown syntax (CommonMark plus GFM extensions via plugins) interleaved with arbitrary JSX, import/export statements, and JS expressions in curly braces
  • A pluggable unified/remark/rehype plugin pipeline (remarkPlugins, rehypePlugins, recmaPlugins options) for extending or customizing the compile process
  • Source-map generation and development-mode diagnostics for accurate error locations in authored MDX files
  • The foundation package that @mdx-js/loader, @mdx-js/rollup, @mdx-js/esbuild, @mdx-js/react, @mdx-js/preact, and @mdx-js/vue all build on

Common Use Cases

  • Documentation sites that need live, interactive code examples embedded directly in Markdown content (Docusaurus, Next.js docs, Astro content collections)
  • Blog and content platforms where authors write in Markdown but occasionally need custom React components (charts, callouts, embeds) inline
  • Design-system and component-library docs where the same component being documented is rendered live next to its usage example
  • Static-site generators and content pipelines that compile authored content to pre-rendered pages at build time

Under The Hood

Architecture: The compiler is a linear unified pipeline defined in packages/mdx/lib/core.js’s createProcessor: markdown source is parsed by remark-parse into an mdast tree, remark-mdx extends that parser to understand JSX/expression/ESM syntax, a custom remark-mark-and-unravel plugin normalizes how JSX nodes nest inside paragraphs, remark-rehype converts to hast, rehype-recma bridges hast to an estree JS AST, and finally recma-document/recma-jsx-rewrite/recma-build-jsx/recma-stringify assemble that AST into a printable JS program that exports a component function. lib/compile.js, lib/evaluate.js, and lib/run.js are thin wrappers around this shared core for the three usage modes (compile-to-source, compile-and-eval, and eval-a-precompiled-body).

Tech Stack: Pure ESM JavaScript ("type": "module") with TypeScript types authored via JSDoc and emitted through tsc --emitDeclarationOnly (see tsconfig.json, checkJs: true, strict: true). Dependencies are almost entirely other unified-ecosystem packages it owns or coordinates with (unified, remark-parse, remark-rehype, remark-mdx, rehype-recma, recma-*, hast-util-to-jsx-runtime, vfile), plus acorn/estree-walker/estree-util-* for JS AST manipulation and source-map for source-map output. No runtime dependency on React itself — JSX runtime import source is configurable (jsxImportSource), which is how the sibling @mdx-js/preact and @mdx-js/vue packages reuse this same compiler.

Code Quality: The package enforces c8 --100 test coverage (npm run test-coverage fails under anything less than 100%), backed by roughly 3,000 lines of tests across test/compile.js, test/evaluate.js, test/core.js, and test/syntax.js, exercised with Node’s built-in test runner and assert. Source files carry extensive JSDoc @typedef/@property blocks that double as the type surface (no hand-written .d.ts), and the xo-based lint config keeps style consistent across the monorepo’s 196 contributors.

API Design: The public surface is deliberately tiny — five exports (compile, compileSync, evaluate, evaluateSync, run, runSync, createProcessor) covering build-time and runtime use without requiring consumers to understand the internal remark/rehype/recma pipeline. Sensible defaults (format: 'mdx', jsxRuntime: 'automatic', outputFormat: 'program') mean a working setup is a one-line compile(mdxString) call, while remarkPlugins/rehypePlugins/recmaPlugins options give power users direct access to the underlying unified pipeline for advanced customization.

Used by 91 apps in this directory

Go
60%
MIT

Obot

AI Agents · Mcp

1,071

An open-source MCP platform for organizations — host MCP servers, run MCP registries, monitor usage, and build agents and chatbots on top of the Model Context Protocol from one self-hosted deployment.

View details
87
Repo Health
70
Technical
70
Dependency
Built with
Go 60%
Svelte 26%
TypeScript 13%
Updated 1 weeks ago
TypeScript
97%
GPL 3.0

OpenKnowledge

Code Editors · Knowledge Management · Note Taking

4,337

A beautiful, local-first markdown IDE that turns any git repo into a live collaborative workspace for humans and AI coding agents like Claude, Codex, and OpenCode.

View details
79
Repo Health
89
Technical
64
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
TypeScript
91%
MIT

OpenClaw

AI Agents · AI Assistants

390,670

An open-source AI assistant that runs on your own hardware and meets you in Discord, Slack, WhatsApp, iMessage, Telegram, and 20+ other channels, with native apps for every major platform.

View details
88
Repo Health
88
Technical
68
Dependency
Built with
TypeScript 91%
Updated 1 weeks ago
HTML
36%

OpenPanel

Devops · Hosting Control Panel

749

Docker-powered web hosting control panel that gives every user a fully isolated environment with dedicated web server, database, and networking — VPS-grade security on shared hardware.

View details
84
Repo Health
75
Technical
63
Dependency
Built with
HTML 36%
Go 32%
TypeScript 23%
Updated 1 weeks ago
Vue
41%
AGPL 3.0

Operational

Analytics · Automation · Monitoring

475

Open-source event tracker with real-time push notifications and action buttons for tech founders.

View details
52
Repo Health
68
Technical
68
Dependency
Built with
Vue 41%
JavaScript 38%
MDX 13%
Updated 2 months ago
Vue
41%
AGPL 3.0

Operational

Analytics · Automation · Monitoring

475

Open-source event tracker with real-time push notifications and action buttons for tech founders.

View details
52
Repo Health
68
Technical
68
Dependency
Built with
Vue 41%
JavaScript 38%
MDX 13%
Updated 2 months ago
TypeScript
98%
Other

Orama

Developer Tools · Search

10,565

A complete, embeddable search engine and RAG pipeline running in browsers, servers, and edge networks with full-text, vector, and hybrid search in under 2KB.

View details
68
Repo Health
83
Technical
64
Dependency
Built with
TypeScript 98%
Updated 4 weeks ago
Dart
61%
GPL 3.0

Owlistic

Note Taking · Productivity

433

Self-hosted, open-source real-time note-taking and task management with WYSIWYG editing, live sync, and role-based access control.

View details
45
Repo Health
74
Technical
70
Dependency
Built with
Dart 61%
Go 39%
Updated 2 weeks ago
Go
93%
MIT

Plandex

AI Code Assistants

15,667

An open-source, terminal-based AI coding agent built for large tasks and real codebases — with its own version control for plans, a 2M-token effective context window, and self-hosted or cloud deployment.

View details
49
Repo Health
70
Technical
67
Dependency
Built with
Go 93%
Updated 1 years ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers