chore(ckeditor5): integrate ckeditor5-mermaid

This commit is contained in:
Elian Doran 2025-05-04 17:25:30 +03:00
parent fa58055109
commit cdb62f4376
No known key found for this signature in database
12 changed files with 139 additions and 133 deletions

View File

@ -1,7 +1,5 @@
import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils.js';
import { Element } from 'ckeditor5';
import { Command, Element } from 'ckeditor5';
/**
* The mermaid preview command.

View File

@ -1,7 +1,5 @@
import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils.js';
import { Element } from 'ckeditor5';
import { Command, Element } from 'ckeditor5';
/**
* The mermaid source view command.

View File

@ -2,10 +2,8 @@
* @module mermaid/mermaidsplitviewcommand
*/
import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils.js';
import { Element } from 'ckeditor5';
import { Command, Element } from 'ckeditor5';
/**
* The mermaid split view command.

View File

@ -1,4 +1,4 @@
import { Plugin, ButtonView } from 'ckeditor5';
import { Plugin } from 'ckeditor5';
import MermaidEditing from './mermaidediting.js';
import MermaidToolbar from './mermaidtoolbar.js';

View File

@ -2,16 +2,13 @@
* @module mermaid/mermaidediting
*/
import { Plugin } from 'ckeditor5/src/core.js';
import { toWidget } from 'ckeditor5/src/widget.js';
import { debounce } from 'lodash-es';
import MermaidPreviewCommand from './commands/mermaidPreviewCommand.js';
import MermaidSourceViewCommand from './commands/mermaidSourceViewCommand.js';
import MermaidSplitViewCommand from './commands/mermaidSplitViewCommand.js';
import InsertMermaidCommand from './commands/insertMermaidCommand.js';
import { DowncastAttributeEvent, DowncastConversionApi, Element, EventInfo, Item, Node, UpcastConversionApi, UpcastConversionData, ViewElement, ViewNode, ViewText, ViewUIElement } from 'ckeditor5';
import { DowncastAttributeEvent, DowncastConversionApi, Element, EventInfo, Item, Node, Plugin, toWidget, UpcastConversionApi, UpcastConversionData, ViewElement, ViewNode, ViewText, ViewUIElement } from 'ckeditor5';
// Time in milliseconds.
const DEBOUNCE_TIME = 300;

View File

@ -17,6 +17,7 @@
],
"noImplicitAny": true,
"noImplicitOverride": true,
"composite": true,
"strict": true,
"target": "es2019",
"sourceMap": true,

View File

