From bce26b0d6a93a8875f486580aa790fd195435fb8 Mon Sep 17 00:00:00 2001 From: Dave Schoorl <1429321+dschoorl@users.noreply.github.com> Date: Fri, 6 Feb 2026 09:45:08 +0100 Subject: [PATCH 1/2] MarkdownPlugin: serialize \n within a text child of a paragraph as line break See https://github.com/udecode/plate/discussions/4834 for background --- .changeset/neat-ravens-lick.md | 5 +++ .../markdown/src/lib/rules/defaultRules.ts | 44 +++++++++++++++---- .../src/lib/serializer/serializeMd.spec.tsx | 18 ++++++++ 3 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 .changeset/neat-ravens-lick.md diff --git a/.changeset/neat-ravens-lick.md b/.changeset/neat-ravens-lick.md new file mode 100644 index 0000000000..fa37555774 --- /dev/null +++ b/.changeset/neat-ravens-lick.md @@ -0,0 +1,5 @@ +--- +"@platejs/markdown": patch +--- + +Serialize new lines (\n) within a paragraph's text node diff --git a/packages/markdown/src/lib/rules/defaultRules.ts b/packages/markdown/src/lib/rules/defaultRules.ts index caa5500fca..14fe09dc2c 100644 --- a/packages/markdown/src/lib/rules/defaultRules.ts +++ b/packages/markdown/src/lib/rules/defaultRules.ts @@ -4,6 +4,7 @@ import { type TListElement, type TMentionElement, type TText, + type Descendant, getPluginKey, getPluginType, KEYS, @@ -744,20 +745,47 @@ export const defaultRules: MdRules = { return elements.length === 1 ? elements[0] : elements; }, serialize: (node, options) => { - let enrichedChildren = node.children; - - enrichedChildren = enrichedChildren.map((child) => { + // a child may be split in multiple parts, therefore use flatMap + const enrichedChildren = node.children.flatMap((child) => { if (child.text === '\n') { - return { - type: 'break', - } as any; + return [ + { + type: 'break', + } as Descendant, + ]; } if (child.text === '' && options.preserveEmptyParagraphs !== false) { - return { ...child, text: '\u200B' }; + return [{ ...child, text: '\u200B' }]; + } + + //support linebreaks within a single text node + if ( + child.text && + typeof child.text === 'string' && + child.text.includes('\n') + ) { + const enrichedParts: Descendant[] = []; + const childParts = child.text.split('\n'); + childParts.forEach((part, index) => { + if (part.length === 0) { + enrichedParts.push({ + type: 'break', + } as Descendant); + } else { + enrichedParts.push({ ...child, text: part }); + // do not add line break after the last text that ends this child node (read: paragraph) + if (childParts.length !== index + 1) { + enrichedParts.push({ + type: 'break', + } as Descendant); + } + } + }); + return enrichedParts; } - return child; + return [child]; }); const convertedNodes = convertNodesSerialize( diff --git a/packages/markdown/src/lib/serializer/serializeMd.spec.tsx b/packages/markdown/src/lib/serializer/serializeMd.spec.tsx index 0f53f664d8..6f7008555e 100644 --- a/packages/markdown/src/lib/serializer/serializeMd.spec.tsx +++ b/packages/markdown/src/lib/serializer/serializeMd.spec.tsx @@ -254,6 +254,24 @@ describe('serializeMd', () => { expect(serializeMd(editor as any, { value: slateNodes })).toMatchSnapshot(); }); + it('should serialize new lines WITHIN a single text node to line breaks in Markdown', () => { + const slateNodes = [ + { + children: [ + { + text: 'Text followed by two empty lines\n\n\nFollowed by more text.', + }, + ], + type: 'p', + }, + ]; + + const result = serializeMd(editor as any, { value: slateNodes }); + expect(result).toEqual( + `Text followed by two empty lines\\\n\\\n\\\nFollowed by more text.\n` + ); + }); + it('should serialize lists with spread option correctly', () => { const listFragment = [ { From 7329313b70546231285377ae113a3b66a6f64769 Mon Sep 17 00:00:00 2001 From: Dave Schoorl <1429321+dschoorl@users.noreply.github.com> Date: Fri, 6 Feb 2026 21:11:18 +0100 Subject: [PATCH 2/2] Update yarn.lock file related to @platejs/code-drawing@workspace:packages/code-drawing: This fixes the message when running 'yarn test': Internal Error: @platejs/code-drawing@workspace:packages/code-drawing: This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile --- yarn.lock | 378 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 377 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 9a3c4d04be..1a4ce3a47c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -501,6 +501,13 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.18.6": + version: 7.28.6 + resolution: "@babel/runtime@npm:7.28.6" + checksum: 10c0/358cf2429992ac1c466df1a21c1601d595c46930a13c1d4662fde908d44ee78ec3c183aaff513ecb01ef8c55c3624afe0309eeeb34715672dbfadb7feedb2c0d + languageName: node + linkType: hard + "@babel/template@npm:^7.27.2": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" @@ -970,6 +977,114 @@ __metadata: languageName: node linkType: hard +"@codemirror/autocomplete@npm:^6.0.0": + version: 6.20.0 + resolution: "@codemirror/autocomplete@npm:6.20.0" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + checksum: 10c0/d0d1cf3eca6269811eb66edcf742ffa0a5423d7d115ab82b0d62a24d6cfcfb2a4c3779333b2cb68e3004af46556ac6203049f581d35785c46ffd1b852f6e8076 + languageName: node + linkType: hard + +"@codemirror/commands@npm:^6.0.0, @codemirror/commands@npm:^6.1.0": + version: 6.10.2 + resolution: "@codemirror/commands@npm:6.10.2" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.4.0" + "@codemirror/view": "npm:^6.27.0" + "@lezer/common": "npm:^1.1.0" + checksum: 10c0/b7b99083f518f022f2a27095f240c2caae1d456852b58a7e33d35061418f18aeb5cc2ff2f888bda19d4dca78d89809c7d25614924e158f40208e22deef854f07 + languageName: node + linkType: hard + +"@codemirror/lang-javascript@npm:6.2.4": + version: 6.2.4 + resolution: "@codemirror/lang-javascript@npm:6.2.4" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/language": "npm:^6.6.0" + "@codemirror/lint": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.17.0" + "@lezer/common": "npm:^1.0.0" + "@lezer/javascript": "npm:^1.0.0" + checksum: 10c0/af6faaa9566c57e233459d48e8afbdbf99b6d666695fa49b2d352cda15b6022edbe319e1b296f76526f48c313627bbcd2a340872e6627a17358edabc08e8e129 + languageName: node + linkType: hard + +"@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.6.0": + version: 6.12.1 + resolution: "@codemirror/language@npm:6.12.1" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.23.0" + "@lezer/common": "npm:^1.5.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + style-mod: "npm:^4.0.0" + checksum: 10c0/d37e526a839f571f767372c49e28649c4e79a539c73845a74117ee408ad31c29d60a32b5e1bad439637b1456d18154d672eb225e9b4482d3e00eca150461bc6a + languageName: node + linkType: hard + +"@codemirror/lint@npm:^6.0.0": + version: 6.9.3 + resolution: "@codemirror/lint@npm:6.9.3" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.35.0" + crelt: "npm:^1.0.5" + checksum: 10c0/729af1fc39ced59edb5ad73ef95a71df8e4a7ed7bccac53bac3e6232a4f018f5d8b2b1c320eb014f5ba07a1a0e53fbc094907679e017dc5f3b5707765b2c6541 + languageName: node + linkType: hard + +"@codemirror/search@npm:^6.0.0": + version: 6.6.0 + resolution: "@codemirror/search@npm:6.6.0" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.37.0" + crelt: "npm:^1.0.5" + checksum: 10c0/dacb6dbf94dbc4513b681ea2ea215b5771b478bc940c88e52976b7981dc135b3f17cfcb1e3e929579078f334b42e91bdfee89b9ec874638ddaf82f87cefa0de2 + languageName: node + linkType: hard + +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.1.1, @codemirror/state@npm:^6.4.0, @codemirror/state@npm:^6.5.0": + version: 6.5.4 + resolution: "@codemirror/state@npm:6.5.4" + dependencies: + "@marijn/find-cluster-break": "npm:^1.0.0" + checksum: 10c0/8f40e1a22b84752fc44637e586cb3d804f775c0cf9c8083a79eed5cb18fbdfb30b83c112d8b6d819046526d1f9e49bf1198bdca4c4c3427bdf2c657a96df7adf + languageName: node + linkType: hard + +"@codemirror/theme-one-dark@npm:6.1.3, @codemirror/theme-one-dark@npm:^6.0.0": + version: 6.1.3 + resolution: "@codemirror/theme-one-dark@npm:6.1.3" + dependencies: + "@codemirror/language": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + "@lezer/highlight": "npm:^1.0.0" + checksum: 10c0/de8483c69911bcd61a19679384de663ced9c8bed3c776f08581a8b724e9f456a17053b1cf6e9d1f2a475fa6bc42e905ec8ba1ee0a8b55213d18087d9d9150317 + languageName: node + linkType: hard + +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0, @codemirror/view@npm:^6.37.0": + version: 6.39.12 + resolution: "@codemirror/view@npm:6.39.12" + dependencies: + "@codemirror/state": "npm:^6.5.0" + crelt: "npm:^1.0.6" + style-mod: "npm:^4.1.0" + w3c-keyname: "npm:^2.2.4" + checksum: 10c0/b5584fbe3f642fb3c5b35a7e1e36be9432b2967b5a937d31f89d311e83b3f9190c2bbdacfedeb6c10b294b2d9d8c3c54d49eb23790e5ff9193b438e6d21f1a2b + languageName: node + linkType: hard + "@contentlayer2/cli@npm:0.4.3": version: 0.4.3 resolution: "@contentlayer2/cli@npm:0.4.3" @@ -2378,6 +2493,42 @@ __metadata: languageName: node linkType: hard +"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.3.0, @lezer/common@npm:^1.5.0": + version: 1.5.1 + resolution: "@lezer/common@npm:1.5.1" + checksum: 10c0/49baefdfc6f2244ad4f7d4a318149729fbecfd634fe1f7769883b5098ab9b35429140851e524c3a97614594004d8a3ad08fdd91221a63438be8c31ff2431fb54 + languageName: node + linkType: hard + +"@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3": + version: 1.2.3 + resolution: "@lezer/highlight@npm:1.2.3" + dependencies: + "@lezer/common": "npm:^1.3.0" + checksum: 10c0/3bcb4fce7a1a45b5973895d7cb2be47970a0098700f2a0970aef9878ffd37f540285a2d7388ec1f524726ec90cc5196b5701bbb9764b7e7300786d772b7d2ce2 + languageName: node + linkType: hard + +"@lezer/javascript@npm:^1.0.0": + version: 1.5.4 + resolution: "@lezer/javascript@npm:1.5.4" + dependencies: + "@lezer/common": "npm:^1.2.0" + "@lezer/highlight": "npm:^1.1.3" + "@lezer/lr": "npm:^1.3.0" + checksum: 10c0/77b97c546d3661223ce77af15192efad42585d01e46022222273cd0c1cb20df8063d266037ae67774f051a6cb72db49804b6a46b06b926ee541807ef01741f6a + languageName: node + linkType: hard + +"@lezer/lr@npm:^1.0.0, @lezer/lr@npm:^1.3.0": + version: 1.4.8 + resolution: "@lezer/lr@npm:1.4.8" + dependencies: + "@lezer/common": "npm:^1.0.0" + checksum: 10c0/8bd2228a316a5ef8da01908e3e22aca95fa9695211ffe56f3e8be756b37d0810d5aa91fbbdd274b198a343051d8637e130e26f51161161f089244af242b653c9 + languageName: node + linkType: hard + "@lifeomic/attempt@npm:^3.0.2": version: 3.1.0 resolution: "@lifeomic/attempt@npm:3.1.0" @@ -2411,6 +2562,13 @@ __metadata: languageName: node linkType: hard +"@marijn/find-cluster-break@npm:^1.0.0": + version: 1.0.2 + resolution: "@marijn/find-cluster-break@npm:1.0.2" + checksum: 10c0/1a17a60b16083cc5f7ce89d7b7d8aa87ce4099723e3e9e34e229ef2cd8a980e69d481ca8ee90ffedfec5119af1aed581642fb60ed0365e7e90634c81ea6b630f + languageName: node + linkType: hard + "@mdx-js/esbuild@npm:^3.0.0": version: 3.1.0 resolution: "@mdx-js/esbuild@npm:3.1.0" @@ -3270,6 +3428,30 @@ __metadata: languageName: unknown linkType: soft +"@platejs/code-drawing@workspace:^, @platejs/code-drawing@workspace:packages/code-drawing": + version: 0.0.0-use.local + resolution: "@platejs/code-drawing@workspace:packages/code-drawing" + dependencies: + "@codemirror/lang-javascript": "npm:6.2.4" + "@codemirror/theme-one-dark": "npm:6.1.3" + "@types/lodash": "npm:^4.17.13" + "@types/plantuml-encoder": "npm:^1.4.2" + "@types/viz.js": "npm:^2.1.5" + "@uiw/react-codemirror": "npm:4.25.4" + flowchart.js: "npm:^1.15.0" + lodash: "npm:^4.17.21" + mermaid: "npm:^10.6.1" + plantuml-encoder: "npm:^1.4.0" + platejs: "workspace:^" + react-compiler-runtime: "npm:^1.0.0" + viz.js: "npm:^2.1.2" + peerDependencies: + platejs: ">=52.0.11" + react: ">=18.0.0" + react-dom: ">=18.0.0" + languageName: unknown + linkType: soft + "@platejs/combobox@npm:52.0.15, @platejs/combobox@workspace:^, @platejs/combobox@workspace:packages/combobox": version: 0.0.0-use.local resolution: "@platejs/combobox@workspace:packages/combobox" @@ -6673,6 +6855,15 @@ __metadata: languageName: node linkType: hard +"@types/plantuml-encoder@npm:^1.4.2": + version: 1.4.2 + resolution: "@types/plantuml-encoder@npm:1.4.2" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/0dac52b500f0b4d55ff0d09e7c4b87ba45ebc70c8cec08caf5416c1d537528c7c1136aeb6f708d47e88018882538fd66f81c3d70a5ae1d6e90dcb370aab75308 + languageName: node + linkType: hard + "@types/prismjs@npm:1.26.5": version: 1.26.5 resolution: "@types/prismjs@npm:1.26.5" @@ -6752,6 +6943,13 @@ __metadata: languageName: node linkType: hard +"@types/trusted-types@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 10c0/4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c + languageName: node + linkType: hard + "@types/ungap__structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@types/ungap__structured-clone@npm:1.2.0" @@ -6787,6 +6985,13 @@ __metadata: languageName: node linkType: hard +"@types/viz.js@npm:^2.1.5": + version: 2.1.5 + resolution: "@types/viz.js@npm:2.1.5" + checksum: 10c0/cb344f0f87b3c5f164c4ae5599388bc28283e500f516fc518ec4219184275ccafb7b389babff5905e23aab56b8b3c074fcfa456ae950ed014d59ab2707f7f021 + languageName: node + linkType: hard + "@types/whatwg-mimetype@npm:^3.0.2": version: 3.0.2 resolution: "@types/whatwg-mimetype@npm:3.0.2" @@ -7024,6 +7229,51 @@ __metadata: languageName: unknown linkType: soft +"@uiw/codemirror-extensions-basic-setup@npm:4.25.4": + version: 4.25.4 + resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.25.4" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/commands": "npm:^6.0.0" + "@codemirror/language": "npm:^6.0.0" + "@codemirror/lint": "npm:^6.0.0" + "@codemirror/search": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + peerDependencies: + "@codemirror/autocomplete": ">=6.0.0" + "@codemirror/commands": ">=6.0.0" + "@codemirror/language": ">=6.0.0" + "@codemirror/lint": ">=6.0.0" + "@codemirror/search": ">=6.0.0" + "@codemirror/state": ">=6.0.0" + "@codemirror/view": ">=6.0.0" + checksum: 10c0/ab18dd6694c39ba0c2c42b18b1a16ed23087ad5c365cd53aa1799318a419f83fd19618fa099be0e9acacbf07c70a3f4e250830ed4c602e25c556452b480b2bfb + languageName: node + linkType: hard + +"@uiw/react-codemirror@npm:4.25.4": + version: 4.25.4 + resolution: "@uiw/react-codemirror@npm:4.25.4" + dependencies: + "@babel/runtime": "npm:^7.18.6" + "@codemirror/commands": "npm:^6.1.0" + "@codemirror/state": "npm:^6.1.1" + "@codemirror/theme-one-dark": "npm:^6.0.0" + "@uiw/codemirror-extensions-basic-setup": "npm:4.25.4" + codemirror: "npm:^6.0.0" + peerDependencies: + "@babel/runtime": ">=7.11.0" + "@codemirror/state": ">=6.0.0" + "@codemirror/theme-one-dark": ">=6.0.0" + "@codemirror/view": ">=6.0.0" + codemirror: ">=6.0.0" + react: ">=17.0.0" + react-dom: ">=17.0.0" + checksum: 10c0/95446ae76a65659faa91bfeff47cd24b26577f979d7569ae54985f882a8c730b0be01b4b0923562895b33e25ee7b7c50bfad644c8849d33d8febc1e05b8dd23b + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.0.0": version: 1.3.0 resolution: "@ungap/structured-clone@npm:1.3.0" @@ -8228,6 +8478,21 @@ __metadata: languageName: node linkType: hard +"codemirror@npm:^6.0.0": + version: 6.0.2 + resolution: "codemirror@npm:6.0.2" + dependencies: + "@codemirror/autocomplete": "npm:^6.0.0" + "@codemirror/commands": "npm:^6.0.0" + "@codemirror/language": "npm:^6.0.0" + "@codemirror/lint": "npm:^6.0.0" + "@codemirror/search": "npm:^6.0.0" + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.0.0" + checksum: 10c0/8d198d8aebc32e56c966ac57b0fe8f832b7d601a2f62819ba3a294570233982bf4d5b499a764194b6b26dbc5313a156c2611cbc542234ea6eae6accf07a651ab + languageName: node + linkType: hard + "collapse-white-space@npm:^2.0.0": version: 2.1.0 resolution: "collapse-white-space@npm:2.1.0" @@ -8590,6 +8855,13 @@ __metadata: languageName: node linkType: hard +"crelt@npm:^1.0.5, crelt@npm:^1.0.6": + version: 1.0.6 + resolution: "crelt@npm:1.0.6" + checksum: 10c0/e0fb76dff50c5eb47f2ea9b786c17f9425c66276025adee80876bdbf4a84ab72e899e56d3928431ab0cb057a105ef704df80fe5726ef0f7b1658f815521bdf09 + languageName: node + linkType: hard + "cross-env@npm:7.0.3": version: 7.0.3 resolution: "cross-env@npm:7.0.3" @@ -9009,7 +9281,7 @@ __metadata: languageName: node linkType: hard -"d3@npm:^7.4.0, d3@npm:^7.8.2": +"d3@npm:^7.4.0, d3@npm:^7.8.2, d3@npm:^7.9.0": version: 7.9.0 resolution: "d3@npm:7.9.0" dependencies: @@ -9057,6 +9329,16 @@ __metadata: languageName: node linkType: hard +"dagre-d3-es@npm:7.0.13": + version: 7.0.13 + resolution: "dagre-d3-es@npm:7.0.13" + dependencies: + d3: "npm:^7.9.0" + lodash-es: "npm:^4.17.21" + checksum: 10c0/4eca80dbbad4075311e3853930f99486024785b54210541796d4216140d91744738ee51125e2692c3532af148fbc2e690171750583916ed2ad553150abb198c7 + languageName: node + linkType: hard + "data-uri-to-buffer@npm:^4.0.0": version: 4.0.1 resolution: "data-uri-to-buffer@npm:4.0.1" @@ -9476,6 +9758,18 @@ __metadata: languageName: node linkType: hard +"dompurify@npm:^3.2.4": + version: 3.3.1 + resolution: "dompurify@npm:3.3.1" + dependencies: + "@types/trusted-types": "npm:^2.0.7" + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: 10c0/fa0a8c55a436ba0d54389195e3d2337e311f56de709a2fc9efc98dbbc7746fa53bb4b74b6ac043b77a279a8f2ebd8685f0ebaa6e58c9e32e92051d529bc0baf8 + languageName: node + linkType: hard + "domutils@npm:^1.5.1": version: 1.7.0 resolution: "domutils@npm:1.7.0" @@ -10349,6 +10643,13 @@ __metadata: languageName: node linkType: hard +"eve-raphael@npm:0.5.0": + version: 0.5.0 + resolution: "eve-raphael@npm:0.5.0" + checksum: 10c0/59e85704181c63c38fc084f478e64bc92771c444391162b8407bf72a65bb5f1b8c7ba03364bfd28dae5b9bce0eb4c970758c66bd9f6d9411f035d138a7bf5518 + languageName: node + linkType: hard + "event-stream@npm:=3.3.4": version: 3.3.4 resolution: "event-stream@npm:3.3.4" @@ -10795,6 +11096,15 @@ __metadata: languageName: node linkType: hard +"flowchart.js@npm:^1.15.0": + version: 1.18.0 + resolution: "flowchart.js@npm:1.18.0" + dependencies: + raphael: "npm:2.3.0" + checksum: 10c0/fd826b4a9af2d825a7fdcfb6b36b422636f5935843d0907e22cd6d499d53986f2c218720195ca86646ee01bd30a9bec9fdd5f51ae103db8ec7e058d92c5383f1 + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0, foreground-child@npm:^3.3.1": version: 3.3.1 resolution: "foreground-child@npm:3.3.1" @@ -13802,6 +14112,34 @@ __metadata: languageName: node linkType: hard +"mermaid@npm:^10.6.1": + version: 10.9.5 + resolution: "mermaid@npm:10.9.5" + dependencies: + "@braintree/sanitize-url": "npm:^6.0.1" + "@types/d3-scale": "npm:^4.0.3" + "@types/d3-scale-chromatic": "npm:^3.0.0" + cytoscape: "npm:^3.28.1" + cytoscape-cose-bilkent: "npm:^4.1.0" + d3: "npm:^7.4.0" + d3-sankey: "npm:^0.12.3" + dagre-d3-es: "npm:7.0.13" + dayjs: "npm:^1.11.7" + dompurify: "npm:^3.2.4" + elkjs: "npm:^0.9.0" + katex: "npm:^0.16.9" + khroma: "npm:^2.0.0" + lodash-es: "npm:^4.17.21" + mdast-util-from-markdown: "npm:^1.3.0" + non-layered-tidy-tree-layout: "npm:^2.0.2" + stylis: "npm:^4.1.3" + ts-dedent: "npm:^2.2.0" + uuid: "npm:^9.0.0" + web-worker: "npm:^1.2.0" + checksum: 10c0/67b77f08a4ed11d264fbfc9b3737b44307c81c4058d13756a5d482a23482693e4356fb77f1ef4ab7b643b89caa7660605f39c0b1d19c1f6321212e15f5bf2b3a + languageName: node + linkType: hard + "micromark-core-commonmark@npm:^1.0.1": version: 1.1.0 resolution: "micromark-core-commonmark@npm:1.1.0" @@ -16098,6 +16436,13 @@ __metadata: languageName: node linkType: hard +"plantuml-encoder@npm:^1.4.0": + version: 1.4.0 + resolution: "plantuml-encoder@npm:1.4.0" + checksum: 10c0/f1301b02524ba1bcd70048437dd00127c7543f6e149a426c1bab0b729bf8df798121210c2655a4fd92cfcd82684f04788d696074183164ccccaef5e5380b024b + languageName: node + linkType: hard + "plate@workspace:.": version: 0.0.0-use.local resolution: "plate@workspace:." @@ -16678,6 +17023,15 @@ __metadata: languageName: node linkType: hard +"raphael@npm:2.3.0": + version: 2.3.0 + resolution: "raphael@npm:2.3.0" + dependencies: + eve-raphael: "npm:0.5.0" + checksum: 10c0/187dccb25eefba5680af5e641e73b7e5343532fc1bb7ee3910da519af87867b7d768264e2071ead68800ce1dbec59ab3a1a30fe1f2c2a546d541a16694f083c9 + languageName: node + linkType: hard + "raw-body@npm:^3.0.0": version: 3.0.0 resolution: "raw-body@npm:3.0.0" @@ -18742,6 +19096,13 @@ __metadata: languageName: node linkType: hard +"style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": + version: 4.1.3 + resolution: "style-mod@npm:4.1.3" + checksum: 10c0/36059006ea73cd96242ca8be06b625522d488bf8caca9c18436edf77092183381f08109577a4b3d35482f3395231099f195dbc854a46ce507fbf75c484f2cfcc + languageName: node + linkType: hard + "style-to-js@npm:^1.0.0": version: 1.1.16 resolution: "style-to-js@npm:1.1.16" @@ -20233,6 +20594,20 @@ __metadata: languageName: node linkType: hard +"viz.js@npm:^2.1.2": + version: 2.1.2 + resolution: "viz.js@npm:2.1.2" + checksum: 10c0/230b11bd87c85d133fc5b336406744ba81f3a17cec35f4ed5f7130b5057894ab07d6f76d0ac6c681c15c58132a8ccd35c16df9c771f570c90a755404c95bcf77 + languageName: node + linkType: hard + +"w3c-keyname@npm:^2.2.4": + version: 2.2.8 + resolution: "w3c-keyname@npm:2.2.8" + checksum: 10c0/37cf335c90efff31672ebb345577d681e2177f7ff9006a9ad47c68c5a9d265ba4a7b39d6c2599ceea639ca9315584ce4bd9c9fbf7a7217bfb7a599e71943c4c4 + languageName: node + linkType: hard + "wcwidth@npm:^1.0.1": version: 1.0.1 resolution: "wcwidth@npm:1.0.1" @@ -20475,6 +20850,7 @@ __metadata: "@platejs/callout": "workspace:^" "@platejs/caption": "workspace:^" "@platejs/code-block": "workspace:^" + "@platejs/code-drawing": "workspace:^" "@platejs/combobox": "workspace:^" "@platejs/comment": "workspace:^" "@platejs/csv": "workspace:^"