summaryrefslogtreecommitdiff
path: root/packages/markdown/remark/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/markdown/remark/src')
-rw-r--r--packages/markdown/remark/src/remark-mdxish.ts13
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] = []);