esbuild plugin for MDX
npm install @mdx-js/esbuild@mdx-js/esbuild[![Build][build-badge]][build]
[![Coverage][coverage-badge]][coverage]
[![Downloads][downloads-badge]][downloads]
[![Sponsors][sponsors-badge]][collective]
[![Backers][backers-badge]][collective]
[![Chat][chat-badge]][chat]
esbuild plugin for MDX.
* What is this?
* When should I use this?
* Install
* Use
* API
* mdx(options?)
* Options
* Types
* Compatibility
* Security
* Contribute
* License
This package is an esbuild plugin to support MDX.
This integration is useful if you’re using [esbuild][] (or another tool that
uses esbuild).
If you want to evaluate MDX code then the lower-level compiler (@mdx-js/mdx)
can be used.
to support nonstandard JSX runtime (such as Vue), @mdx-js/mdx can also be
used, or our webpack loader (@mdx-js/loader) or Rollup plugin
(@mdx-js/rollup).
This package is [ESM only][esm].
In Node.js (version 16+), install with [npm][]:
``sh`
npm install @mdx-js/esbuild
Do something like this with the esbuild API:
`tsx
import mdx from '@mdx-js/esbuild'
import esbuild from 'esbuild'
await esbuild.build({
// Replace index.js with your entry point that imports MDX files:`
entryPoints: ['index.js'],
format: 'esm',
outfile: 'output.js',
plugins: [mdx({/ jsxImportSource: …, otherOptions… /})]
})
This package exports no identifiers.
The default export is [mdx][api-mdx].
Create an esbuild plugin to compile MDX to JS.
esbuild takes care of turning modern JavaScript features into syntax that works
wherever you want it to.
With other integrations you might need to use Babel for this, but with
esbuild that’s not needed.
See esbuild’s docs for more info.
###### Parameters
* options ([Options][api-options], optional)
— configuration
###### Returns
ESBuild plugin ([Plugin][esbuild-plugin] from esbuild).
Configuration (TypeScript type).
Options are the same as [CompileOptions from @mdx-js/mdx][compile-options].
This package is fully typed with [TypeScript][].
It exports the additional type [Options][api-options].
See [§ Types][types] on our website for information.
Projects maintained by the unified collective are compatible with maintained
versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line, @mdx-js/esbuild@^3`,
compatible with Node.js 16.
See [§ Security][security] on our website for information.
See [§ Contribute][contribute] on our website for ways to get started.
See [§ Support][support] for ways to get help.
This project has a [code of conduct][coc].
By interacting with this repository, organization, or community you agree to
abide by its terms.
[MIT][] © [Titus Wormer][author]
[api-mdx]: #mdxoptions
[api-options]: #options
[author]: https://wooorm.com
[backers-badge]: https://opencollective.com/unified/backers/badge.svg
[build]: https://github.com/mdx-js/mdx/actions
[build-badge]: https://github.com/mdx-js/mdx/workflows/main/badge.svg
[chat]: https://github.com/mdx-js/mdx/discussions
[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg
[coc]: https://github.com/mdx-js/.github/blob/main/code-of-conduct.md
[collective]: https://opencollective.com/unified
[compile-options]: https://mdxjs.com/packages/mdx/#compileoptions
[contribute]: https://mdxjs.com/community/contribute/
[coverage]: https://codecov.io/github/mdx-js/mdx
[coverage-badge]: https://img.shields.io/codecov/c/github/mdx-js/mdx/main.svg
[downloads]: https://www.npmjs.com/package/@mdx-js/esbuild
[downloads-badge]: https://img.shields.io/npm/dm/@mdx-js/esbuild.svg
[esbuild]: https://esbuild.github.io
[esbuild-plugin]: https://esbuild.github.io/plugins/
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[mit]: https://github.com/mdx-js/mdx/blob/main/packages/esbuild/license
[npm]: https://docs.npmjs.com/cli/install
[security]: https://mdxjs.com/getting-started/#security
[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg
[support]: https://mdxjs.com/community/support/
[types]: https://mdxjs.com/getting-started/#types
[typescript]: https://www.typescriptlang.org