@ -20,7 +20,8 @@
},
"dependencies": {
"ckeditor5": "43.2.0",
"@triliumnext/ckeditor5-keyboard-marker": "workspace:*"
"@triliumnext/ckeditor5-keyboard-marker": "workspace:*",
"@triliumnext/ckeditor5-mermaid": "workspace:*"
},
"devDependencies": {
"@types/jquery": "3.5.32"

View File

@ -14,6 +14,7 @@ import MentionCustomization from "./plugins/mention_customization.js";
import IncludeNote from "./plugins/includenote.js";
import Uploadfileplugin from "./plugins/file_upload/uploadfileplugin.js";
import { Kbd } from "@triliumnext/ckeditor5-keyboard-marker";
import { Mermaid } from "@triliumnext/ckeditor5-mermaid";
const TRILIUM_PLUGINS: typeof Plugin[] = [
CutToNotePlugin,
@ -32,7 +33,8 @@ const TRILIUM_PLUGINS: typeof Plugin[] = [
];
const EXTERNAL_PLUGINS: typeof Plugin[] = [
Kbd
Kbd,
Mermaid
];
export const COMMON_PLUGINS: typeof Plugin[] = [
@ -99,7 +101,6 @@ export const COMMON_PLUGINS: typeof Plugin[] = [
// Math,
// AutoformatMath,
// Footnotes,
// Mermaid,
// Admonition
];

View File

@ -3,6 +3,9 @@
"files": [],
"include": [],
"references": [
{
"path": "../ckeditor5-keyboard-marker"
},
{
"path": "./tsconfig.lib.json"
}

View File

@ -19,6 +19,9 @@
"src/**/*.ts"
],
"references": [
{
"path": "../ckeditor5-mermaid"
},
{
"path": "../ckeditor5-keyboard-marker"
}

235
pnpm-lock.yaml generated
View File

@ -804,6 +804,9 @@ importers:
'@triliumnext/ckeditor5-keyboard-marker':
specifier: workspace:*
version: link:../ckeditor5-keyboard-marker
'@triliumnext/ckeditor5-mermaid':
specifier: workspace:*
version: link:../ckeditor5-mermaid
ckeditor5:
specifier: 43.2.0
version: 43.2.0
@ -813,82 +816,6 @@ importers:
version: 3.5.32
packages/ckeditor5-keyboard-marker:
devDependencies:
'@ckeditor/ckeditor5-dev-build-tools':
specifier: 43.0.1
version: 43.0.1(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.0.4)
'@ckeditor/ckeditor5-inspector':
specifier: '>=4.1.0'
version: 4.1.0
'@ckeditor/ckeditor5-package-tools':
specifier: ^3.0.1
version: 3.0.1(@swc/core@1.5.29(@swc/helpers@0.5.17))(@types/node@22.15.3)(bufferutil@4.0.9)(esbuild@0.25.3)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)
'@typescript-eslint/eslint-plugin':
specifier: ~5.43.0
version: 5.43.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.0.4))(eslint@7.32.0)(typescript@5.0.4)
'@typescript-eslint/parser':
specifier: ^5.18.0
version: 5.62.0(eslint@7.32.0)(typescript@5.0.4)
'@vitest/browser':
specifier: ^2.0.5
version: 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: ^2.0.5
version: 2.1.9(vitest@2.1.9)
chalk:
specifier: 5.4.1
version: 5.4.1
ckeditor5:
specifier: 43.2.0
version: 43.2.0
eslint:
specifier: ^7.32.0
version: 7.32.0
eslint-config-ckeditor5:
specifier: '>=9.1.0'
version: 9.1.0(eslint@7.32.0)
http-server:
specifier: ^14.1.0
version: 14.1.1
husky:
specifier: ^4.2.5
version: 4.3.8
lint-staged:
specifier: ^10.2.6
version: 10.5.4
stylelint:
specifier: ^13.13.1
version: 13.13.1
stylelint-config-ckeditor5:
specifier: '>=9.1.0'
version: 9.1.0(stylelint@13.13.1)
ts-node:
specifier: ^10.9.1
version: 10.9.2(@swc/core@1.5.29(@swc/helpers@0.5.17))(@types/node@22.15.3)(typescript@5.0.4)
typescript:
specifier: 5.0.4
version: 5.0.4
upath:
specifier: 2.0.1
version: 2.0.1
vite-plugin-svgo:
specifier: ~1.4.0
version: 1.4.1(typescript@5.0.4)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))
vitest:
specifier: ^2.0.5
version: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2(vitest@3.1.2))(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
webdriverio:
specifier: ^9.0.7
version: 9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5)
packages/ckeditor5-mermaid:
dependencies:
'@types/lodash-es':
specifier: 4.17.12
version: 4.17.12
lodash-es:
specifier: ^4.17.21
version: 4.17.21
devDependencies:
'@ckeditor/ckeditor5-dev-build-tools':
specifier: 43.0.1
@ -957,6 +884,82 @@ importers:
specifier: ^9.0.7
version: 9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5)
packages/ckeditor5-mermaid:
dependencies:
'@types/lodash-es':
specifier: 4.17.12
version: 4.17.12
lodash-es:
specifier: ^4.17.21
version: 4.17.21
devDependencies:
'@ckeditor/ckeditor5-dev-build-tools':
specifier: 43.0.1
version: 43.0.1(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.0.4)
'@ckeditor/ckeditor5-inspector':
specifier: '>=4.1.0'
version: 4.1.0
'@ckeditor/ckeditor5-package-tools':
specifier: ^3.0.1
version: 3.0.1(@swc/core@1.5.29(@swc/helpers@0.5.17))(@types/node@22.15.3)(bufferutil@4.0.9)(esbuild@0.25.3)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)
'@typescript-eslint/eslint-plugin':
specifier: ~5.43.0
version: 5.43.0(@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.0.4))(eslint@7.32.0)(typescript@5.0.4)
'@typescript-eslint/parser':
specifier: ^5.18.0
version: 5.62.0(eslint@7.32.0)(typescript@5.0.4)
'@vitest/browser':
specifier: ^2.0.5
version: 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-istanbul':
specifier: ^2.0.5
version: 2.1.9(vitest@2.1.9)
chalk:
specifier: 5.4.1
version: 5.4.1
ckeditor5:
specifier: 43.2.0
version: 43.2.0
eslint:
specifier: ^7.32.0
version: 7.32.0
eslint-config-ckeditor5:
specifier: '>=9.1.0'
version: 9.1.0(eslint@7.32.0)
http-server:
specifier: ^14.1.0
version: 14.1.1
husky:
specifier: ^4.2.5
version: 4.3.8
lint-staged:
specifier: ^10.2.6
version: 10.5.4
stylelint:
specifier: ^13.13.1
version: 13.13.1
stylelint-config-ckeditor5:
specifier: '>=9.1.0'
version: 9.1.0(stylelint@13.13.1)
ts-node:
specifier: ^10.9.1
version: 10.9.2(@swc/core@1.5.29(@swc/helpers@0.5.17))(@types/node@22.15.3)(typescript@5.0.4)
typescript:
specifier: 5.0.4
version: 5.0.4
upath:
specifier: 2.0.1
version: 2.0.1
vite-plugin-svgo:
specifier: ~1.4.0
version: 1.4.1(typescript@5.0.4)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))
vitest:
specifier: ^2.0.5
version: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
webdriverio:
specifier: ^9.0.7
version: 9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5)
packages/commons:
dependencies:
'@swc/helpers':
@ -18743,7 +18746,7 @@ snapshots:
msw: 2.7.5(@types/node@22.15.3)(typescript@5.0.4)
sirv: 3.0.1
tinyrainbow: 1.2.0
vitest: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2(vitest@3.1.2))(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
vitest: 2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
optionalDependencies:
playwright: 1.52.0
@ -28736,45 +28739,6 @@ snapshots:
tsx: 4.19.4
yaml: 2.7.1
vitest@2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2(vitest@3.1.2))(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0):
dependencies:
'@vitest/expect': 2.1.9
'@vitest/mocker': 2.1.9(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0))
'@vitest/pretty-format': 2.1.9
'@vitest/runner': 2.1.9
'@vitest/snapshot': 2.1.9
'@vitest/spy': 2.1.9
'@vitest/utils': 2.1.9
chai: 5.2.0
debug: 4.4.0(supports-color@8.1.1)
expect-type: 1.2.1
magic-string: 0.30.17
pathe: 1.1.2
std-env: 3.9.0
tinybench: 2.9.0
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 1.2.0
vite: 5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
vite-node: 2.1.9(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.15.3
'@vitest/browser': 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/ui': 3.1.2(vitest@3.1.2)
happy-dom: 17.4.6
jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- less
- lightningcss
- msw
- sass
- sass-embedded
- stylus
- sugarss
- supports-color
- terser
vitest@2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@7.0.39))(terser@5.39.0):
dependencies:
'@vitest/expect': 2.1.9
@ -28814,6 +28778,45 @@ snapshots:
- supports-color
- terser
vitest@2.1.9(@types/node@22.15.3)(@vitest/browser@2.1.9)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0):
dependencies:
'@vitest/expect': 2.1.9
'@vitest/mocker': 2.1.9(msw@2.7.5(@types/node@22.15.3)(typescript@5.0.4))(vite@5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0))
'@vitest/pretty-format': 2.1.9
'@vitest/runner': 2.1.9
'@vitest/snapshot': 2.1.9
'@vitest/spy': 2.1.9
'@vitest/utils': 2.1.9
chai: 5.2.0
debug: 4.4.0(supports-color@8.1.1)
expect-type: 1.2.1
magic-string: 0.30.17
pathe: 1.1.2
std-env: 3.9.0
tinybench: 2.9.0
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 1.2.0
vite: 5.4.19(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
vite-node: 2.1.9(@types/node@22.15.3)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.15.3
'@vitest/browser': 2.1.9(@types/node@22.15.3)(bufferutil@4.0.9)(playwright@1.52.0)(typescript@5.0.4)(utf-8-validate@6.0.5)(vite@6.3.2(@types/node@22.15.3)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@2.1.9)(webdriverio@9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/ui': 3.1.2(vitest@3.1.2)
happy-dom: 17.4.6
jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- less
- lightningcss
- msw
- sass
- sass-embedded
- stylus
- sugarss
- supports-color
- terser
vitest@3.1.2(@types/debug@4.1.12)(@types/node@22.15.3)(@vitest/ui@3.1.2)(happy-dom@17.4.6)(jiti@2.4.2)(jsdom@22.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.3)(typescript@5.7.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
'@vitest/expect': 3.1.2

View File

@ -35,6 +35,9 @@
},
{
"path": "./packages/ckeditor5"
},
{
"path": "./packages/ckeditor5-keyboard-marker"
}
]
}