The @lexical/mdast package is an experimental alternative to @lexical/markdown. It is built on the micromark and mdast ecosystem, providing CommonMark and GFM (GitHub Flavored Markdown) compliance. Unlike the regex-based @lexical/markdown, @lexical/mdast uses a shared grammar for both document parsing and typing shortcuts, ensuring consistency.
Warning: Experimental API
@lexical/mdast is marked @experimental and may undergo breaking changes in any release. For production applications requiring a stable API, use @lexical/markdown instead.
import {
$convertFromMarkdownString,
$convertToMarkdownString,
MdastCommonMarkExtension,
MdastExtension,
MdastGfmExtension,
MdastShortcutsExtension,
} from '@lexical/mdast';
import {buildEditorFromExtensions} from '@lexical/extension';
import {defineExtension} from 'lexical';
const editor = buildEditorFromExtensions(
defineExtension({
dependencies: [
MdastCommonMarkExtension,
MdastGfmExtension,
MdastExtension,
MdastShortcutsExtension,
],
name: '[root]',
}),
);
editor.update(() => $convertFromMarkdownString('# Hello *world*'));
const markdown = editor.read(() => $convertToMarkdownString());