diff options
Diffstat (limited to 'packages/markdown/remark/src')
-rw-r--r-- | packages/markdown/remark/src/remark-mdxish.ts | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/packages/markdown/remark/src/remark-mdxish.ts b/packages/markdown/remark/src/remark-mdxish.ts index 50bf5f103..0f70f87b3 100644 --- a/packages/markdown/remark/src/remark-mdxish.ts +++ b/packages/markdown/remark/src/remark-mdxish.ts @@ -3,12 +3,17 @@ import type { Tag } from 'mdast-util-mdx-jsx'; import { mdxFromMarkdown, mdxToMarkdown } from './mdast-util-mdxish.js'; import { mdxjs } from './mdxjs.js'; -export default function remarkMdxish(this: any, options = {}) { +// Prepare markdown extensions once to prevent performance issues +const extMdxJs = mdxjs({}); +const extMdxFromMarkdown = makeFromMarkdownLessStrict(mdxFromMarkdown()); +const extMdxToMarkdown = mdxToMarkdown(); + +export default function remarkMdxish(this: any) { const data = this.data(); - add('micromarkExtensions', mdxjs(options)); - add('fromMarkdownExtensions', makeFromMarkdownLessStrict(mdxFromMarkdown())); - add('toMarkdownExtensions', mdxToMarkdown()); + add('micromarkExtensions', extMdxJs); + add('fromMarkdownExtensions', extMdxFromMarkdown); + add('toMarkdownExtensions', extMdxToMarkdown); function add(field: string, value: unknown) { const list = data[field] ? data[field] : (data[field] = []); |