Source: https://seerepo.com/r/mdx-js/mdx/built
Markdown source: https://seerepo.com/r/mdx-js/mdx/built.md
Description: mdx is a JavaScript repo built with React, Preact, preact-render-to-string, Vite, Vue, and 1 more.

# What is mdx built with?

mdx is a JavaScript repo built with React, Preact, preact-render-to-string, Vite, Vue, and 1 more. It makes its content with hastscript, hast-util-sanitize, hast-util-select, rehype-stringify, unified, and 27 more, is tested with Puppeteer, and deploys with @sparticuz/chromium. It has 12,274 written lines, with 18 test files.

Read on November 5, 2026, at commit 52285a6.

Repository: https://github.com/mdx-js/mdx

## Frontend (/)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

### Interface

- **[@floating-ui/dom](https://seerepo.com/uses/floating-ui-dom)**: 1 file
- **[react-error-boundary](https://seerepo.com/uses/react-error-boundary)**: 1 file

## Support (/)

### Content

- **hastscript**: 4 files
- **hast-util-sanitize**: 2 files
- **hast-util-select**: 2 files
- **[rehype-stringify](https://seerepo.com/uses/rehype-stringify)**: 2 files
- **[unified](https://seerepo.com/uses/unified)**: 2 files
- **vfile**: 2 files
- **xast-util-to-xml**: 2 files
- **hast-util-from-html**: 1 file
- **hast-util-to-html**: 1 file
- **hast-util-to-jsx-runtime**: 1 file
- **hast-util-to-text**: 1 file
- **rehype-autolink-headings**: 1 file
- **rehype-infer-description-meta**: 1 file
- **rehype-parse**: 1 file
- **[rehype-raw](https://seerepo.com/uses/rehype-raw)**: 1 file
- **rehype-slug**: 1 file
- **remark-directive**: 1 file
- **remark-frontmatter**: 1 file
- **remark-gemoji**: 1 file
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 1 file
- **remark-github**: 1 file
- **[remark-math](https://seerepo.com/uses/remark-math)**: 1 file
- **remark-mdx-frontmatter**: 1 file
- **remark-toc**: 1 file
- **unist-util-remove-position**: 1 file
- **[unist-util-visit](https://seerepo.com/uses/unist-util-visit)**: 1 file

### Testing

- **Puppeteer**: 1 file

### Deploy

- **@sparticuz/chromium**: 1 file

### Tools

- **globby**: 3 files
- **devlop**: 1 file
- **esbuild**: 1 file
- **estree-util-value-to-estree**: 1 file
- **TypeScript**: 1 file

### Other

- **p-all**: 3 files
- **@ungap/structured-clone**: 1 file
- **copy-to-clipboard**: 1 file

## Frontend (packages/esbuild)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

## Support (packages/esbuild)

### Content

- **vfile**: 1 file

### Tools

- **esbuild**: 1 file
- **source-map**: 1 file

## Frontend (packages/loader)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

## Support (packages/loader)

### Tools

- **source-map**: 1 file
- **Webpack**: 1 file

## Frontend (packages/mdx)

### The base

- **[React](https://seerepo.com/uses/react)**: 4 files

## Support (packages/mdx)

### Content

- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 2 files
- **[unist-util-visit](https://seerepo.com/uses/unist-util-visit)**: 2 files
- **hastscript**: 1 file
- **[rehype-katex](https://seerepo.com/uses/rehype-katex)**: 1 file
- **[rehype-raw](https://seerepo.com/uses/rehype-raw)**: 1 file
- **[remark](https://seerepo.com/uses/remark)**: 1 file
- **remark-directive**: 1 file
- **remark-frontmatter**: 1 file
- **[remark-math](https://seerepo.com/uses/remark-math)**: 1 file
- **[remark-parse](https://seerepo.com/uses/remark-parse)**: 1 file
- **[unified](https://seerepo.com/uses/unified)**: 1 file
- **vfile**: 1 file

### Tools

- **devlop**: 6 files
- **estree-walker**: 3 files
- **source-map**: 1 file

### Other

- **collapse-white-space**: 1 file

## Frontend (packages/node-loader)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

## Support (packages/node-loader)

### Content

- **vfile**: 1 file

### Tools

- **source-map**: 1 file

## Support (packages/preact)

### The base

- **[Preact](https://seerepo.com/uses/preact)**: 1 file
- **preact-render-to-string**: 1 file

## Frontend (packages/react)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file

## Support (packages/remark-mdx)

### Content

- **mdast-util-mdx**: 1 file
- **micromark-extension-mdxjs**: 1 file
- **[remark-parse](https://seerepo.com/uses/remark-parse)**: 1 file
- **remark-stringify**: 1 file
- **[unified](https://seerepo.com/uses/unified)**: 1 file
- **unist-util-remove-position**: 1 file
- **[unist-util-visit](https://seerepo.com/uses/unist-util-visit)**: 1 file

## Frontend (packages/rollup)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file
- **[Vite](https://seerepo.com/uses/vite)**: 1 file

## Support (packages/rollup)

### Content

- **vfile**: 1 file

### Tools

- **rollup**: 1 file
- **source-map**: 1 file

## Frontend (packages/vue)

### The base

- **[Vue](https://seerepo.com/uses/vue)**: 1 file

## Support (packages/vue)

### The base

- **@vue/server-renderer**: 1 file

## Other repos with a similar stack

- [withastro/astro](https://seerepo.com/r/withastro/astro/built): React, Preact, preact-render-to-string, Vite, Vue, rehype-stringify, unified, vfile, hast-util-to-html, hast-util-to-text, rehype-raw, remark-gfm, remark-math, remark-toc, unist-util-visit, remark, remark-parse, mdast-util-mdx · [Compare](https://seerepo.com/compare/mdx-js/mdx/vs/withastro/astro)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): React, Vite, @floating-ui/dom, react-error-boundary, rehype-stringify, unified, rehype-parse, remark-gfm, remark-math, unist-util-visit, remark-parse, remark-stringify · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/mdx-js/mdx)
- [meta/docusaurus](https://seerepo.com/r/meta/docusaurus/built): React, rehype-stringify, unified, vfile, rehype-raw, remark-directive, remark-frontmatter, remark-gfm, unist-util-visit, remark, mdast-util-mdx · [Compare](https://seerepo.com/compare/mdx-js/mdx/vs/meta/docusaurus)
- [moeru-ai/airi](https://seerepo.com/r/moeru-ai/airi/built): Vite, Vue, rehype-stringify, unified, xast-util-to-xml, rehype-parse, remark-math, unist-util-visit, rehype-katex, remark, remark-parse · [Compare](https://seerepo.com/compare/mdx-js/mdx/vs/moeru-ai/airi)
- [supabase/supabase](https://seerepo.com/r/supabase/supabase/built): React, Vite, react-error-boundary, unified, vfile, remark-frontmatter, remark-gfm, unist-util-visit, remark, remark-parse · [Compare](https://seerepo.com/compare/mdx-js/mdx/vs/supabase/supabase)
- [gatsbyjs/gatsby](https://seerepo.com/r/gatsbyjs/gatsby/built): React, react-error-boundary, unified, vfile, unist-util-visit, remark-parse, mdast-util-mdx, remark-stringify · [Compare](https://seerepo.com/compare/gatsbyjs/gatsby/vs/mdx-js/mdx)

## Frequently asked questions

### What language is mdx written in?

mdx is written in JavaScript, with 12,274 written lines.

### What framework does mdx use?

mdx is built with React, Preact, preact-render-to-string, Vite, Vue, and @vue/server-renderer.

### Does mdx have tests?

Yes. mdx has 18 test files and is tested with Puppeteer.

### Which repos have a stack like mdx's?

The ones that share most of its stack: withastro/astro, CherryHQ/cherry-studio, and meta/docusaurus.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
