Back to Explore

mdx-js/mdx

GitHub
1 watchersOpen source

Last release:

MDX (mdx-js/mdx) is an authorable format that lets you write JSX inside Markdown documents, including imports of components and embedding interactive content within long-form writing. It includes packages for compiling MDX to JavaScript and integrating with bundlers and frameworks like React, Preact, and Vue.

Project status

  • Actively maintained: The upstream repo shows a recent push (2026-06-08), and the most recent tagged update listed is MDX 3.1.1 (2025-08-29), indicating ongoing development rather than abandonment.
  • Update cadence (apparent): Updates are not frequent but are periodic, with the last two listed updates spaced about 10 months apart (3.1.0 in 2024-10-18, then 3.1.1 in 2025-08-29). There is no listed tagged update after 3.1.1 up to today (2026-06-09), even though there was an upstream push yesterday.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 3.1.1

    MDX 3.1.1 is primarily a set of stability fixes and developer-experience improvements around the esbuild and rollup backends, plus a small types enhancement. The release also includes documentation and linting cleanup (including removing twitter references).

    Features
  • 3.1.0

    MDX 3.1.0 adds source map support for the esbuild and node-loader integrations and includes several fixes across the core, loader, and related tooling. The release notes also mention various doc and site updates, including search and twoslash-related UI additions.

    Features
  • 3.0.1

    MDX 3.0.1 primarily ships small fixes around JSX pragma generation for Babel and better handling of uncaught Webpack loader errors. The release notes also include some type-related adjustments (declaration maps, loader types) and a couple of documentation site fixes related to the playground and runtime type notes.

  • 3.0.0

    MDX 3.0.0 focuses on migration to a new module resolution approach (export maps), raising the minimum Node.js requirement to 16, and removing several legacy or deprecated runtime options and APIs. It also adds new MDX language capabilities such as ES2024 support, await support in MDX, and new output configuration options like baseUrl handling and table cell alignment mapping.

    BreakingFeatures
  • 2.3.0

    Release 2.3.0 focuses on better MDX support for non-React frameworks, plus several targeted fixes and TypeScript configuration tweaks. It also includes loader behavior changes to infer MDX development settings from webpack loader mode, and internal refactors to improve docs and test expectations.

    Features
  • 2.2.1

    Release 2.2.1 makes a targeted change related to Node 14 compatibility by removing the import from node:assert/strict. The only functional code change in the diff is the swap to node:assert, along with version metadata updates across the monorepo packages and the lockfile.

    Breaking
  • 2.2.0

    MDX 2.2.0 adds support for the automatic JSX development runtime, plumbing a new development path through the JSX compilation pipeline. It also includes a fix related to @mdx-js/node-loader patching behavior, plus several documentation updates (Solid JSX, Vite notes, and examples).

    Features
  • 2.1.5

    Release 2.1.5 is described as a bug fix for (injected) custom elements and layouts. The code diff mainly updates the JSX rewrite logic to better handle invalid JavaScript component identifiers during MDX compilation. It also includes small documentation and version-bump changes across the monorepo packages.

  • 2.1.4

    Release 2.1.4 is primarily focused on loader behavior, specifically improving how the webpack loader reports crash details and addressing Node loader support. Release notes only call out two patch items, while the code diff also shows additional changes in loader internals, test expectations that reflect output differences, and dependency/version updates.

  • 2.1.3

    Release 2.1.3 focuses on fixes to MDX JSX component rewriting, especially for custom elements, plus some internal implementation updates. It also updates the esbuild integration to include an `id` field on messages and refreshes type and stringify internals.