From ddf43a5e24b235ab0822ebb53dbc3a0bf9d772d8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 18:30:09 +0300 Subject: [PATCH 001/112] chore(nx): create project for codemirror --- packages/codemirror/README.md | 7 +++++ packages/codemirror/eslint.config.mjs | 24 +++++++++++++++ packages/codemirror/package.json | 22 ++++++++++++++ packages/codemirror/src/index.ts | 1 + packages/codemirror/src/lib/codemirror.ts | 3 ++ packages/codemirror/tsconfig.json | 10 ++++++ packages/codemirror/tsconfig.lib.json | 21 +++++++++++++ packages/codemirror/vite.config.ts | 37 +++++++++++++++++++++++ pnpm-lock.yaml | 2 ++ tsconfig.json | 3 ++ 10 files changed, 130 insertions(+) create mode 100644 packages/codemirror/README.md create mode 100644 packages/codemirror/eslint.config.mjs create mode 100644 packages/codemirror/package.json create mode 100644 packages/codemirror/src/index.ts create mode 100644 packages/codemirror/src/lib/codemirror.ts create mode 100644 packages/codemirror/tsconfig.json create mode 100644 packages/codemirror/tsconfig.lib.json create mode 100644 packages/codemirror/vite.config.ts diff --git a/packages/codemirror/README.md b/packages/codemirror/README.md new file mode 100644 index 0000000000..34cc0ce787 --- /dev/null +++ b/packages/codemirror/README.md @@ -0,0 +1,7 @@ +# codemirror + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build codemirror` to build the library. diff --git a/packages/codemirror/eslint.config.mjs b/packages/codemirror/eslint.config.mjs new file mode 100644 index 0000000000..9ee1191ff6 --- /dev/null +++ b/packages/codemirror/eslint.config.mjs @@ -0,0 +1,24 @@ +import baseConfig from "../../eslint.config.mjs"; + +export default [ + ...baseConfig, + { + "files": [ + "**/*.json" + ], + "rules": { + "@nx/dependency-checks": [ + "error", + { + "ignoredFiles": [ + "{projectRoot}/eslint.config.{js,cjs,mjs}", + "{projectRoot}/vite.config.{js,ts,mjs,mts}" + ] + } + ] + }, + "languageOptions": { + "parser": (await import('jsonc-eslint-parser')) + } + } +]; diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json new file mode 100644 index 0000000000..7c05151eaa --- /dev/null +++ b/packages/codemirror/package.json @@ -0,0 +1,22 @@ +{ + "name": "@triliumnext/codemirror", + "version": "0.0.1", + "private": true, + "type": "module", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "development": "./src/index.ts", + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } + }, + "nx": { + "name": "codemirror" + }, + "dependencies": {} +} diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts new file mode 100644 index 0000000000..ddc3d2ea48 --- /dev/null +++ b/packages/codemirror/src/index.ts @@ -0,0 +1 @@ +export * from './lib/codemirror.js'; diff --git a/packages/codemirror/src/lib/codemirror.ts b/packages/codemirror/src/lib/codemirror.ts new file mode 100644 index 0000000000..38b94faa03 --- /dev/null +++ b/packages/codemirror/src/lib/codemirror.ts @@ -0,0 +1,3 @@ +export function codemirror(): string { + return 'codemirror'; +} diff --git a/packages/codemirror/tsconfig.json b/packages/codemirror/tsconfig.json new file mode 100644 index 0000000000..c23e61c800 --- /dev/null +++ b/packages/codemirror/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ] +} diff --git a/packages/codemirror/tsconfig.lib.json b/packages/codemirror/tsconfig.lib.json new file mode 100644 index 0000000000..89ba670c34 --- /dev/null +++ b/packages/codemirror/tsconfig.lib.json @@ -0,0 +1,21 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "emitDeclarationOnly": true, + "forceConsistentCasingInFileNames": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "types": [ + "node", + "vite/client" + ] + }, + "include": [ + "src/**/*.ts" + ], + "references": [] +} diff --git a/packages/codemirror/vite.config.ts b/packages/codemirror/vite.config.ts new file mode 100644 index 0000000000..d68abd1b99 --- /dev/null +++ b/packages/codemirror/vite.config.ts @@ -0,0 +1,37 @@ +/// +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; +import * as path from 'path'; + +export default defineConfig(() => ({ + root: __dirname, + cacheDir: '../../node_modules/.vite/packages/codemirror', + plugins: [dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json') })], + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + // Configuration for building your library. + // See: https://vitejs.dev/guide/build.html#library-mode + build: { + outDir: './dist', + emptyOutDir: true, + reportCompressedSize: true, + commonjsOptions: { + transformMixedEsModules: true, + }, + lib: { + // Could also be a dictionary or array of multiple entry points. + entry: 'src/index.ts', + name: 'codemirror', + fileName: 'index', + // Change this to the formats you want to support. + // Don't forget to update your package.json as well. + formats: ['es' as const] + }, + rollupOptions: { + // External packages that should not be bundled into your library. + external: [] + }, + }, +})); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0742598422..45e1fd36a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1149,6 +1149,8 @@ importers: specifier: ^9.0.7 version: 9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5) + packages/codemirror: {} + packages/commons: dependencies: '@swc/helpers': diff --git a/tsconfig.json b/tsconfig.json index e2c6d2fc48..60831037b0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -50,6 +50,9 @@ }, { "path": "./packages/ckeditor5-math" + }, + { + "path": "./packages/codemirror" } ] } From cfa8987b25391e6db1ae06c1ec600763020a510b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 19:10:30 +0300 Subject: [PATCH 002/112] feat(code): switch to CodeMirror 6 --- apps/client/package.json | 1 + apps/client/src/types.d.ts | 68 ---------- .../type_widgets/abstract_code_type_widget.ts | 101 ++++++--------- .../src/widgets/type_widgets/editable_code.ts | 25 ++-- apps/client/tsconfig.app.json | 5 +- apps/client/tsconfig.json | 5 +- packages/codemirror/package.json | 5 +- packages/codemirror/src/index.ts | 14 +- packages/codemirror/src/lib/codemirror.ts | 3 - pnpm-lock.yaml | 120 +++++++++++++++--- 10 files changed, 174 insertions(+), 173 deletions(-) delete mode 100644 packages/codemirror/src/lib/codemirror.ts diff --git a/apps/client/package.json b/apps/client/package.json index 953324b375..a323c46578 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -23,6 +23,7 @@ "@popperjs/core": "2.11.8", "@triliumnext/ckeditor5": "workspace:*", "@triliumnext/commons": "workspace:*", + "@triliumnext/codemirror": "workspace:*", "bootstrap": "5.3.6", "dayjs": "1.11.13", "dayjs-plugin-utc": "0.1.2", diff --git a/apps/client/src/types.d.ts b/apps/client/src/types.d.ts index 0a466825aa..70e51aede0 100644 --- a/apps/client/src/types.d.ts +++ b/apps/client/src/types.d.ts @@ -135,74 +135,6 @@ declare global { trust: boolean; }) => void; - interface CodeMirrorOpts { - value: string; - viewportMargin: number; - indentUnit: number; - matchBrackets: boolean; - matchTags: { bothTags: boolean }; - highlightSelectionMatches: { - showToken: boolean; - annotateScrollbar: boolean; - }; - lineNumbers: boolean; - lineWrapping: boolean; - keyMap?: "vim" | "default"; - lint?: boolean; - gutters?: string[]; - tabindex?: number; - dragDrop?: boolean; - placeholder?: string; - readOnly?: boolean; - } - - var CodeMirror: { - (el: HTMLElement, opts: CodeMirrorOpts): CodeMirrorInstance; - keyMap: { - default: Record; - }; - modeURL: string; - modeInfo: ModeInfo[]; - findModeByMIME(mime: string): ModeInfo; - autoLoadMode(instance: CodeMirrorInstance, mode: string) - registerHelper(type: string, filter: string | null, callback: (text: string, options: object) => unknown); - Pos(line: number, col: number); - } - - interface ModeInfo { - name: string; - mode: string; - mime: string; - mimes: string[]; - } - - interface CodeMirrorInstance { - getValue(): string; - setValue(val: string); - clearHistory(); - setOption(name: string, value: string); - refresh(); - focus(); - getCursor(): { line: number, col: number, ch: number }; - setCursor(line: number, col: number); - getSelection(): string; - lineCount(): number; - on(event: string, callback: () => void); - operation(callback: () => void); - scrollIntoView(pos: number); - doc: { - getValue(): string; - markText( - from: { line: number, ch: number } | number, - to: { line: number, ch: number } | number, - opts: { - className: string - }); - setSelection(from: number, to: number); - replaceRange(text: string, from: number, to: number); - } - } - var katex: { renderToString(text: string, opts: { throwOnError: boolean diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts index 69bc38bd7f..9614a3881a 100644 --- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts @@ -1,7 +1,5 @@ import TypeWidget from "./type_widget.js"; -import libraryLoader from "../../services/library_loader.js"; -import options from "../../services/options.js"; -import type FNote from "../../entities/fnote.js"; +import CodeMirror from "@triliumnext/codemirror"; /** * An abstract {@link TypeWidget} which implements the CodeMirror editor, meant to be used as a parent for @@ -19,54 +17,27 @@ import type FNote from "../../entities/fnote.js"; export default class AbstractCodeTypeWidget extends TypeWidget { protected $editor!: JQuery; - protected codeEditor!: CodeMirrorInstance; + protected codeEditor!: CodeMirror; doRender() { this.initialized = this.#initEditor(); } async #initEditor() { - await libraryLoader.requireLibrary(libraryLoader.CODE_MIRROR); - - // these conflict with backward/forward navigation shortcuts - delete CodeMirror.keyMap.default["Alt-Left"]; - delete CodeMirror.keyMap.default["Alt-Right"]; - - CodeMirror.modeURL = `${window.glob.assetPath}/node_modules/codemirror/mode/%N/%N.js`; - const jsMode = CodeMirror.modeInfo.find((mode) => mode.name === "JavaScript"); - if (jsMode) { - jsMode.mimes.push(...["application/javascript;env=frontend", "application/javascript;env=backend"]); - } - const sqlMode = CodeMirror.modeInfo.find((mode) => mode.name === "SQLite"); - if (sqlMode) { - sqlMode.mimes = ["text/x-sqlite", "text/x-sqlite;schema=trilium"]; - } - - this.codeEditor = CodeMirror(this.$editor[0], { - value: "", - viewportMargin: Infinity, - indentUnit: 4, - matchBrackets: true, - matchTags: { bothTags: true }, - highlightSelectionMatches: { showToken: false, annotateScrollbar: false }, - lineNumbers: true, - // we line wrap partly also because without it horizontal scrollbar displays only when you scroll - // all the way to the bottom of the note. With line wrap, there's no horizontal scrollbar so no problem - lineWrapping: options.is("codeLineWrapEnabled"), - ...this.getExtraOpts() + this.codeEditor = new CodeMirror({ + parent: this.$editor[0], }); - this.onEditorInitialized(); } - /** - * Can be extended in derived classes to add extra options to the CodeMirror constructor. The options are appended - * at the end, so it is possible to override the default values introduced by the abstract editor as well. - * - * @returns the extra options to be passed to the CodeMirror constructor. - */ - getExtraOpts(): Partial { - return {}; - } + // /** + // * Can be extended in derived classes to add extra options to the CodeMirror constructor. The options are appended + // * at the end, so it is possible to override the default values introduced by the abstract editor as well. + // * + // * @returns the extra options to be passed to the CodeMirror constructor. + // */ + // getExtraOpts(): Partial { + // return {}; + // } /** * Called as soon as the CodeMirror library has been loaded and the editor was constructed. Can be extended in @@ -85,29 +56,29 @@ export default class AbstractCodeTypeWidget extends TypeWidget { * @param {*} content the new content of the note. */ _update(note: { mime: string }, content: string) { - // CodeMirror breaks pretty badly on null, so even though it shouldn't happen (guarded by a consistency check) - // we provide fallback - this.codeEditor.setValue(content || ""); - this.codeEditor.clearHistory(); - - let info = CodeMirror.findModeByMIME(note.mime); - if (!info) { - // Switch back to plain text if CodeMirror does not have a mode for whatever MIME type we're editing. - // To avoid inheriting a mode from a previously open code note. - info = CodeMirror.findModeByMIME("text/plain"); - } - - this.codeEditor.setOption("mode", info.mime); - CodeMirror.autoLoadMode(this.codeEditor, info.mode); + // // CodeMirror breaks pretty badly on null, so even though it shouldn't happen (guarded by a consistency check) + // // we provide fallback + // this.codeEditor.setValue(content || ""); + // this.codeEditor.clearHistory(); + + // let info = CodeMirror.findModeByMIME(note.mime); + // if (!info) { + // // Switch back to plain text if CodeMirror does not have a mode for whatever MIME type we're editing. + // // To avoid inheriting a mode from a previously open code note. + // info = CodeMirror.findModeByMIME("text/plain"); + // } + + // this.codeEditor.setOption("mode", info.mime); + // CodeMirror.autoLoadMode(this.codeEditor, info.mode); } show() { this.$widget.show(); - if (this.codeEditor) { - // show can be called before render - this.codeEditor.refresh(); - } + // if (this.codeEditor) { + // // show can be called before render + // this.codeEditor.refresh(); + // } } focus() { @@ -116,15 +87,15 @@ export default class AbstractCodeTypeWidget extends TypeWidget { } scrollToEnd() { - this.codeEditor.setCursor(this.codeEditor.lineCount(), 0); - this.codeEditor.focus(); + // this.codeEditor.setCursor(this.codeEditor.lineCount(), 0); + // this.codeEditor.focus(); } cleanup() { if (this.codeEditor) { - this.spacedUpdate.allowUpdateWithoutChange(() => { - this.codeEditor.setValue(""); - }); + // this.spacedUpdate.allowUpdateWithoutChange(() => { + // this.codeEditor.setValue(""); + // }); } } } diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts index fbdee82442..0a3312eddc 100644 --- a/apps/client/src/widgets/type_widgets/editable_code.ts +++ b/apps/client/src/widgets/type_widgets/editable_code.ts @@ -41,19 +41,19 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { super.doRender(); } - getExtraOpts(): Partial { - return { - keyMap: options.is("vimKeymapEnabled") ? "vim" : "default", - lint: true, - gutters: ["CodeMirror-lint-markers"], - tabindex: 300, - dragDrop: false, // with true the editor inlines dropped files which is not what we expect - placeholder: t("editable_code.placeholder") - }; - } + // getExtraOpts(): Partial { + // return { + // keyMap: options.is("vimKeymapEnabled") ? "vim" : "default", + // lint: true, + // gutters: ["CodeMirror-lint-markers"], + // tabindex: 300, + // dragDrop: false, // with true the editor inlines dropped files which is not what we expect + // placeholder: t("editable_code.placeholder") + // }; + // } onEditorInitialized() { - this.codeEditor.on("change", () => this.spacedUpdate.scheduleUpdate()); + // this.codeEditor.on("change", () => this.spacedUpdate.scheduleUpdate()); } async doRefresh(note: FNote) { @@ -72,7 +72,8 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { getData() { return { - content: this.codeEditor.getValue() + // content: this.codeEditor.getValue() + content: "" }; } diff --git a/apps/client/tsconfig.app.json b/apps/client/tsconfig.app.json index 588ce728fe..11ed3a1b41 100644 --- a/apps/client/tsconfig.app.json +++ b/apps/client/tsconfig.app.json @@ -35,10 +35,13 @@ ], "references": [ { - "path": "../../packages/ckeditor5/tsconfig.lib.json" + "path": "../../packages/codemirror/tsconfig.lib.json" }, { "path": "../../packages/commons/tsconfig.lib.json" + }, + { + "path": "../../packages/ckeditor5/tsconfig.lib.json" } ] } diff --git a/apps/client/tsconfig.json b/apps/client/tsconfig.json index 4330407984..05472be69b 100644 --- a/apps/client/tsconfig.json +++ b/apps/client/tsconfig.json @@ -4,11 +4,14 @@ "include": [], "references": [ { - "path": "../../packages/ckeditor5" + "path": "../../packages/codemirror" }, { "path": "../../packages/commons" }, + { + "path": "../../packages/ckeditor5" + }, { "path": "./tsconfig.app.json" }, diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 7c05151eaa..61cdf5f3b1 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -18,5 +18,8 @@ "nx": { "name": "codemirror" }, - "dependencies": {} + "dependencies": { + "@codemirror/commands": "6.8.1", + "@codemirror/view": "6.36.7" + } } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index ddc3d2ea48..55191d8b13 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1 +1,13 @@ -export * from './lib/codemirror.js'; +import { defaultKeymap } from "@codemirror/commands"; +import { EditorView, keymap, type EditorViewConfig } from "@codemirror/view"; + +export default class CodeMirror extends EditorView { + constructor(config: EditorViewConfig) { + super({ + ...config, + extensions: [ + keymap.of(defaultKeymap) + ] + }); + } +} diff --git a/packages/codemirror/src/lib/codemirror.ts b/packages/codemirror/src/lib/codemirror.ts deleted file mode 100644 index 38b94faa03..0000000000 --- a/packages/codemirror/src/lib/codemirror.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function codemirror(): string { - return 'codemirror'; -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 45e1fd36a9..ad51bda61f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -200,6 +200,9 @@ importers: '@triliumnext/ckeditor5': specifier: workspace:* version: link:../../packages/ckeditor5 + '@triliumnext/codemirror': + specifier: workspace:* + version: link:../../packages/codemirror '@triliumnext/commons': specifier: workspace:* version: link:../../packages/commons @@ -1149,7 +1152,14 @@ importers: specifier: ^9.0.7 version: 9.12.7(bufferutil@4.0.9)(utf-8-validate@6.0.5) - packages/codemirror: {} + packages/codemirror: + dependencies: + '@codemirror/commands': + specifier: 6.8.1 + version: 6.8.1 + '@codemirror/view': + specifier: 6.36.7 + version: 6.36.7 packages/commons: dependencies: @@ -2135,6 +2145,18 @@ packages: '@ckeditor/ckeditor5-word-count@45.0.0': resolution: {integrity: sha512-72Fd2mUKN8dXRMKGKLPhUiQHhoGnp0ZyPwP8Ezcpbwfn/mh5SBxP3LyQGg35sKy1xJgDYywHlWvjVhw95LgIjg==} + '@codemirror/commands@6.8.1': + resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==} + + '@codemirror/language@6.11.0': + resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} + + '@codemirror/state@6.5.2': + resolution: {integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==} + + '@codemirror/view@6.36.7': + resolution: {integrity: sha512-kCWGW/chWGPgZqfZ36Um9Iz0X2IVpmCjg1P/qY6B6a2ecXtWRRAigmpJ6YgUQ5lTWXMyyVdfmpzhLZmsZQMbtg==} + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -3323,6 +3345,15 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + '@lezer/common@1.2.3': + resolution: {integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==} + + '@lezer/highlight@1.2.1': + resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} + + '@lezer/lr@1.4.2': + resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} + '@ljharb/resumer@0.0.1': resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} engines: {node: '>= 0.4'} @@ -3349,6 +3380,9 @@ packages: resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} engines: {node: '>= 10.0.0'} + '@marijn/find-cluster-break@1.0.2': + resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} + '@mermaid-js/layout-elk@0.1.7': resolution: {integrity: sha512-G3AJ2jMaCAqky2CT3z/sf3pK5UuS3tne98GsXDl3PkKByCmPmOYmJPf+6oX5PUlV3HNWWHuSgtZ9NU/CZDSuHQ==} peerDependencies: @@ -12627,6 +12661,9 @@ packages: peerDependencies: webpack: ^5.27.0 + style-mod@4.1.2: + resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} + stylehacks@5.1.1: resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} @@ -13544,6 +13581,9 @@ packages: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} deprecated: Use your platform's native performance.now() and performance.timeOrigin. + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + w3c-xmlserializer@2.0.0: resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} engines: {node: '>=10'} @@ -15096,23 +15136,27 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0': + '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15133,7 +15177,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15399,18 +15443,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-emoji@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - fuzzysort: 3.1.0 - '@ckeditor/ckeditor5-emoji@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16014,7 +16046,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16227,7 +16259,7 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0': + '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16256,6 +16288,10 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -16362,6 +16398,32 @@ snapshots: - supports-color - utf-8-validate + '@codemirror/commands@6.8.1': + dependencies: + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/common': 1.2.3 + + '@codemirror/language@6.11.0': + dependencies: + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + style-mod: 4.1.2 + + '@codemirror/state@6.5.2': + dependencies: + '@marijn/find-cluster-break': 1.0.2 + + '@codemirror/view@6.36.7': + dependencies: + '@codemirror/state': 6.5.2 + style-mod: 4.1.2 + w3c-keyname: 2.2.8 + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -17748,6 +17810,16 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} + '@lezer/common@1.2.3': {} + + '@lezer/highlight@1.2.1': + dependencies: + '@lezer/common': 1.2.3 + + '@lezer/lr@1.4.2': + dependencies: + '@lezer/common': 1.2.3 + '@ljharb/resumer@0.0.1': dependencies: '@ljharb/through': 2.3.14 @@ -17787,6 +17859,8 @@ snapshots: - supports-color optional: true + '@marijn/find-cluster-break@1.0.2': {} + '@mermaid-js/layout-elk@0.1.7(mermaid@11.6.0)': dependencies: d3: 7.9.0 @@ -21507,7 +21581,7 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: @@ -21530,7 +21604,7 @@ snapshots: '@ckeditor/ckeditor5-editor-decoupled': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-inline': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-emoji': 45.0.0 + '@ckeditor/ckeditor5-emoji': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-essentials': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -29151,6 +29225,8 @@ snapshots: dependencies: webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + style-mod@4.1.2: {} + stylehacks@5.1.1(postcss@8.5.3): dependencies: browserslist: 4.24.4 @@ -30276,6 +30352,8 @@ snapshots: dependencies: browser-process-hrtime: 1.0.0 + w3c-keyname@2.2.8: {} + w3c-xmlserializer@2.0.0: dependencies: xml-name-validator: 3.0.0 From c84a3906991c981e8b3688a49b71e4088fdc3c6a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 19:15:38 +0300 Subject: [PATCH 003/112] feat(code): enable line numbers --- packages/codemirror/src/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 55191d8b13..8ee32032e0 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,12 +1,13 @@ import { defaultKeymap } from "@codemirror/commands"; -import { EditorView, keymap, type EditorViewConfig } from "@codemirror/view"; +import { EditorView, keymap, lineNumbers, type EditorViewConfig } from "@codemirror/view"; export default class CodeMirror extends EditorView { constructor(config: EditorViewConfig) { super({ ...config, extensions: [ - keymap.of(defaultKeymap) + keymap.of(defaultKeymap), + lineNumbers() ] }); } From 0c9be9291be3d192c63534c268c95a623b412248 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 19:19:03 +0300 Subject: [PATCH 004/112] fix(code): set initial text --- .../widgets/type_widgets/abstract_code_type_widget.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts index 9614a3881a..7324868b0f 100644 --- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts @@ -56,9 +56,13 @@ export default class AbstractCodeTypeWidget extends TypeWidget { * @param {*} content the new content of the note. */ _update(note: { mime: string }, content: string) { - // // CodeMirror breaks pretty badly on null, so even though it shouldn't happen (guarded by a consistency check) - // // we provide fallback - // this.codeEditor.setValue(content || ""); + this.codeEditor.dispatch({ + changes: { + from: 0, + to: this.codeEditor.state.doc.length, + insert: content || "", + } + }) // this.codeEditor.clearHistory(); // let info = CodeMirror.findModeByMIME(note.mime); From ef312c9550cfbc8aed68fecdeaa146edbd34b60b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 19:22:57 +0300 Subject: [PATCH 005/112] refactor(code): use dedicated method for setting text --- .../widgets/type_widgets/abstract_code_type_widget.ts | 8 +------- packages/codemirror/src/index.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts index 7324868b0f..babe02f696 100644 --- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts @@ -56,13 +56,7 @@ export default class AbstractCodeTypeWidget extends TypeWidget { * @param {*} content the new content of the note. */ _update(note: { mime: string }, content: string) { - this.codeEditor.dispatch({ - changes: { - from: 0, - to: this.codeEditor.state.doc.length, - insert: content || "", - } - }) + this.codeEditor.setText(content); // this.codeEditor.clearHistory(); // let info = CodeMirror.findModeByMIME(note.mime); diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 8ee32032e0..20c76b227f 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -11,4 +11,14 @@ export default class CodeMirror extends EditorView { ] }); } + + setText(content: string) { + this.dispatch({ + changes: { + from: 0, + to: this.state.doc.length, + insert: content || "", + } + }) + } } From 3e5e9096d2d2d1e181b01eb8a901466d0c0591d0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 20:07:53 +0300 Subject: [PATCH 006/112] fix(code): saving on change --- .../type_widgets/abstract_code_type_widget.ts | 21 +++++----- .../src/widgets/type_widgets/editable_code.ts | 14 ++++--- packages/codemirror/src/index.ts | 42 ++++++++++++++++--- 3 files changed, 55 insertions(+), 22 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts index babe02f696..4cd477eba9 100644 --- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts @@ -1,5 +1,5 @@ import TypeWidget from "./type_widget.js"; -import CodeMirror from "@triliumnext/codemirror"; +import CodeMirror, { type EditorConfig } from "@triliumnext/codemirror"; /** * An abstract {@link TypeWidget} which implements the CodeMirror editor, meant to be used as a parent for @@ -26,18 +26,19 @@ export default class AbstractCodeTypeWidget extends TypeWidget { async #initEditor() { this.codeEditor = new CodeMirror({ parent: this.$editor[0], + ...this.getExtraOpts() }); } - // /** - // * Can be extended in derived classes to add extra options to the CodeMirror constructor. The options are appended - // * at the end, so it is possible to override the default values introduced by the abstract editor as well. - // * - // * @returns the extra options to be passed to the CodeMirror constructor. - // */ - // getExtraOpts(): Partial { - // return {}; - // } + /** + * Can be extended in derived classes to add extra options to the CodeMirror constructor. The options are appended + * at the end, so it is possible to override the default values introduced by the abstract editor as well. + * + * @returns the extra options to be passed to the CodeMirror constructor. + */ + getExtraOpts(): Partial { + return {}; + } /** * Called as soon as the CodeMirror library has been loaded and the editor was constructed. Can be extended in diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts index 0a3312eddc..91047876ef 100644 --- a/apps/client/src/widgets/type_widgets/editable_code.ts +++ b/apps/client/src/widgets/type_widgets/editable_code.ts @@ -7,6 +7,7 @@ import AbstractCodeTypeWidget from "./abstract_code_type_widget.js"; import appContext from "../../components/app_context.js"; import type { TouchBarItem } from "../../components/touch_bar.js"; import { hasTouchBar } from "../../services/utils.js"; +import type { EditorConfig } from "@triliumnext/codemirror"; const TPL = /*html*/`
@@ -41,6 +42,12 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { super.doRender(); } + getExtraOpts(): Partial { + return { + onContentChanged: () => this.spacedUpdate.scheduleUpdate() + } + } + // getExtraOpts(): Partial { // return { // keyMap: options.is("vimKeymapEnabled") ? "vim" : "default", @@ -52,10 +59,6 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { // }; // } - onEditorInitialized() { - // this.codeEditor.on("change", () => this.spacedUpdate.scheduleUpdate()); - } - async doRefresh(note: FNote) { const blob = await this.note?.getBlob(); @@ -72,8 +75,7 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { getData() { return { - // content: this.codeEditor.getValue() - content: "" + content: this.codeEditor.getText() }; } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 20c76b227f..dd904817ac 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,15 +1,45 @@ import { defaultKeymap } from "@codemirror/commands"; -import { EditorView, keymap, lineNumbers, type EditorViewConfig } from "@codemirror/view"; +import { EditorView, keymap, lineNumbers, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; + +type ContentChangedListener = () => void; + +export interface EditorConfig extends EditorViewConfig { + onContentChanged?: ContentChangedListener; +} export default class CodeMirror extends EditorView { - constructor(config: EditorViewConfig) { + + private config: EditorConfig; + + constructor(config: EditorConfig) { + let extensions = [ + keymap.of(defaultKeymap), + lineNumbers() + ]; + + if (Array.isArray(config.extensions)) { + extensions = [...extensions, ...config.extensions]; + } + + if (config.onContentChanged) { + extensions.push(EditorView.updateListener.of((v) => this.#onDocumentUpdated(v))); + } + super({ ...config, - extensions: [ - keymap.of(defaultKeymap), - lineNumbers() - ] + extensions }); + this.config = config; + } + + #onDocumentUpdated(v: ViewUpdate) { + if (v.docChanged) { + this.config.onContentChanged?.(); + } + } + + getText() { + return this.state.doc.toString(); } setText(content: string) { From 385809df84ce094c73cae744efe4b7d8e5ef27c2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 20:20:38 +0300 Subject: [PATCH 007/112] fix(code): reintroduce indent with tab --- packages/codemirror/src/index.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index dd904817ac..788e26e698 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,5 +1,5 @@ -import { defaultKeymap } from "@codemirror/commands"; -import { EditorView, keymap, lineNumbers, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; +import { defaultKeymap, indentWithTab } from "@codemirror/commands"; +import { EditorView, keymap, lineNumbers, ViewUpdate, type EditorViewConfig, type KeyBinding } from "@codemirror/view"; type ContentChangedListener = () => void; @@ -13,7 +13,10 @@ export default class CodeMirror extends EditorView { constructor(config: EditorConfig) { let extensions = [ - keymap.of(defaultKeymap), + keymap.of([ + ...defaultKeymap, + indentWithTab + ]), lineNumbers() ]; From 71218c0bd4986e584a1fdbca4e46da310bb64594 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 21:38:12 +0300 Subject: [PATCH 008/112] chore(code): enable syntax highlighting plugin --- packages/codemirror/src/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 788e26e698..ef0459ebb6 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,5 +1,6 @@ import { defaultKeymap, indentWithTab } from "@codemirror/commands"; import { EditorView, keymap, lineNumbers, ViewUpdate, type EditorViewConfig, type KeyBinding } from "@codemirror/view"; +import { defaultHighlightStyle, syntaxHighlighting } from "@codemirror/language"; type ContentChangedListener = () => void; @@ -17,6 +18,7 @@ export default class CodeMirror extends EditorView { ...defaultKeymap, indentWithTab ]), + syntaxHighlighting(defaultHighlightStyle), lineNumbers() ]; From 8bb1ac7e71e79ecca111d173ef45623ab1e53c2d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 22:29:32 +0300 Subject: [PATCH 009/112] chore(code): start mapping syntax highlight --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 167 ++++++ pnpm-lock.yaml | 483 +++++++++--------- 3 files changed, 410 insertions(+), 241 deletions(-) create mode 100644 packages/codemirror/src/syntax_highlighting.ts diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 61cdf5f3b1..556feebcd1 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@codemirror/commands": "6.8.1", + "@codemirror/legacy-modes": "6.5.1", "@codemirror/view": "6.36.7" } } diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts new file mode 100644 index 0000000000..2a59472ca5 --- /dev/null +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -0,0 +1,167 @@ +import { type Extension } from '@codemirror/state'; +import { type StreamParser } from "@codemirror/language" + +const mappings: Record Promise>) | null> = { + "text/plain": null, + "text/apl": async () => (await import('@codemirror/legacy-modes/mode/apl')).apl, + "text/x-ttcn-asn": null, + "application/x-aspx": null, + "text/x-asterisk": null, + "application/x-bat": null, + "text/x-brainfuck": null, + "text/x-csrc": null, + "text/x-csharp": null, + "text/x-c++src": null, + "text/x-clojure": null, + "text/x-clojurescript": null, + "text/x-gss": null, + "text/x-cmake": null, + "text/x-cobol": null, + "text/coffeescript": null, + "text/x-common-lisp": null, + "text/x-cassandra": null, + "text/x-crystal": null, + "text/css": null, + "application/x-cypher-query": null, + "text/x-cython": null, + "text/x-d": null, + "application/dart": null, + "text/x-diff": null, + "text/x-django": null, + "text/x-dockerfile": null, + "application/xml-dtd": null, + "text/x-dylan": null, + "text/x-ebnf": null, + "text/x-ecl": null, + "application/edn": null, + "text/x-eiffel": null, + "text/x-elm": null, + "application/x-ejs": null, + "application/x-erb": null, + "text/x-erlang": null, + "text/x-esper": null, + "text/x-fsharp": null, + "text/x-factor": null, + "text/x-fcl": null, + "text/x-forth": null, + "text/x-fortran": null, + "text/x-gas": null, + "text/x-feature": null, + "text/x-gfm": null, + "text/x-go": null, + "text/x-groovy": null, + "text/x-haml": null, + "text/x-literate-haskell": null, + "text/x-haskell": null, + "text/x-haxe": null, + "text/html": null, + "message/http": null, + "text/x-hxml": null, + "text/x-idl": null, + "application/x-jsp": null, + "text/x-java": null, + "text/jinja2": null, + "application/javascript;env=backend": null, + "application/javascript;env=frontend": null, + "application/ld+json": null, + "application/json": null, + "text/jsx": null, + "text/x-julia": null, + "text/x-kotlin": null, + "text/x-latex": null, + "text/x-less": null, + "text/x-livescript": null, + "text/x-lua": null, + "text/x-mariadb": null, + "text/x-markdown": null, + "text/x-mathematica": null, + "application/mbox": null, + "text/x-asm-mips": null, + "text/mirc": null, + "text/x-modelica": null, + "text/x-mssql": null, + "text/x-mscgen": null, + "text/x-msgenny": null, + "text/x-mumps": null, + "text/x-mysql": null, + "text/x-nginx-conf": null, + "text/x-nsis": null, + "application/n-triples": null, + "text/x-objectivec": null, + "text/x-ocaml": null, + "text/x-octave": null, + "text/x-oz": null, + "text/x-pascal": null, + "null": null, + "text/x-perl": null, + "application/pgp": null, + "text/x-php": null, + "text/x-pig": null, + "text/x-plsql": null, + "text/x-pgsql": null, + "application/x-powershell": null, + "text/x-properties": null, + "text/x-protobuf": null, + "text/x-pug": null, + "text/x-puppet": null, + "text/x-python": null, + "text/x-q": null, + "text/x-rsrc": null, + "text/x-rst": null, + "text/x-rpm-changes": null, + "text/x-rpm-spec": null, + "text/x-ruby": null, + "text/x-rustsrc": null, + "text/x-sas": null, + "text/x-sass": null, + "text/x-scala": null, + "text/x-scheme": null, + "text/x-scss": null, + "text/x-sh": null, + "application/sieve": null, + "text/x-slim": null, + "text/x-stsrc": null, + "text/x-smarty": null, + "text/x-sml": null, + "text/x-solr": null, + "text/x-soy": null, + "application/sparql-query": null, + "text/x-spreadsheet": null, + "text/x-sql": null, + "text/x-sqlite;schema=trilium": null, + "text/x-sqlite": null, + "text/x-squirrel": null, + "text/x-stex": null, + "text/x-styl": null, + "text/x-swift": null, + "text/x-systemverilog": null, + "text/x-tcl": null, + "text/x-hcl": null, + "text/x-textile": null, + "text/x-tiddlywiki": null, + "text/tiki": null, + "text/x-toml": null, + "text/x-tornado": null, + "text/troff": null, + "text/x-ttcn-cfg": null, + "text/x-ttcn": null, + "text/turtle": null, + "text/x-twig": null, + "text/typescript-jsx": null, + "application/typescript": null, + "text/x-vb": null, + "text/vbscript": null, + "text/velocity": null, + "text/x-verilog": null, + "text/x-vhdl": null, + "text/x-vue": null, + "text/x-webidl": null, + "text/xml": null, + "application/xquery": null, + "text/x-xu": null, + "text/x-yacas": null, + "text/x-yaml": null, + "text/x-z80": null +} + +export default mappings; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad51bda61f..873d9c0734 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -311,7 +311,7 @@ importers: version: 19.1.3(@types/react@19.1.3) copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) happy-dom: specifier: 17.4.6 version: 17.4.6 @@ -397,7 +397,7 @@ importers: version: 1.0.2 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) electron: specifier: 36.2.0 version: 36.2.0 @@ -450,7 +450,7 @@ importers: version: 11.0.4 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) electron: specifier: 36.2.0 version: 36.2.0 @@ -625,7 +625,7 @@ importers: version: 1.4.7 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) csrf-csrf: specifier: 3.2.2 version: 3.2.2 @@ -796,7 +796,7 @@ importers: version: 1.0.1 webpack: specifier: 5.99.8 - version: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + version: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) ws: specifier: 8.18.2 version: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -848,7 +848,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -908,7 +908,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -968,7 +968,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1029,13 +1029,13 @@ importers: version: 43.0.1(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.8.3) '@ckeditor/ckeditor5-dev-utils': specifier: 43.0.1 - version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) '@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.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1102,7 +1102,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1157,6 +1157,9 @@ importers: '@codemirror/commands': specifier: 6.8.1 version: 6.8.1 + '@codemirror/legacy-modes': + specifier: 6.5.1 + version: 6.5.1 '@codemirror/view': specifier: 6.36.7 version: 6.36.7 @@ -2151,6 +2154,9 @@ packages: '@codemirror/language@6.11.0': resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} + '@codemirror/legacy-modes@6.5.1': + resolution: {integrity: sha512-DJYQQ00N1/KdESpZV7jg9hafof/iBNp9h7TYo1SLMk86TWl9uDsVdho2dzd81K+v4retmK6mdC7WpuOQDytQqw==} + '@codemirror/state@6.5.2': resolution: {integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==} @@ -14980,6 +14986,12 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-adapter-ckfinder@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-adapter-ckfinder@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15002,6 +15014,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-autoformat@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15026,6 +15047,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-basic-styles@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-basic-styles@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15039,6 +15069,16 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-block-quote@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-block-quote@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15111,6 +15151,12 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-cloud-services@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-cloud-services@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15121,6 +15167,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15254,11 +15311,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': + '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': dependencies: '@babel/parser': 7.27.0 '@babel/traverse': 7.27.0 - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) chalk: 5.4.1 fs-extra: 11.3.0 glob: 10.4.5 @@ -15276,58 +15333,58 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': + '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': dependencies: '@ckeditor/ckeditor5-dev-translations': 43.0.1 chalk: 3.0.0 cli-cursor: 3.1.0 cli-spinners: 2.9.2 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 - esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) fs-extra: 11.3.0 is-interactive: 1.0.0 javascript-stringify: 1.6.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) mocha: 7.2.0 postcss: 8.5.3 postcss-import: 14.1.0(postcss@8.5.3) - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) postcss-mixins: 9.0.4(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) shelljs: 0.8.5 - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) through2: 3.0.2 transitivePeerDependencies: - bluebird - supports-color - webpack - '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': + '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) chalk: 5.4.1 cli-cursor: 5.0.0 cli-spinners: 3.2.0 - css-loader: 7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + css-loader: 7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) cssnano: 7.0.6(postcss@8.5.3) - esbuild-loader: 4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + esbuild-loader: 4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) fs-extra: 11.3.0 is-interactive: 2.0.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) mocha: 10.8.2 postcss: 8.5.3 postcss-import: 16.1.0(postcss@8.5.3) - postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) postcss-mixins: 11.0.3(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) shelljs: 0.8.5 - style-loader: 4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + style-loader: 4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) through2: 4.0.2 transitivePeerDependencies: - '@rspack/core' @@ -15342,7 +15399,7 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15354,7 +15411,7 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15366,6 +15423,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-easy-image@45.0.0': + dependencies: + '@ckeditor/ckeditor5-cloud-services': 45.0.0 + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-easy-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15378,6 +15443,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-editor-balloon@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-editor-balloon@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15391,6 +15465,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-editor-classic@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-editor-classic@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15404,6 +15487,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-editor-decoupled@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-editor-decoupled@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15417,6 +15509,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-editor-inline@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-editor-inline@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15478,6 +15579,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-essentials@45.0.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-select-all': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-essentials@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15515,15 +15627,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-font@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-font@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15542,8 +15645,8 @@ snapshots: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-document-outline': 45.0.0 - '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-decoupled': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-classic': 45.0.0 + '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-pagination': 45.0.0 '@ckeditor/ckeditor5-real-time-collaboration': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15556,16 +15659,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-heading@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-paragraph': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-heading@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15580,14 +15673,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-highlight@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-highlight@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15649,10 +15734,10 @@ snapshots: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -15678,21 +15763,6 @@ snapshots: '@ckeditor/ckeditor5-icons@45.0.0': {} - '@ckeditor/ckeditor5-image@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15712,17 +15782,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-indent@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-indent@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15740,13 +15799,6 @@ snapshots: '@ckeditor/ckeditor5-inspector@4.1.0': {} - '@ckeditor/ckeditor5-language@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-language@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15758,20 +15810,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-link@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-link@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15790,18 +15828,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-list@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-list@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15876,15 +15902,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-mention@45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-mention@45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15902,22 +15919,14 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-minimap@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-minimap@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15937,29 +15946,29 @@ snapshots: es-toolkit: 1.32.0 protobufjs: 7.4.0 - '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)': + '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) buffer: 6.0.3 chalk: 5.4.1 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) fs-extra: 11.3.0 glob: 7.2.3 minimist: 1.2.8 postcss: 8.5.3 - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) process: 0.11.10 - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) stylelint: 16.19.1(typescript@5.0.4) stylelint-config-ckeditor5: 2.0.1(stylelint@16.19.1(typescript@5.8.3)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) ts-node: 10.9.2(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(typescript@5.0.4) typescript: 5.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -16038,7 +16047,7 @@ snapshots: '@ckeditor/ckeditor5-real-time-collaboration@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor-cloud-services-collaboration': 52.7.0(@ckeditor/ckeditor5-utils@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(bufferutil@4.0.9)(ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)(bufferutil@4.0.9)(utf-8-validate@6.0.5))(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-cloud-services': 45.0.0 '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16104,7 +16113,7 @@ snapshots: '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-classic': 45.0.0 '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16199,12 +16208,12 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-html-support': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0 + '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)(bufferutil@4.0.9)(utf-8-validate@6.0.5) es-toolkit: 1.32.0 '@ckeditor/ckeditor5-style@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': @@ -16223,18 +16232,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-table@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-table@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16262,25 +16259,25 @@ snapshots: '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-find-and-replace': 45.0.0 - '@ckeditor/ckeditor5-font': 45.0.0 - '@ckeditor/ckeditor5-heading': 45.0.0 - '@ckeditor/ckeditor5-highlight': 45.0.0 + '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-link': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 + '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-media-embed': 45.0.0 '@ckeditor/ckeditor5-merge-fields': 45.0.0 '@ckeditor/ckeditor5-restricted-editing': 45.0.0 '@ckeditor/ckeditor5-style': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0 + '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16414,6 +16411,10 @@ snapshots: '@lezer/lr': 1.4.2 style-mod: 4.1.2 + '@codemirror/legacy-modes@6.5.1': + dependencies: + '@codemirror/language': 6.11.0 + '@codemirror/state@6.5.2': dependencies: '@marijn/find-cluster-break': 1.0.2 @@ -21585,47 +21586,47 @@ snapshots: ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: - '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-autoformat': 45.0.0 '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-basic-styles': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-block-quote': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-basic-styles': 45.0.0 + '@ckeditor/ckeditor5-block-quote': 45.0.0 '@ckeditor/ckeditor5-bookmark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ckbox': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-cloud-services': 45.0.0 + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-easy-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-balloon': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-decoupled': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-inline': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-easy-image': 45.0.0 + '@ckeditor/ckeditor5-editor-balloon': 45.0.0 + '@ckeditor/ckeditor5-editor-classic': 45.0.0 + '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 + '@ckeditor/ckeditor5-editor-inline': 45.0.0 '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-emoji': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-essentials': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-essentials': 45.0.0 '@ckeditor/ckeditor5-find-and-replace': 45.0.0 - '@ckeditor/ckeditor5-font': 45.0.0 + '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 - '@ckeditor/ckeditor5-highlight': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-horizontal-line': 45.0.0 '@ckeditor/ckeditor5-html-embed': 45.0.0 '@ckeditor/ckeditor5-html-support': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-indent': 45.0.0 - '@ckeditor/ckeditor5-language': 45.0.0 - '@ckeditor/ckeditor5-link': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 + '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-indent': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-language': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-markdown-gfm': 45.0.0 '@ckeditor/ckeditor5-media-embed': 45.0.0 - '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) - '@ckeditor/ckeditor5-minimap': 45.0.0 + '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-minimap': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-page-break': 45.0.0 '@ckeditor/ckeditor5-paragraph': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-paste-from-office': 45.0.0 @@ -21635,8 +21636,8 @@ snapshots: '@ckeditor/ckeditor5-show-blocks': 45.0.0 '@ckeditor/ckeditor5-source-editing': 45.0.0 '@ckeditor/ckeditor5-special-characters': 45.0.0 - '@ckeditor/ckeditor5-style': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0 + '@ckeditor/ckeditor5-style': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -21952,14 +21953,14 @@ snapshots: serialize-javascript: 6.0.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - copy-webpack-plugin@13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + copy-webpack-plugin@13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.13 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) core-js-compat@3.41.0: dependencies: @@ -22070,7 +22071,7 @@ snapshots: css-functions-list@3.2.3: {} - css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: icss-utils: 5.1.0(postcss@8.5.3) loader-utils: 2.0.4 @@ -22082,7 +22083,7 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.7.1 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) css-loader@6.11.0(webpack@5.98.0): dependencies: @@ -22097,7 +22098,7 @@ snapshots: optionalDependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - css-loader@7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + css-loader@7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: icss-utils: 5.1.0(postcss@8.5.3) postcss: 8.5.3 @@ -22108,7 +22109,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.1 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) css-minimizer-webpack-plugin@5.0.1(esbuild@0.25.4)(webpack@5.98.0): dependencies: @@ -23170,20 +23171,20 @@ snapshots: es6-promise@4.2.8: {} - esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: esbuild: 0.17.19 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-sources: 1.4.3 - esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: esbuild: 0.25.3 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-sources: 1.4.3 esbuild@0.17.19: @@ -26236,10 +26237,10 @@ snapshots: schema-utils: 4.3.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: schema-utils: 4.3.2 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) minimalistic-assert@1.0.1: {} @@ -27350,7 +27351,7 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.3 - postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -27358,7 +27359,7 @@ snapshots: postcss: 8.5.3 schema-utils: 3.3.0 semver: 7.7.1 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) postcss-loader@6.2.1(postcss@8.5.3)(webpack@5.98.0): dependencies: @@ -27368,14 +27369,14 @@ snapshots: semver: 7.7.1 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: cosmiconfig: 9.0.0(typescript@5.0.4) jiti: 1.21.7 postcss: 8.5.3 semver: 7.7.1 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) transitivePeerDependencies: - typescript @@ -27971,11 +27972,11 @@ snapshots: raw-loader@0.5.1: {} - raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) rc@1.2.8: dependencies: @@ -29211,19 +29212,19 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.4.2 - style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) style-loader@3.3.4(webpack@5.98.0): dependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - style-loader@4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + style-loader@4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) style-mod@4.1.2: {} @@ -29584,7 +29585,7 @@ snapshots: rimraf: 2.6.3 optional: true - terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -29594,7 +29595,7 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-sources: 1.4.3 transitivePeerDependencies: - bluebird @@ -29611,14 +29612,14 @@ snapshots: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 - terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) optionalDependencies: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 @@ -29776,7 +29777,7 @@ snapshots: ts-dedent@2.2.0: {} - ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.1 @@ -29784,7 +29785,7 @@ snapshots: semver: 7.7.1 source-map: 0.7.4 typescript: 5.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) ts-loader@9.5.2(typescript@5.8.3)(webpack@5.98.0): dependencies: @@ -30484,7 +30485,7 @@ snapshots: optionalDependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-dev-middleware@7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + webpack-dev-middleware@7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -30493,9 +30494,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) - webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.98.0): + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -30523,10 +30524,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.98.0) + webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-cli: 6.0.1(webpack@5.98.0) transitivePeerDependencies: - bufferutil @@ -30534,7 +30535,7 @@ snapshots: - supports-color - utf-8-validate - webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.98.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -30562,10 +30563,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + webpack-dev-middleware: 7.4.2(webpack@5.98.0) ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack@5.98.0) transitivePeerDependencies: - bufferutil @@ -30630,7 +30631,7 @@ snapshots: - esbuild - uglify-js - webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1): + webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -30653,7 +30654,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: From 5a07d5a91315315a954583400b3ae8139bb598c1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 23:09:59 +0300 Subject: [PATCH 010/112] chore(code): define legacy mappings --- .../codemirror/src/syntax_highlighting.ts | 256 +++++++++--------- 1 file changed, 127 insertions(+), 129 deletions(-) diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 2a59472ca5..0e679b762b 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -1,167 +1,165 @@ -import { type Extension } from '@codemirror/state'; import { type StreamParser } from "@codemirror/language" const mappings: Record Promise>) | null> = { "text/plain": null, "text/apl": async () => (await import('@codemirror/legacy-modes/mode/apl')).apl, - "text/x-ttcn-asn": null, + "text/x-ttcn-asn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, "application/x-aspx": null, - "text/x-asterisk": null, + "text/x-asterisk": async () => (await import('@codemirror/legacy-modes/mode/asterisk')).asterisk, "application/x-bat": null, - "text/x-brainfuck": null, - "text/x-csrc": null, - "text/x-csharp": null, - "text/x-c++src": null, - "text/x-clojure": null, + "text/x-brainfuck": async () => (await import('@codemirror/legacy-modes/mode/brainfuck')).brainfuck, + "text/x-csrc": async () => (await import('@codemirror/legacy-modes/mode/clike')).c, + "text/x-csharp": async () => (await import('@codemirror/legacy-modes/mode/clike')).csharp, + "text/x-c++src": async () => (await import('@codemirror/legacy-modes/mode/clike')).cpp, + "text/x-clojure": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure, "text/x-clojurescript": null, - "text/x-gss": null, - "text/x-cmake": null, - "text/x-cobol": null, - "text/coffeescript": null, - "text/x-common-lisp": null, - "text/x-cassandra": null, - "text/x-crystal": null, - "text/css": null, - "application/x-cypher-query": null, - "text/x-cython": null, - "text/x-d": null, - "application/dart": null, - "text/x-diff": null, + "text/x-gss": async () => (await import('@codemirror/legacy-modes/mode/css')).gss, + "text/x-cmake": async () => (await import('@codemirror/legacy-modes/mode/cmake')).cmake, + "text/x-cobol": async () => (await import('@codemirror/legacy-modes/mode/cobol')).cobol, + "text/coffeescript": async () => (await import('@codemirror/legacy-modes/mode/coffeescript')).coffeeScript, + "text/x-common-lisp": async () => (await import('@codemirror/legacy-modes/mode/commonlisp')).commonLisp, + "text/x-cassandra": async () => (await import('@codemirror/legacy-modes/mode/sql')).cassandra, + "text/x-crystal": async () => (await import('@codemirror/legacy-modes/mode/crystal')).crystal, + "text/css": async () => (await import('@codemirror/legacy-modes/mode/css')).css, + "application/x-cypher-query": async () => (await import('@codemirror/legacy-modes/mode/cypher')).cypher, + "text/x-cython": async () => (await import('@codemirror/legacy-modes/mode/python')).cython, + "text/x-d": async () => (await import('@codemirror/legacy-modes/mode/d')).d, + "application/dart": async () => (await import('@codemirror/legacy-modes/mode/clike')).dart, + "text/x-diff": async () => (await import('@codemirror/legacy-modes/mode/diff')).diff, "text/x-django": null, - "text/x-dockerfile": null, - "application/xml-dtd": null, - "text/x-dylan": null, - "text/x-ebnf": null, - "text/x-ecl": null, + "text/x-dockerfile": async () => (await import('@codemirror/legacy-modes/mode/dockerfile')).dockerFile, + "application/xml-dtd": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml, + "text/x-dylan": async () => (await import('@codemirror/legacy-modes/mode/dylan')).dylan, + "text/x-ebnf": async () => (await import('@codemirror/legacy-modes/mode/ebnf')).ebnf, + "text/x-ecl": async () => (await import('@codemirror/legacy-modes/mode/ecl')).ecl, "application/edn": null, - "text/x-eiffel": null, - "text/x-elm": null, + "text/x-eiffel": async () => (await import('@codemirror/legacy-modes/mode/eiffel')).eiffel, + "text/x-elm": async () => (await import('@codemirror/legacy-modes/mode/elm')).elm, "application/x-ejs": null, "application/x-erb": null, - "text/x-erlang": null, - "text/x-esper": null, - "text/x-fsharp": null, - "text/x-factor": null, - "text/x-fcl": null, - "text/x-forth": null, - "text/x-fortran": null, - "text/x-gas": null, + "text/x-erlang": async () => (await import('@codemirror/legacy-modes/mode/erlang')).erlang, + "text/x-esper": async () => (await import('@codemirror/legacy-modes/mode/sql')).esper, + "text/x-fsharp": async () => (await import('@codemirror/legacy-modes/mode/mllike')).fSharp, + "text/x-factor": async () => (await import('@codemirror/legacy-modes/mode/factor')).factor, + "text/x-fcl": async () => (await import('@codemirror/legacy-modes/mode/fcl')).fcl, + "text/x-forth": async () => (await import('@codemirror/legacy-modes/mode/forth')).forth, + "text/x-fortran": async () => (await import('@codemirror/legacy-modes/mode/fortran')).fortran, + "text/x-gas": async () => (await import('@codemirror/legacy-modes/mode/gas')).gas, "text/x-feature": null, "text/x-gfm": null, - "text/x-go": null, - "text/x-groovy": null, + "text/x-go": async () => (await import('@codemirror/legacy-modes/mode/go')).go, + "text/x-groovy": async () => (await import('@codemirror/legacy-modes/mode/groovy')).groovy, "text/x-haml": null, "text/x-literate-haskell": null, - "text/x-haskell": null, - "text/x-haxe": null, - "text/html": null, - "message/http": null, - "text/x-hxml": null, - "text/x-idl": null, + "text/x-haskell": async () => (await import('@codemirror/legacy-modes/mode/haskell')).haskell, + "text/x-haxe": async () => (await import('@codemirror/legacy-modes/mode/haxe')).haxe, + "text/html": async () => (await import('@codemirror/legacy-modes/mode/xml')).html, + "message/http": async () => (await import('@codemirror/legacy-modes/mode/http')).http, + "text/x-hxml": async () => (await import('@codemirror/legacy-modes/mode/haxe')).hxml, + "text/x-idl": async () => (await import('@codemirror/legacy-modes/mode/idl')).idl, "application/x-jsp": null, - "text/x-java": null, - "text/jinja2": null, - "application/javascript;env=backend": null, - "application/javascript;env=frontend": null, - "application/ld+json": null, - "application/json": null, + "text/x-java": async () => (await import('@codemirror/legacy-modes/mode/clike')).java, + "text/jinja2": async () => (await import('@codemirror/legacy-modes/mode/jinja2')).jinja2, + "application/javascript;env=backend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, + "application/javascript;env=frontend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, + "application/ld+json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).jsonld, + "application/json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).json, "text/jsx": null, - "text/x-julia": null, - "text/x-kotlin": null, + "text/x-julia": async () => (await import('@codemirror/legacy-modes/mode/julia')).julia, + "text/x-kotlin": async () => (await import('@codemirror/legacy-modes/mode/clike')).kotlin, "text/x-latex": null, - "text/x-less": null, - "text/x-livescript": null, - "text/x-lua": null, - "text/x-mariadb": null, + "text/x-less": async () => (await import('@codemirror/legacy-modes/mode/css')).less, + "text/x-livescript": async () => (await import('@codemirror/legacy-modes/mode/livescript')).liveScript, + "text/x-lua": async () => (await import('@codemirror/legacy-modes/mode/lua')).lua, + "text/x-mariadb": async () => (await import('@codemirror/legacy-modes/mode/sql')).sqlite, "text/x-markdown": null, - "text/x-mathematica": null, - "application/mbox": null, + "text/x-mathematica": async () => (await import('@codemirror/legacy-modes/mode/mathematica')).mathematica, + "application/mbox": async () => (await import('@codemirror/legacy-modes/mode/mbox')).mbox, "text/x-asm-mips": null, - "text/mirc": null, - "text/x-modelica": null, - "text/x-mssql": null, - "text/x-mscgen": null, - "text/x-msgenny": null, - "text/x-mumps": null, - "text/x-mysql": null, - "text/x-nginx-conf": null, - "text/x-nsis": null, - "application/n-triples": null, - "text/x-objectivec": null, - "text/x-ocaml": null, - "text/x-octave": null, - "text/x-oz": null, - "text/x-pascal": null, - "null": null, - "text/x-perl": null, + "text/mirc": async () => (await import('@codemirror/legacy-modes/mode/mirc')).mirc, + "text/x-modelica": async () => (await import('@codemirror/legacy-modes/mode/modelica')).modelica, + "text/x-mssql": async () => (await import('@codemirror/legacy-modes/mode/sql')).msSQL, + "text/x-mscgen": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).mscgen, + "text/x-msgenny": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).msgenny, + "text/x-mumps": async () => (await import('@codemirror/legacy-modes/mode/mumps')).mumps, + "text/x-mysql": async () => (await import('@codemirror/legacy-modes/mode/sql')).mySQL, + "text/x-nginx-conf": async () => (await import('@codemirror/legacy-modes/mode/nginx')).nginx, + "text/x-nsis": async () => (await import('@codemirror/legacy-modes/mode/nsis')).nsis, + "application/n-triples": async () => (await import('@codemirror/legacy-modes/mode/ntriples')).ntriples, + "text/x-objectivec": async () => (await import('@codemirror/legacy-modes/mode/clike')).objectiveC, + "text/x-ocaml": async () => (await import('@codemirror/legacy-modes/mode/mllike')).oCaml, + "text/x-octave": async () => (await import('@codemirror/legacy-modes/mode/octave')).octave, + "text/x-oz": async () => (await import('@codemirror/legacy-modes/mode/oz')).oz, + "text/x-pascal": async () => (await import('@codemirror/legacy-modes/mode/pascal')).pascal, + "text/x-perl": async () => (await import('@codemirror/legacy-modes/mode/perl')).perl, "application/pgp": null, "text/x-php": null, - "text/x-pig": null, - "text/x-plsql": null, - "text/x-pgsql": null, - "application/x-powershell": null, - "text/x-properties": null, - "text/x-protobuf": null, - "text/x-pug": null, - "text/x-puppet": null, - "text/x-python": null, - "text/x-q": null, + "text/x-pig": async () => (await import('@codemirror/legacy-modes/mode/pig')).pig, + "text/x-plsql": async () => (await import('@codemirror/legacy-modes/mode/sql')).plSQL, + "text/x-pgsql": async () => (await import('@codemirror/legacy-modes/mode/sql')).pgSQL, + "application/x-powershell": async () => (await import('@codemirror/legacy-modes/mode/powershell')).powerShell, + "text/x-properties": async () => (await import('@codemirror/legacy-modes/mode/properties')).properties, + "text/x-protobuf": async () => (await import('@codemirror/legacy-modes/mode/protobuf')).protobuf, + "text/x-pug": async () => (await import('@codemirror/legacy-modes/mode/pug')).pug, + "text/x-puppet": async () => (await import('@codemirror/legacy-modes/mode/puppet')).puppet, + "text/x-python": async () => (await import('@codemirror/legacy-modes/mode/python')).python, + "text/x-q": async () => (await import('@codemirror/legacy-modes/mode/q')).q, "text/x-rsrc": null, "text/x-rst": null, - "text/x-rpm-changes": null, - "text/x-rpm-spec": null, - "text/x-ruby": null, - "text/x-rustsrc": null, - "text/x-sas": null, - "text/x-sass": null, - "text/x-scala": null, - "text/x-scheme": null, - "text/x-scss": null, - "text/x-sh": null, - "application/sieve": null, + "text/x-rpm-changes": async () => (await import('@codemirror/legacy-modes/mode/rpm')).rpmChanges, + "text/x-rpm-spec": async () => (await import('@codemirror/legacy-modes/mode/rpm')).rpmSpec, + "text/x-ruby": async () => (await import('@codemirror/legacy-modes/mode/ruby')).ruby, + "text/x-rustsrc": async () => (await import('@codemirror/legacy-modes/mode/rust')).rust, + "text/x-sas": async () => (await import('@codemirror/legacy-modes/mode/sas')).sas, + "text/x-sass": async () => (await import('@codemirror/legacy-modes/mode/sass')).sass, + "text/x-scala": async () => (await import('@codemirror/legacy-modes/mode/clike')).scala, + "text/x-scheme": async () => (await import('@codemirror/legacy-modes/mode/scheme')).scheme, + "text/x-scss": async () => (await import('@codemirror/legacy-modes/mode/css')).sCSS, + "text/x-sh": async () => (await import('@codemirror/legacy-modes/mode/shell')).shell, + "application/sieve": async () => (await import('@codemirror/legacy-modes/mode/sieve')).sieve, "text/x-slim": null, "text/x-stsrc": null, "text/x-smarty": null, - "text/x-sml": null, - "text/x-solr": null, + "text/x-sml": async () => (await import('@codemirror/legacy-modes/mode/mllike')).sml, + "text/x-solr": async () => (await import('@codemirror/legacy-modes/mode/solr')).solr, "text/x-soy": null, - "application/sparql-query": null, - "text/x-spreadsheet": null, - "text/x-sql": null, - "text/x-sqlite;schema=trilium": null, - "text/x-sqlite": null, - "text/x-squirrel": null, - "text/x-stex": null, - "text/x-styl": null, - "text/x-swift": null, + "application/sparql-query": async () => (await import('@codemirror/legacy-modes/mode/sparql')).sparql, + "text/x-spreadsheet": async () => (await import('@codemirror/legacy-modes/mode/spreadsheet')).spreadsheet, + "text/x-sql": async () => (await import('@codemirror/legacy-modes/mode/sql')).mySQL, + "text/x-sqlite;schema=trilium": async () => (await import('@codemirror/legacy-modes/mode/sql')).sqlite, + "text/x-sqlite": async () => (await import('@codemirror/legacy-modes/mode/sql')).sqlite, + "text/x-squirrel": async () => (await import('@codemirror/legacy-modes/mode/clike')).squirrel, + "text/x-stex": async () => (await import('@codemirror/legacy-modes/mode/stex')).stex, + "text/x-styl": async () => (await import('@codemirror/legacy-modes/mode/stylus')).stylus, + "text/x-swift": async () => (await import('@codemirror/legacy-modes/mode/swift')).swift, "text/x-systemverilog": null, - "text/x-tcl": null, + "text/x-tcl": async () => (await import('@codemirror/legacy-modes/mode/tcl')).tcl, "text/x-hcl": null, - "text/x-textile": null, - "text/x-tiddlywiki": null, - "text/tiki": null, - "text/x-toml": null, + "text/x-textile": async () => (await import('@codemirror/legacy-modes/mode/textile')).textile, + "text/x-tiddlywiki": async () => (await import('@codemirror/legacy-modes/mode/tiddlywiki')).tiddlyWiki, + "text/tiki": async () => (await import('@codemirror/legacy-modes/mode/tiki')).tiki, + "text/x-toml": async () => (await import('@codemirror/legacy-modes/mode/toml')).toml, "text/x-tornado": null, - "text/troff": null, - "text/x-ttcn-cfg": null, - "text/x-ttcn": null, - "text/turtle": null, + "text/troff": async () => (await import('@codemirror/legacy-modes/mode/troff')).troff, + "text/x-ttcn-cfg": async () => (await import('@codemirror/legacy-modes/mode/ttcn-cfg')).ttcnCfg, + "text/x-ttcn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, + "text/turtle": async () => (await import('@codemirror/legacy-modes/mode/turtle')).turtle, "text/x-twig": null, "text/typescript-jsx": null, - "application/typescript": null, - "text/x-vb": null, - "text/vbscript": null, - "text/velocity": null, - "text/x-verilog": null, - "text/x-vhdl": null, + "application/typescript": async () => (await import('@codemirror/legacy-modes/mode/javascript')).typescript, + "text/x-vb": async () => (await import('@codemirror/legacy-modes/mode/vb')).vb, + "text/vbscript": async () => (await import('@codemirror/legacy-modes/mode/vbscript')).vbScript, + "text/velocity": async () => (await import('@codemirror/legacy-modes/mode/velocity')).velocity, + "text/x-verilog": async () => (await import('@codemirror/legacy-modes/mode/verilog')).verilog, + "text/x-vhdl": async () => (await import('@codemirror/legacy-modes/mode/vhdl')).vhdl, "text/x-vue": null, - "text/x-webidl": null, - "text/xml": null, - "application/xquery": null, - "text/x-xu": null, - "text/x-yacas": null, - "text/x-yaml": null, - "text/x-z80": null + "text/x-webidl": async () => (await import('@codemirror/legacy-modes/mode/webidl')).webIDL, + "text/xml": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml, + "application/xquery": async () => (await import('@codemirror/legacy-modes/mode/xquery')).xQuery, + "text/x-xu": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).xu, + "text/x-yacas": async () => (await import('@codemirror/legacy-modes/mode/yacas')).yacas, + "text/x-yaml": async () => (await import('@codemirror/legacy-modes/mode/yaml')).yaml, + "text/x-z80": async () => (await import('@codemirror/legacy-modes/mode/z80')).z80 } export default mappings; From 01f02b736c6293fb135b8cf041b65df96c1ec66d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 10 May 2025 23:34:23 +0300 Subject: [PATCH 011/112] chore(code): enable syntax highlighting --- .../src/widgets/type_widgets/editable_code.ts | 1 + packages/codemirror/src/index.ts | 22 ++++++++++++++++++- .../codemirror/src/syntax_highlighting.ts | 4 ++-- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts index 91047876ef..da33bcc0e9 100644 --- a/apps/client/src/widgets/type_widgets/editable_code.ts +++ b/apps/client/src/widgets/type_widgets/editable_code.ts @@ -66,6 +66,7 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { this._update(note, blob?.content ?? ""); }); + this.codeEditor.setMimeType(note.mime); this.show(); if (this.parent && hasTouchBar) { diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index ef0459ebb6..caf72234c9 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,6 +1,8 @@ import { defaultKeymap, indentWithTab } from "@codemirror/commands"; import { EditorView, keymap, lineNumbers, ViewUpdate, type EditorViewConfig, type KeyBinding } from "@codemirror/view"; -import { defaultHighlightStyle, syntaxHighlighting } from "@codemirror/language"; +import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language"; +import { Compartment } from "@codemirror/state"; +import byMimeType from "./syntax_highlighting.js"; type ContentChangedListener = () => void; @@ -11,13 +13,16 @@ export interface EditorConfig extends EditorViewConfig { export default class CodeMirror extends EditorView { private config: EditorConfig; + private languageCompartment: Compartment; constructor(config: EditorConfig) { + const languageCompartment = new Compartment(); let extensions = [ keymap.of([ ...defaultKeymap, indentWithTab ]), + languageCompartment.of([]), syntaxHighlighting(defaultHighlightStyle), lineNumbers() ]; @@ -35,6 +40,7 @@ export default class CodeMirror extends EditorView { extensions }); this.config = config; + this.languageCompartment = languageCompartment; } #onDocumentUpdated(v: ViewUpdate) { @@ -56,4 +62,18 @@ export default class CodeMirror extends EditorView { } }) } + + async setMimeType(mime: string) { + const newExtension = []; + + const correspondingSyntax = byMimeType[mime]; + if (correspondingSyntax) { + const extension = StreamLanguage.define(await correspondingSyntax()); + newExtension.push(extension); + } + + this.dispatch({ + effects: this.languageCompartment.reconfigure(newExtension) + }); + } } diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 0e679b762b..e69fe58255 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -1,6 +1,6 @@ import { type StreamParser } from "@codemirror/language" -const mappings: Record Promise>) | null> = { +const byMimeType: Record Promise>) | null> = { "text/plain": null, "text/apl": async () => (await import('@codemirror/legacy-modes/mode/apl')).apl, "text/x-ttcn-asn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, @@ -162,4 +162,4 @@ const mappings: Record Promise>) | null> = "text/x-z80": async () => (await import('@codemirror/legacy-modes/mode/z80')).z80 } -export default mappings; +export default byMimeType; From efc08a61ef2c024d7b7c1654ee03d6f5ace8e6d8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 10:38:36 +0300 Subject: [PATCH 012/112] chore(code): reintegrate batch syntax --- .../codemirror/src/languages/batch.ts | 61 +++++++++---------- .../codemirror/src/syntax_highlighting.ts | 2 +- 2 files changed, 30 insertions(+), 33 deletions(-) rename apps/client/src/libraries/codemirror/batch.js => packages/codemirror/src/languages/batch.ts (53%) diff --git a/apps/client/src/libraries/codemirror/batch.js b/packages/codemirror/src/languages/batch.ts similarity index 53% rename from apps/client/src/libraries/codemirror/batch.js rename to packages/codemirror/src/languages/batch.ts index cd52aa2ba5..1f55d22862 100644 --- a/apps/client/src/libraries/codemirror/batch.js +++ b/packages/codemirror/src/languages/batch.ts @@ -1,51 +1,48 @@ -// Source: https://github.com/deathau/cm-editor-syntax-highlight-obsidian/issues/27#issuecomment-1340586596 -(() => { - var varsAndArgsRegex = /(%[0-9]|%~\S+|%\S+%)/; +/** + * @module + * + * Ported to CodeMirror 6 from https://github.com/deathau/cm-editor-syntax-highlight-obsidian/issues/27#issuecomment-1340586596 + */ - CodeMirror.defineSimpleMode("batch", { - start: [ - { //comment +import { simpleMode } from "@codemirror/legacy-modes/mode/simple-mode"; + +const varsAndArgsRegex = /(%[0-9]|%~\S+|%\S+%)/; + +export const batch = simpleMode({ + start: [ + { //comment regex: /(rem|::)(?:\s.*|$)/i, token: "comment", sol: true - }, - { //echo + }, + { //echo regex: /(@echo|echo)/i, token: "builtin", sol: true, next: "echo" - }, - { //commands + }, + { //commands regex: /(?:\s|^)(assoc|aux|break|call|cd|chcp|chdir|choice|cls|cmdextversion|color|com1|com2|com3|com4|com|con|copy|country|ctty|date|defined|del|dir|do|dpath|else|endlocal|erase|errorlevel|exist|exit|for|ftype|goto|if|in|loadfix|loadhigh|lpt|lpt1|lpt2|lpt3|lpt4|md|mkdir|move|not|nul|path|pause|popd|prn|prompt|pushd|rd|rename|ren|rmdir|setlocal|set|shift|start|time|title|type|verify|ver|vol)(?:\s|$)/i, token: "builtin" - }, - { //variables and arguments + }, + { //variables and arguments regex: varsAndArgsRegex, token: "variable-2" - }, - { //label + }, + { //label regex: /\s*:.*/, token: "string", sol: true - } - ], - echo: [ - { //highlight variables and arguments in echo command + } + ], + echo: [ + { //highlight variables and arguments in echo command regex: varsAndArgsRegex, token: "variable-2" - }, - { //go back to start state at end of line + }, + { //go back to start state at end of line regex: /.$/, next: "start" - } - ] - }); - - CodeMirror.defineMIME("application/x-bat", "batch"); - CodeMirror.modeInfo.push({ - ext: [ "bat", "cmd" ], - mime: "application/x-bat", - mode: "batch", - name: "Batch file" - }); -})(); + } + ] +}); diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index e69fe58255..ea71698819 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -6,7 +6,7 @@ const byMimeType: Record Promise>) | null> "text/x-ttcn-asn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, "application/x-aspx": null, "text/x-asterisk": async () => (await import('@codemirror/legacy-modes/mode/asterisk')).asterisk, - "application/x-bat": null, + "application/x-bat": async () => (await import("./languages/batch.js")).batch, "text/x-brainfuck": async () => (await import('@codemirror/legacy-modes/mode/brainfuck')).brainfuck, "text/x-csrc": async () => (await import('@codemirror/legacy-modes/mode/clike')).c, "text/x-csharp": async () => (await import('@codemirror/legacy-modes/mode/clike')).csharp, From 9f3e990c95046a1feb44b70d105372b948ae7145 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 10:54:15 +0300 Subject: [PATCH 013/112] chore(code): reintegrate hcl syntax --- packages/codemirror/package.json | 3 +- packages/codemirror/src/index.ts | 10 ++++- .../codemirror/src/syntax_highlighting.ts | 6 +-- pnpm-lock.yaml | 45 +++++++++---------- 4 files changed, 33 insertions(+), 31 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 556feebcd1..fdf4319279 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -21,6 +21,7 @@ "dependencies": { "@codemirror/commands": "6.8.1", "@codemirror/legacy-modes": "6.5.1", - "@codemirror/view": "6.36.7" + "@codemirror/view": "6.36.7", + "codemirror-lang-hcl": "0.1.0" } } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index caf72234c9..74e9a2ed48 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -68,8 +68,14 @@ export default class CodeMirror extends EditorView { const correspondingSyntax = byMimeType[mime]; if (correspondingSyntax) { - const extension = StreamLanguage.define(await correspondingSyntax()); - newExtension.push(extension); + const resolvedSyntax = await correspondingSyntax(); + + if ("token" in resolvedSyntax) { + const extension = StreamLanguage.define(resolvedSyntax); + newExtension.push(extension); + } else { + newExtension.push(resolvedSyntax()); + } } this.dispatch({ diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index ea71698819..562db0480b 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -1,6 +1,6 @@ -import { type StreamParser } from "@codemirror/language" +import { LanguageSupport, type StreamParser } from "@codemirror/language" -const byMimeType: Record Promise>) | null> = { +const byMimeType: Record Promise | (() => LanguageSupport)>) | null> = { "text/plain": null, "text/apl": async () => (await import('@codemirror/legacy-modes/mode/apl')).apl, "text/x-ttcn-asn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, @@ -134,7 +134,7 @@ const byMimeType: Record Promise>) | null> "text/x-swift": async () => (await import('@codemirror/legacy-modes/mode/swift')).swift, "text/x-systemverilog": null, "text/x-tcl": async () => (await import('@codemirror/legacy-modes/mode/tcl')).tcl, - "text/x-hcl": null, + "text/x-hcl": async () => (await import('codemirror-lang-hcl')).hcl, "text/x-textile": async () => (await import('@codemirror/legacy-modes/mode/textile')).textile, "text/x-tiddlywiki": async () => (await import('@codemirror/legacy-modes/mode/tiddlywiki')).tiddlyWiki, "text/tiki": async () => (await import('@codemirror/legacy-modes/mode/tiki')).tiki, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 873d9c0734..8fc0ba49c9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1163,6 +1163,9 @@ importers: '@codemirror/view': specifier: 6.36.7 version: 6.36.7 + codemirror-lang-hcl: + specifier: 0.1.0 + version: 0.1.0 packages/commons: dependencies: @@ -6330,6 +6333,9 @@ packages: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + codemirror-lang-hcl@0.1.0: + resolution: {integrity: sha512-duwKEaQDhkJWad4YQ9pv4282BS6hCdR+gS/qTAj3f9bypXNNZ42bIN43h9WK3DjyZRENtVlUQdrQM1sA44wHmA==} + codemirror@5.65.19: resolution: {integrity: sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==} @@ -15014,15 +15020,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-autoformat@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15193,27 +15190,23 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-collaboration-core@45.0.0': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15234,7 +15227,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16055,7 +16048,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16256,7 +16249,7 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-track-changes@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) @@ -16285,10 +16278,6 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -21582,13 +21571,13 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0 + '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 @@ -21791,6 +21780,12 @@ snapshots: co@4.6.0: {} + codemirror-lang-hcl@0.1.0: + dependencies: + '@codemirror/language': 6.11.0 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + codemirror@5.65.19: {} collect-v8-coverage@1.0.2: {} From 55cf7e0c9b191ab456d3ea08b9ac38628df2b46f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 11:10:24 +0300 Subject: [PATCH 014/112] refactor(code): sort by mime type --- .../codemirror/src/syntax_highlighting.ts | 101 +++++++++--------- 1 file changed, 51 insertions(+), 50 deletions(-) diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 562db0480b..8b2e183729 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -2,112 +2,123 @@ import { LanguageSupport, type StreamParser } from "@codemirror/language" const byMimeType: Record Promise | (() => LanguageSupport)>) | null> = { "text/plain": null, - "text/apl": async () => (await import('@codemirror/legacy-modes/mode/apl')).apl, - "text/x-ttcn-asn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, + + "application/dart": async () => (await import('@codemirror/legacy-modes/mode/clike')).dart, + "application/edn": null, + "application/javascript;env=backend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, + "application/javascript;env=frontend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, + "application/json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).json, + "application/ld+json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).jsonld, + "application/mbox": async () => (await import('@codemirror/legacy-modes/mode/mbox')).mbox, + "application/n-triples": async () => (await import('@codemirror/legacy-modes/mode/ntriples')).ntriples, + "application/pgp": null, + "application/sieve": async () => (await import('@codemirror/legacy-modes/mode/sieve')).sieve, + "application/sparql-query": async () => (await import('@codemirror/legacy-modes/mode/sparql')).sparql, + "application/typescript": async () => (await import('@codemirror/legacy-modes/mode/javascript')).typescript, "application/x-aspx": null, - "text/x-asterisk": async () => (await import('@codemirror/legacy-modes/mode/asterisk')).asterisk, "application/x-bat": async () => (await import("./languages/batch.js")).batch, + "application/x-cypher-query": async () => (await import('@codemirror/legacy-modes/mode/cypher')).cypher, + "application/x-ejs": null, + "application/x-erb": null, + "application/x-jsp": null, + "application/x-powershell": async () => (await import('@codemirror/legacy-modes/mode/powershell')).powerShell, + "application/xml-dtd": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml, + "application/xquery": async () => (await import('@codemirror/legacy-modes/mode/xquery')).xQuery, + "message/http": async () => (await import('@codemirror/legacy-modes/mode/http')).http, + "text/apl": async () => (await import('@codemirror/legacy-modes/mode/apl')).apl, + "text/coffeescript": async () => (await import('@codemirror/legacy-modes/mode/coffeescript')).coffeeScript, + "text/css": async () => (await import('@codemirror/legacy-modes/mode/css')).css, + "text/html": async () => (await import('@codemirror/legacy-modes/mode/xml')).html, + "text/jinja2": async () => (await import('@codemirror/legacy-modes/mode/jinja2')).jinja2, + "text/jsx": null, + "text/mirc": async () => (await import('@codemirror/legacy-modes/mode/mirc')).mirc, + "text/tiki": async () => (await import('@codemirror/legacy-modes/mode/tiki')).tiki, + "text/troff": async () => (await import('@codemirror/legacy-modes/mode/troff')).troff, + "text/turtle": async () => (await import('@codemirror/legacy-modes/mode/turtle')).turtle, + "text/typescript-jsx": null, + "text/vbscript": async () => (await import('@codemirror/legacy-modes/mode/vbscript')).vbScript, + "text/velocity": async () => (await import('@codemirror/legacy-modes/mode/velocity')).velocity, + "text/x-asm-mips": null, + "text/x-asterisk": async () => (await import('@codemirror/legacy-modes/mode/asterisk')).asterisk, "text/x-brainfuck": async () => (await import('@codemirror/legacy-modes/mode/brainfuck')).brainfuck, - "text/x-csrc": async () => (await import('@codemirror/legacy-modes/mode/clike')).c, - "text/x-csharp": async () => (await import('@codemirror/legacy-modes/mode/clike')).csharp, "text/x-c++src": async () => (await import('@codemirror/legacy-modes/mode/clike')).cpp, + "text/x-cassandra": async () => (await import('@codemirror/legacy-modes/mode/sql')).cassandra, "text/x-clojure": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure, "text/x-clojurescript": null, - "text/x-gss": async () => (await import('@codemirror/legacy-modes/mode/css')).gss, "text/x-cmake": async () => (await import('@codemirror/legacy-modes/mode/cmake')).cmake, "text/x-cobol": async () => (await import('@codemirror/legacy-modes/mode/cobol')).cobol, - "text/coffeescript": async () => (await import('@codemirror/legacy-modes/mode/coffeescript')).coffeeScript, "text/x-common-lisp": async () => (await import('@codemirror/legacy-modes/mode/commonlisp')).commonLisp, - "text/x-cassandra": async () => (await import('@codemirror/legacy-modes/mode/sql')).cassandra, "text/x-crystal": async () => (await import('@codemirror/legacy-modes/mode/crystal')).crystal, - "text/css": async () => (await import('@codemirror/legacy-modes/mode/css')).css, - "application/x-cypher-query": async () => (await import('@codemirror/legacy-modes/mode/cypher')).cypher, + "text/x-csharp": async () => (await import('@codemirror/legacy-modes/mode/clike')).csharp, + "text/x-csrc": async () => (await import('@codemirror/legacy-modes/mode/clike')).c, "text/x-cython": async () => (await import('@codemirror/legacy-modes/mode/python')).cython, "text/x-d": async () => (await import('@codemirror/legacy-modes/mode/d')).d, - "application/dart": async () => (await import('@codemirror/legacy-modes/mode/clike')).dart, "text/x-diff": async () => (await import('@codemirror/legacy-modes/mode/diff')).diff, "text/x-django": null, "text/x-dockerfile": async () => (await import('@codemirror/legacy-modes/mode/dockerfile')).dockerFile, - "application/xml-dtd": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml, "text/x-dylan": async () => (await import('@codemirror/legacy-modes/mode/dylan')).dylan, "text/x-ebnf": async () => (await import('@codemirror/legacy-modes/mode/ebnf')).ebnf, "text/x-ecl": async () => (await import('@codemirror/legacy-modes/mode/ecl')).ecl, - "application/edn": null, "text/x-eiffel": async () => (await import('@codemirror/legacy-modes/mode/eiffel')).eiffel, "text/x-elm": async () => (await import('@codemirror/legacy-modes/mode/elm')).elm, - "application/x-ejs": null, - "application/x-erb": null, "text/x-erlang": async () => (await import('@codemirror/legacy-modes/mode/erlang')).erlang, "text/x-esper": async () => (await import('@codemirror/legacy-modes/mode/sql')).esper, - "text/x-fsharp": async () => (await import('@codemirror/legacy-modes/mode/mllike')).fSharp, "text/x-factor": async () => (await import('@codemirror/legacy-modes/mode/factor')).factor, "text/x-fcl": async () => (await import('@codemirror/legacy-modes/mode/fcl')).fcl, + "text/x-feature": null, "text/x-forth": async () => (await import('@codemirror/legacy-modes/mode/forth')).forth, "text/x-fortran": async () => (await import('@codemirror/legacy-modes/mode/fortran')).fortran, + "text/x-fsharp": async () => (await import('@codemirror/legacy-modes/mode/mllike')).fSharp, "text/x-gas": async () => (await import('@codemirror/legacy-modes/mode/gas')).gas, - "text/x-feature": null, "text/x-gfm": null, "text/x-go": async () => (await import('@codemirror/legacy-modes/mode/go')).go, "text/x-groovy": async () => (await import('@codemirror/legacy-modes/mode/groovy')).groovy, + "text/x-gss": async () => (await import('@codemirror/legacy-modes/mode/css')).gss, "text/x-haml": null, - "text/x-literate-haskell": null, "text/x-haskell": async () => (await import('@codemirror/legacy-modes/mode/haskell')).haskell, "text/x-haxe": async () => (await import('@codemirror/legacy-modes/mode/haxe')).haxe, - "text/html": async () => (await import('@codemirror/legacy-modes/mode/xml')).html, - "message/http": async () => (await import('@codemirror/legacy-modes/mode/http')).http, + "text/x-hcl": async () => (await import('codemirror-lang-hcl')).hcl, "text/x-hxml": async () => (await import('@codemirror/legacy-modes/mode/haxe')).hxml, "text/x-idl": async () => (await import('@codemirror/legacy-modes/mode/idl')).idl, - "application/x-jsp": null, "text/x-java": async () => (await import('@codemirror/legacy-modes/mode/clike')).java, - "text/jinja2": async () => (await import('@codemirror/legacy-modes/mode/jinja2')).jinja2, - "application/javascript;env=backend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, - "application/javascript;env=frontend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, - "application/ld+json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).jsonld, - "application/json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).json, - "text/jsx": null, "text/x-julia": async () => (await import('@codemirror/legacy-modes/mode/julia')).julia, "text/x-kotlin": async () => (await import('@codemirror/legacy-modes/mode/clike')).kotlin, "text/x-latex": null, "text/x-less": async () => (await import('@codemirror/legacy-modes/mode/css')).less, + "text/x-literate-haskell": null, "text/x-livescript": async () => (await import('@codemirror/legacy-modes/mode/livescript')).liveScript, "text/x-lua": async () => (await import('@codemirror/legacy-modes/mode/lua')).lua, "text/x-mariadb": async () => (await import('@codemirror/legacy-modes/mode/sql')).sqlite, "text/x-markdown": null, "text/x-mathematica": async () => (await import('@codemirror/legacy-modes/mode/mathematica')).mathematica, - "application/mbox": async () => (await import('@codemirror/legacy-modes/mode/mbox')).mbox, - "text/x-asm-mips": null, - "text/mirc": async () => (await import('@codemirror/legacy-modes/mode/mirc')).mirc, "text/x-modelica": async () => (await import('@codemirror/legacy-modes/mode/modelica')).modelica, - "text/x-mssql": async () => (await import('@codemirror/legacy-modes/mode/sql')).msSQL, "text/x-mscgen": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).mscgen, "text/x-msgenny": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).msgenny, + "text/x-mssql": async () => (await import('@codemirror/legacy-modes/mode/sql')).msSQL, "text/x-mumps": async () => (await import('@codemirror/legacy-modes/mode/mumps')).mumps, "text/x-mysql": async () => (await import('@codemirror/legacy-modes/mode/sql')).mySQL, "text/x-nginx-conf": async () => (await import('@codemirror/legacy-modes/mode/nginx')).nginx, "text/x-nsis": async () => (await import('@codemirror/legacy-modes/mode/nsis')).nsis, - "application/n-triples": async () => (await import('@codemirror/legacy-modes/mode/ntriples')).ntriples, "text/x-objectivec": async () => (await import('@codemirror/legacy-modes/mode/clike')).objectiveC, "text/x-ocaml": async () => (await import('@codemirror/legacy-modes/mode/mllike')).oCaml, "text/x-octave": async () => (await import('@codemirror/legacy-modes/mode/octave')).octave, "text/x-oz": async () => (await import('@codemirror/legacy-modes/mode/oz')).oz, "text/x-pascal": async () => (await import('@codemirror/legacy-modes/mode/pascal')).pascal, "text/x-perl": async () => (await import('@codemirror/legacy-modes/mode/perl')).perl, - "application/pgp": null, + "text/x-pgsql": async () => (await import('@codemirror/legacy-modes/mode/sql')).pgSQL, "text/x-php": null, "text/x-pig": async () => (await import('@codemirror/legacy-modes/mode/pig')).pig, "text/x-plsql": async () => (await import('@codemirror/legacy-modes/mode/sql')).plSQL, - "text/x-pgsql": async () => (await import('@codemirror/legacy-modes/mode/sql')).pgSQL, - "application/x-powershell": async () => (await import('@codemirror/legacy-modes/mode/powershell')).powerShell, "text/x-properties": async () => (await import('@codemirror/legacy-modes/mode/properties')).properties, "text/x-protobuf": async () => (await import('@codemirror/legacy-modes/mode/protobuf')).protobuf, "text/x-pug": async () => (await import('@codemirror/legacy-modes/mode/pug')).pug, "text/x-puppet": async () => (await import('@codemirror/legacy-modes/mode/puppet')).puppet, "text/x-python": async () => (await import('@codemirror/legacy-modes/mode/python')).python, "text/x-q": async () => (await import('@codemirror/legacy-modes/mode/q')).q, - "text/x-rsrc": null, - "text/x-rst": null, "text/x-rpm-changes": async () => (await import('@codemirror/legacy-modes/mode/rpm')).rpmChanges, "text/x-rpm-spec": async () => (await import('@codemirror/legacy-modes/mode/rpm')).rpmSpec, + "text/x-rsrc": null, + "text/x-rst": null, "text/x-ruby": async () => (await import('@codemirror/legacy-modes/mode/ruby')).ruby, "text/x-rustsrc": async () => (await import('@codemirror/legacy-modes/mode/rust')).rust, "text/x-sas": async () => (await import('@codemirror/legacy-modes/mode/sas')).sas, @@ -116,50 +127,40 @@ const byMimeType: Record Promise | (() => L "text/x-scheme": async () => (await import('@codemirror/legacy-modes/mode/scheme')).scheme, "text/x-scss": async () => (await import('@codemirror/legacy-modes/mode/css')).sCSS, "text/x-sh": async () => (await import('@codemirror/legacy-modes/mode/shell')).shell, - "application/sieve": async () => (await import('@codemirror/legacy-modes/mode/sieve')).sieve, "text/x-slim": null, - "text/x-stsrc": null, "text/x-smarty": null, "text/x-sml": async () => (await import('@codemirror/legacy-modes/mode/mllike')).sml, "text/x-solr": async () => (await import('@codemirror/legacy-modes/mode/solr')).solr, "text/x-soy": null, - "application/sparql-query": async () => (await import('@codemirror/legacy-modes/mode/sparql')).sparql, "text/x-spreadsheet": async () => (await import('@codemirror/legacy-modes/mode/spreadsheet')).spreadsheet, "text/x-sql": async () => (await import('@codemirror/legacy-modes/mode/sql')).mySQL, "text/x-sqlite;schema=trilium": async () => (await import('@codemirror/legacy-modes/mode/sql')).sqlite, "text/x-sqlite": async () => (await import('@codemirror/legacy-modes/mode/sql')).sqlite, "text/x-squirrel": async () => (await import('@codemirror/legacy-modes/mode/clike')).squirrel, "text/x-stex": async () => (await import('@codemirror/legacy-modes/mode/stex')).stex, + "text/x-stsrc": null, "text/x-styl": async () => (await import('@codemirror/legacy-modes/mode/stylus')).stylus, "text/x-swift": async () => (await import('@codemirror/legacy-modes/mode/swift')).swift, "text/x-systemverilog": null, "text/x-tcl": async () => (await import('@codemirror/legacy-modes/mode/tcl')).tcl, - "text/x-hcl": async () => (await import('codemirror-lang-hcl')).hcl, "text/x-textile": async () => (await import('@codemirror/legacy-modes/mode/textile')).textile, "text/x-tiddlywiki": async () => (await import('@codemirror/legacy-modes/mode/tiddlywiki')).tiddlyWiki, - "text/tiki": async () => (await import('@codemirror/legacy-modes/mode/tiki')).tiki, "text/x-toml": async () => (await import('@codemirror/legacy-modes/mode/toml')).toml, "text/x-tornado": null, - "text/troff": async () => (await import('@codemirror/legacy-modes/mode/troff')).troff, + "text/x-ttcn-asn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, "text/x-ttcn-cfg": async () => (await import('@codemirror/legacy-modes/mode/ttcn-cfg')).ttcnCfg, "text/x-ttcn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, - "text/turtle": async () => (await import('@codemirror/legacy-modes/mode/turtle')).turtle, "text/x-twig": null, - "text/typescript-jsx": null, - "application/typescript": async () => (await import('@codemirror/legacy-modes/mode/javascript')).typescript, "text/x-vb": async () => (await import('@codemirror/legacy-modes/mode/vb')).vb, - "text/vbscript": async () => (await import('@codemirror/legacy-modes/mode/vbscript')).vbScript, - "text/velocity": async () => (await import('@codemirror/legacy-modes/mode/velocity')).velocity, "text/x-verilog": async () => (await import('@codemirror/legacy-modes/mode/verilog')).verilog, "text/x-vhdl": async () => (await import('@codemirror/legacy-modes/mode/vhdl')).vhdl, "text/x-vue": null, "text/x-webidl": async () => (await import('@codemirror/legacy-modes/mode/webidl')).webIDL, - "text/xml": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml, - "application/xquery": async () => (await import('@codemirror/legacy-modes/mode/xquery')).xQuery, "text/x-xu": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).xu, "text/x-yacas": async () => (await import('@codemirror/legacy-modes/mode/yacas')).yacas, "text/x-yaml": async () => (await import('@codemirror/legacy-modes/mode/yaml')).yaml, "text/x-z80": async () => (await import('@codemirror/legacy-modes/mode/z80')).z80 + "text/xml": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml, } export default byMimeType; From 7cd4bce5b00598862f9ad9efa869dea103589085 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 11:18:19 +0300 Subject: [PATCH 015/112] feat(code): support gdscript (godot) --- .../src/services/mime_type_definitions.ts | 1 + .../services/import/mime_type_definitions.ts | 1 + docs/Release Notes/Release Notes/v0.94.0.md | 1 + packages/codemirror/src/languages/gdscript.ts | 37 +++++++++++++++++++ .../codemirror/src/syntax_highlighting.ts | 5 ++- 5 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 packages/codemirror/src/languages/gdscript.ts diff --git a/apps/client/src/services/mime_type_definitions.ts b/apps/client/src/services/mime_type_definitions.ts index 26e7011b00..1094e50071 100644 --- a/apps/client/src/services/mime_type_definitions.ts +++ b/apps/client/src/services/mime_type_definitions.ts @@ -68,6 +68,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "Forth", mime: "text/x-forth" }, { title: "Fortran", mime: "text/x-fortran", highlightJs: "fortran" }, { title: "Gas", mime: "text/x-gas" }, + { title: "GDScript (Godot)", mime: "text/x-gdscript" }, { title: "Gherkin", mime: "text/x-feature", highlightJs: "gherkin" }, { title: "GitHub Flavored Markdown", mime: "text/x-gfm", highlightJs: "markdown" }, { title: "Go", mime: "text/x-go", highlightJs: "go", default: true }, diff --git a/apps/server/src/services/import/mime_type_definitions.ts b/apps/server/src/services/import/mime_type_definitions.ts index 2ec96e2760..55029914b5 100644 --- a/apps/server/src/services/import/mime_type_definitions.ts +++ b/apps/server/src/services/import/mime_type_definitions.ts @@ -68,6 +68,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "Forth", mime: "text/x-forth" }, { title: "Fortran", mime: "text/x-fortran", highlightJs: "fortran" }, { title: "Gas", mime: "text/x-gas" }, + { title: "GDScript (Godot)", mime: "text/x-gdscript" }, { title: "Gherkin", mime: "text/x-feature", highlightJs: "gherkin" }, { title: "GitHub Flavored Markdown", mime: "text/x-gfm", highlightJs: "markdown" }, { title: "Go", mime: "text/x-go", highlightJs: "go", default: true }, diff --git a/docs/Release Notes/Release Notes/v0.94.0.md b/docs/Release Notes/Release Notes/v0.94.0.md index e745a70a7b..18062acc7b 100644 --- a/docs/Release Notes/Release Notes/v0.94.0.md +++ b/docs/Release Notes/Release Notes/v0.94.0.md @@ -25,6 +25,7 @@ * Emojis. * [Make it show which node triggered the event when right-clicking on tree](https://github.com/TriliumNext/Notes/pull/1861) by @SiriusXT * [Only expand/collapse the left pane of the focused window](https://github.com/TriliumNext/Notes/pull/1905) by @SiriusXT +* Code notes now have support for GDScript (Godot). ## 📖 Documentation diff --git a/packages/codemirror/src/languages/gdscript.ts b/packages/codemirror/src/languages/gdscript.ts new file mode 100644 index 0000000000..fa230d8267 --- /dev/null +++ b/packages/codemirror/src/languages/gdscript.ts @@ -0,0 +1,37 @@ +/** + * @module + * + * Ported to CodeMirror 6 from https://github.com/RobTheFiveNine/obsidian-gdscript/blob/main/src/main.js + */ + +import { simpleMode } from "@codemirror/legacy-modes/mode/simple-mode"; + +export const gdscript = simpleMode({ + start: [ + { regex: /\b0x[0-9a-f]+\b/i, token: "number" }, + { regex: /\b-?\d+\b/, token: "number" }, + { regex: /#.+/, token: 'comment' }, + { regex: /\s*(@onready|@export)\b/, token: 'keyword' }, + { regex: /\b(?:and|as|assert|await|break|breakpoint|const|continue|elif|else|enum|for|if|in|is|master|mastersync|match|not|null|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|static|tool|var|while|yield)\b/, token: 'keyword' }, + { regex: /[()\[\]{},]/, token: "meta" }, + + // The words following func, class_name and class should be highlighted as attributes, + // so push onto the definition stack + { regex: /\b(func|class_name|class|extends|signal)\b/, token: "keyword", push: "definition" }, + + { regex: /@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/, token: "string" }, + { regex: /\$[\w\/]+\b/, token: 'variable' }, + { regex: /\:[\s]*$/, token: 'operator' }, + { regex: /\:[ ]*/, token: 'meta', push: 'var_type' }, + { regex: /\->[ ]*/, token: 'operator', push: 'definition' }, + { regex: /\+|\*|-|\/|:=|>|<|\^|&|\||%|~|=/, token: "operator" }, + { regex: /\b(?:false|true)\b/, token: 'number' }, + { regex: /\b[A-Z][A-Z_\d]*\b/, token: 'operator' }, + ], + var_type: [ + { regex: /(\w+)/, token: 'attribute', pop: true }, + ], + definition: [ + { regex: /(\w+)/, token: "attribute", pop: true } + ] +}); diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 8b2e183729..f2c144afe4 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -70,6 +70,7 @@ const byMimeType: Record Promise | (() => L "text/x-fortran": async () => (await import('@codemirror/legacy-modes/mode/fortran')).fortran, "text/x-fsharp": async () => (await import('@codemirror/legacy-modes/mode/mllike')).fSharp, "text/x-gas": async () => (await import('@codemirror/legacy-modes/mode/gas')).gas, + "text/x-gdscript": async () => (await import('./languages/gdscript.js')).gdscript, "text/x-gfm": null, "text/x-go": async () => (await import('@codemirror/legacy-modes/mode/go')).go, "text/x-groovy": async () => (await import('@codemirror/legacy-modes/mode/groovy')).groovy, @@ -159,8 +160,8 @@ const byMimeType: Record Promise | (() => L "text/x-xu": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).xu, "text/x-yacas": async () => (await import('@codemirror/legacy-modes/mode/yacas')).yacas, "text/x-yaml": async () => (await import('@codemirror/legacy-modes/mode/yaml')).yaml, - "text/x-z80": async () => (await import('@codemirror/legacy-modes/mode/z80')).z80 - "text/xml": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml, + "text/x-z80": async () => (await import('@codemirror/legacy-modes/mode/z80')).z80, + "text/xml": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml } export default byMimeType; From d29286f9e34a02d694efa8bb4e6f2ffe66cd7ceb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 11:27:27 +0300 Subject: [PATCH 016/112] chore(code): reintroduce placeholder --- apps/client/src/widgets/type_widgets/editable_code.ts | 2 +- packages/codemirror/src/index.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts index da33bcc0e9..5bc9bc65ea 100644 --- a/apps/client/src/widgets/type_widgets/editable_code.ts +++ b/apps/client/src/widgets/type_widgets/editable_code.ts @@ -44,6 +44,7 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { getExtraOpts(): Partial { return { + placeholder: t("editable_code.placeholder"), onContentChanged: () => this.spacedUpdate.scheduleUpdate() } } @@ -55,7 +56,6 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { // gutters: ["CodeMirror-lint-markers"], // tabindex: 300, // dragDrop: false, // with true the editor inlines dropped files which is not what we expect - // placeholder: t("editable_code.placeholder") // }; // } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 74e9a2ed48..0a3b8989dd 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,5 +1,5 @@ import { defaultKeymap, indentWithTab } from "@codemirror/commands"; -import { EditorView, keymap, lineNumbers, ViewUpdate, type EditorViewConfig, type KeyBinding } from "@codemirror/view"; +import { EditorView, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig, type KeyBinding } from "@codemirror/view"; import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language"; import { Compartment } from "@codemirror/state"; import byMimeType from "./syntax_highlighting.js"; @@ -7,6 +7,7 @@ import byMimeType from "./syntax_highlighting.js"; type ContentChangedListener = () => void; export interface EditorConfig extends EditorViewConfig { + placeholder?: string; onContentChanged?: ContentChangedListener; } @@ -31,6 +32,10 @@ export default class CodeMirror extends EditorView { extensions = [...extensions, ...config.extensions]; } + if (config.placeholder) { + extensions.push(placeholder(config.placeholder)); + } + if (config.onContentChanged) { extensions.push(EditorView.updateListener.of((v) => this.#onDocumentUpdated(v))); } From 9867cd83c4a452e75e52788ceff4dbe09b477951 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 11:37:52 +0300 Subject: [PATCH 017/112] chore(code): reintroduce tab size of 4 --- packages/codemirror/src/index.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 0a3b8989dd..3555fd30cc 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,6 +1,6 @@ import { defaultKeymap, indentWithTab } from "@codemirror/commands"; -import { EditorView, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig, type KeyBinding } from "@codemirror/view"; -import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language"; +import { EditorView, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; +import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit } from "@codemirror/language"; import { Compartment } from "@codemirror/state"; import byMimeType from "./syntax_highlighting.js"; @@ -25,7 +25,8 @@ export default class CodeMirror extends EditorView { ]), languageCompartment.of([]), syntaxHighlighting(defaultHighlightStyle), - lineNumbers() + lineNumbers(), + indentUnit.of(" ".repeat(4)) ]; if (Array.isArray(config.extensions)) { From 2628132350c540805f81034760f65a997ea41e00 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 12:07:54 +0300 Subject: [PATCH 018/112] chore(code): reintroduce line wrapping --- .../src/widgets/type_widgets/abstract_code_type_widget.ts | 2 ++ packages/codemirror/src/index.ts | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts index 4cd477eba9..30684bdc56 100644 --- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts @@ -1,3 +1,4 @@ +import options from "../../services/options.js"; import TypeWidget from "./type_widget.js"; import CodeMirror, { type EditorConfig } from "@triliumnext/codemirror"; @@ -26,6 +27,7 @@ export default class AbstractCodeTypeWidget extends TypeWidget { async #initEditor() { this.codeEditor = new CodeMirror({ parent: this.$editor[0], + lineWrapping: options.is("codeLineWrapEnabled"), ...this.getExtraOpts() }); } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 3555fd30cc..a56829a1e1 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -8,6 +8,7 @@ type ContentChangedListener = () => void; export interface EditorConfig extends EditorViewConfig { placeholder?: string; + lineWrapping?: boolean; onContentChanged?: ContentChangedListener; } @@ -37,6 +38,10 @@ export default class CodeMirror extends EditorView { extensions.push(placeholder(config.placeholder)); } + if (config.lineWrapping) { + extensions.push(EditorView.lineWrapping); + } + if (config.onContentChanged) { extensions.push(EditorView.updateListener.of((v) => this.#onDocumentUpdated(v))); } From ec72800b00520b098151755857e0bc0144f9274e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 12:10:28 +0300 Subject: [PATCH 019/112] chore(code): reintroduce highlight active line & selection --- packages/codemirror/package.json | 1 + packages/codemirror/src/index.ts | 5 +++- pnpm-lock.yaml | 40 +++++++++++++++++++++++++++++--- 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index fdf4319279..f56d2affe1 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -21,6 +21,7 @@ "dependencies": { "@codemirror/commands": "6.8.1", "@codemirror/legacy-modes": "6.5.1", + "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", "codemirror-lang-hcl": "0.1.0" } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index a56829a1e1..1e821c535d 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,7 +1,8 @@ import { defaultKeymap, indentWithTab } from "@codemirror/commands"; -import { EditorView, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; +import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit } from "@codemirror/language"; import { Compartment } from "@codemirror/state"; +import { highlightSelectionMatches } from "@codemirror/search"; import byMimeType from "./syntax_highlighting.js"; type ContentChangedListener = () => void; @@ -26,6 +27,8 @@ export default class CodeMirror extends EditorView { ]), languageCompartment.of([]), syntaxHighlighting(defaultHighlightStyle), + highlightActiveLine(), + highlightSelectionMatches(), lineNumbers(), indentUnit.of(" ".repeat(4)) ]; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8fc0ba49c9..5fcec2fed7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1160,6 +1160,9 @@ importers: '@codemirror/legacy-modes': specifier: 6.5.1 version: 6.5.1 + '@codemirror/search': + specifier: 6.5.10 + version: 6.5.10 '@codemirror/view': specifier: 6.36.7 version: 6.36.7 @@ -2160,6 +2163,9 @@ packages: '@codemirror/legacy-modes@6.5.1': resolution: {integrity: sha512-DJYQQ00N1/KdESpZV7jg9hafof/iBNp9h7TYo1SLMk86TWl9uDsVdho2dzd81K+v4retmK6mdC7WpuOQDytQqw==} + '@codemirror/search@6.5.10': + resolution: {integrity: sha512-RMdPdmsrUf53pb2VwflKGHEe1XVM07hI7vV2ntgw1dmqhimpatSJKva4VA9h4TLUDOD4EIF02201oZurpnEFsg==} + '@codemirror/state@6.5.2': resolution: {integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==} @@ -6593,6 +6599,9 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + cross-dirname@0.1.0: resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==} @@ -15020,6 +15029,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-autoformat@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15666,6 +15684,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-highlight@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-highlight@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16261,7 +16287,7 @@ snapshots: '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16404,6 +16430,12 @@ snapshots: dependencies: '@codemirror/language': 6.11.0 + '@codemirror/search@6.5.10': + dependencies: + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + crelt: 1.0.6 + '@codemirror/state@6.5.2': dependencies: '@marijn/find-cluster-break': 1.0.2 @@ -21577,7 +21609,7 @@ snapshots: dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-autoformat': 45.0.0 '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 @@ -21602,7 +21634,7 @@ snapshots: '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0 '@ckeditor/ckeditor5-horizontal-line': 45.0.0 '@ckeditor/ckeditor5-html-embed': 45.0.0 '@ckeditor/ckeditor5-html-support': 45.0.0 @@ -22024,6 +22056,8 @@ snapshots: create-require@1.1.1: {} + crelt@1.0.6: {} + cross-dirname@0.1.0: {} cross-env@7.0.3: From df92ec9521f44bf4fc7cc9a3c4196cc734a6edbe Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 12:11:24 +0300 Subject: [PATCH 020/112] chore(code): reintroduce bracket matching --- packages/codemirror/src/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 1e821c535d..3edb2a1485 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,6 +1,6 @@ import { defaultKeymap, indentWithTab } from "@codemirror/commands"; import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; -import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit } from "@codemirror/language"; +import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching } from "@codemirror/language"; import { Compartment } from "@codemirror/state"; import { highlightSelectionMatches } from "@codemirror/search"; import byMimeType from "./syntax_highlighting.js"; @@ -29,6 +29,7 @@ export default class CodeMirror extends EditorView { syntaxHighlighting(defaultHighlightStyle), highlightActiveLine(), highlightSelectionMatches(), + bracketMatching(), lineNumbers(), indentUnit.of(" ".repeat(4)) ]; From 67d1868078fd37c96882b4d178afa81690dec06e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 12:13:45 +0300 Subject: [PATCH 021/112] chore(code): mark syntax highlighting as fallback --- packages/codemirror/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 3edb2a1485..787c4a40ef 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -26,7 +26,7 @@ export default class CodeMirror extends EditorView { indentWithTab ]), languageCompartment.of([]), - syntaxHighlighting(defaultHighlightStyle), + syntaxHighlighting(defaultHighlightStyle, { fallback: true }), highlightActiveLine(), highlightSelectionMatches(), bracketMatching(), From a4054dfa4295e07f817414e468b2d99408fc8533 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 12:19:39 +0300 Subject: [PATCH 022/112] chore(code): reintroduce history (undo-redo) --- packages/codemirror/src/index.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 787c4a40ef..98548bab2b 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,4 +1,4 @@ -import { defaultKeymap, indentWithTab } from "@codemirror/commands"; +import { defaultKeymap, history, historyKeymap, indentWithTab } from "@codemirror/commands"; import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching } from "@codemirror/language"; import { Compartment } from "@codemirror/state"; @@ -21,17 +21,19 @@ export default class CodeMirror extends EditorView { constructor(config: EditorConfig) { const languageCompartment = new Compartment(); let extensions = [ - keymap.of([ - ...defaultKeymap, - indentWithTab - ]), languageCompartment.of([]), syntaxHighlighting(defaultHighlightStyle, { fallback: true }), highlightActiveLine(), highlightSelectionMatches(), bracketMatching(), lineNumbers(), - indentUnit.of(" ".repeat(4)) + indentUnit.of(" ".repeat(4)), + history(), + keymap.of([ + ...defaultKeymap, + ...historyKeymap, + indentWithTab + ]), ]; if (Array.isArray(config.extensions)) { From 9c8126016ea6b7b728c97e7570c51e8469aade05 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 12:23:09 +0300 Subject: [PATCH 023/112] fix(code): history of undo/redo preserved across notes --- .../type_widgets/abstract_code_type_widget.ts | 19 +++++-------------- packages/codemirror/src/index.ts | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts index 30684bdc56..e769015777 100644 --- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts @@ -1,3 +1,4 @@ +import type FNote from "../../entities/fnote.js"; import options from "../../services/options.js"; import TypeWidget from "./type_widget.js"; import CodeMirror, { type EditorConfig } from "@triliumnext/codemirror"; @@ -55,22 +56,12 @@ export default class AbstractCodeTypeWidget extends TypeWidget { /** * Must be called by the derived classes in `#doRefresh(note)` in order to react to changes. * - * @param {*} note the note that was changed. - * @param {*} content the new content of the note. + * @param the note that was changed. + * @param new content of the note. */ - _update(note: { mime: string }, content: string) { + _update(note: FNote, content: string) { this.codeEditor.setText(content); - // this.codeEditor.clearHistory(); - - // let info = CodeMirror.findModeByMIME(note.mime); - // if (!info) { - // // Switch back to plain text if CodeMirror does not have a mode for whatever MIME type we're editing. - // // To avoid inheriting a mode from a previously open code note. - // info = CodeMirror.findModeByMIME("text/plain"); - // } - - // this.codeEditor.setOption("mode", info.mime); - // CodeMirror.autoLoadMode(this.codeEditor, info.mode); + this.codeEditor.clearHistory(); } show() { diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 98548bab2b..e3febc6bd4 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -17,18 +17,21 @@ export default class CodeMirror extends EditorView { private config: EditorConfig; private languageCompartment: Compartment; + private historyCompartment: Compartment; constructor(config: EditorConfig) { const languageCompartment = new Compartment(); + const historyCompartment = new Compartment(); + let extensions = [ languageCompartment.of([]), + historyCompartment.of(history()), syntaxHighlighting(defaultHighlightStyle, { fallback: true }), highlightActiveLine(), highlightSelectionMatches(), bracketMatching(), lineNumbers(), indentUnit.of(" ".repeat(4)), - history(), keymap.of([ ...defaultKeymap, ...historyKeymap, @@ -58,6 +61,7 @@ export default class CodeMirror extends EditorView { }); this.config = config; this.languageCompartment = languageCompartment; + this.historyCompartment = historyCompartment; } #onDocumentUpdated(v: ViewUpdate) { @@ -80,6 +84,18 @@ export default class CodeMirror extends EditorView { }) } + /** + * Clears the history of undo/redo. Generally useful when changing to a new document. + */ + clearHistory() { + this.dispatch({ + effects: [ this.historyCompartment.reconfigure([]) ] + }); + this.dispatch({ + effects: [ this.historyCompartment.reconfigure(history())] + }); + } + async setMimeType(mime: string) { const newExtension = []; From 686e57516b83f94a245a74ea2a6c484ab92dd2af Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 12:54:25 +0300 Subject: [PATCH 024/112] chore(code): integrate more legacy modes --- packages/codemirror/src/syntax_highlighting.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index f2c144afe4..81c171c887 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -4,14 +4,14 @@ const byMimeType: Record Promise | (() => L "text/plain": null, "application/dart": async () => (await import('@codemirror/legacy-modes/mode/clike')).dart, - "application/edn": null, + "application/edn": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure, "application/javascript;env=backend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, "application/javascript;env=frontend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, "application/json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).json, "application/ld+json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).jsonld, "application/mbox": async () => (await import('@codemirror/legacy-modes/mode/mbox')).mbox, "application/n-triples": async () => (await import('@codemirror/legacy-modes/mode/ntriples')).ntriples, - "application/pgp": null, + "application/pgp": async () => (await import('@codemirror/legacy-modes/mode/asciiarmor')).asciiArmor, "application/sieve": async () => (await import('@codemirror/legacy-modes/mode/sieve')).sieve, "application/sparql-query": async () => (await import('@codemirror/legacy-modes/mode/sparql')).sparql, "application/typescript": async () => (await import('@codemirror/legacy-modes/mode/javascript')).typescript, @@ -44,7 +44,7 @@ const byMimeType: Record Promise | (() => L "text/x-c++src": async () => (await import('@codemirror/legacy-modes/mode/clike')).cpp, "text/x-cassandra": async () => (await import('@codemirror/legacy-modes/mode/sql')).cassandra, "text/x-clojure": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure, - "text/x-clojurescript": null, + "text/x-clojurescript": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure, "text/x-cmake": async () => (await import('@codemirror/legacy-modes/mode/cmake')).cmake, "text/x-cobol": async () => (await import('@codemirror/legacy-modes/mode/cobol')).cobol, "text/x-common-lisp": async () => (await import('@codemirror/legacy-modes/mode/commonlisp')).commonLisp, @@ -65,7 +65,7 @@ const byMimeType: Record Promise | (() => L "text/x-esper": async () => (await import('@codemirror/legacy-modes/mode/sql')).esper, "text/x-factor": async () => (await import('@codemirror/legacy-modes/mode/factor')).factor, "text/x-fcl": async () => (await import('@codemirror/legacy-modes/mode/fcl')).fcl, - "text/x-feature": null, + "text/x-feature": async () => (await import('@codemirror/legacy-modes/mode/gherkin')).gherkin, "text/x-forth": async () => (await import('@codemirror/legacy-modes/mode/forth')).forth, "text/x-fortran": async () => (await import('@codemirror/legacy-modes/mode/fortran')).fortran, "text/x-fsharp": async () => (await import('@codemirror/legacy-modes/mode/mllike')).fSharp, @@ -84,7 +84,7 @@ const byMimeType: Record Promise | (() => L "text/x-java": async () => (await import('@codemirror/legacy-modes/mode/clike')).java, "text/x-julia": async () => (await import('@codemirror/legacy-modes/mode/julia')).julia, "text/x-kotlin": async () => (await import('@codemirror/legacy-modes/mode/clike')).kotlin, - "text/x-latex": null, + "text/x-latex": async () => (await import('@codemirror/legacy-modes/mode/stex')).stex, "text/x-less": async () => (await import('@codemirror/legacy-modes/mode/css')).less, "text/x-literate-haskell": null, "text/x-livescript": async () => (await import('@codemirror/legacy-modes/mode/livescript')).liveScript, @@ -118,7 +118,7 @@ const byMimeType: Record Promise | (() => L "text/x-q": async () => (await import('@codemirror/legacy-modes/mode/q')).q, "text/x-rpm-changes": async () => (await import('@codemirror/legacy-modes/mode/rpm')).rpmChanges, "text/x-rpm-spec": async () => (await import('@codemirror/legacy-modes/mode/rpm')).rpmSpec, - "text/x-rsrc": null, + "text/x-rsrc": async () => (await import('@codemirror/legacy-modes/mode/r')).r, "text/x-rst": null, "text/x-ruby": async () => (await import('@codemirror/legacy-modes/mode/ruby')).ruby, "text/x-rustsrc": async () => (await import('@codemirror/legacy-modes/mode/rust')).rust, @@ -139,10 +139,10 @@ const byMimeType: Record Promise | (() => L "text/x-sqlite": async () => (await import('@codemirror/legacy-modes/mode/sql')).sqlite, "text/x-squirrel": async () => (await import('@codemirror/legacy-modes/mode/clike')).squirrel, "text/x-stex": async () => (await import('@codemirror/legacy-modes/mode/stex')).stex, - "text/x-stsrc": null, + "text/x-stsrc": async () => (await import('@codemirror/legacy-modes/mode/smalltalk')).smalltalk, "text/x-styl": async () => (await import('@codemirror/legacy-modes/mode/stylus')).stylus, "text/x-swift": async () => (await import('@codemirror/legacy-modes/mode/swift')).swift, - "text/x-systemverilog": null, + "text/x-systemverilog": async () => (await import('@codemirror/legacy-modes/mode/verilog')).verilog, "text/x-tcl": async () => (await import('@codemirror/legacy-modes/mode/tcl')).tcl, "text/x-textile": async () => (await import('@codemirror/legacy-modes/mode/textile')).textile, "text/x-tiddlywiki": async () => (await import('@codemirror/legacy-modes/mode/tiddlywiki')).tiddlyWiki, From afa1aa32aa31507735f68670d4613a1b0be1f527 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 13:09:36 +0300 Subject: [PATCH 025/112] chore(code): integrate Markdown support --- packages/codemirror/package.json | 1 + packages/codemirror/src/index.ts | 2 +- .../codemirror/src/syntax_highlighting.ts | 13 +- pnpm-lock.yaml | 143 +++++++++++++++--- 4 files changed, 137 insertions(+), 22 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index f56d2affe1..cb1d2ab959 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@codemirror/commands": "6.8.1", + "@codemirror/lang-markdown": "6.3.2", "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index e3febc6bd4..13a4b65d24 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -107,7 +107,7 @@ export default class CodeMirror extends EditorView { const extension = StreamLanguage.define(resolvedSyntax); newExtension.push(extension); } else { - newExtension.push(resolvedSyntax()); + newExtension.push(resolvedSyntax); } } diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 81c171c887..490ce86062 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -1,6 +1,6 @@ import { LanguageSupport, type StreamParser } from "@codemirror/language" -const byMimeType: Record Promise | (() => LanguageSupport)>) | null> = { +const byMimeType: Record Promise | LanguageSupport>) | null> = { "text/plain": null, "application/dart": async () => (await import('@codemirror/legacy-modes/mode/clike')).dart, @@ -71,14 +71,19 @@ const byMimeType: Record Promise | (() => L "text/x-fsharp": async () => (await import('@codemirror/legacy-modes/mode/mllike')).fSharp, "text/x-gas": async () => (await import('@codemirror/legacy-modes/mode/gas')).gas, "text/x-gdscript": async () => (await import('./languages/gdscript.js')).gdscript, - "text/x-gfm": null, + "text/x-gfm": async () => { + const { markdown, markdownLanguage } = (await import('@codemirror/lang-markdown')); + return markdown({ + base: markdownLanguage + }); + }, "text/x-go": async () => (await import('@codemirror/legacy-modes/mode/go')).go, "text/x-groovy": async () => (await import('@codemirror/legacy-modes/mode/groovy')).groovy, "text/x-gss": async () => (await import('@codemirror/legacy-modes/mode/css')).gss, "text/x-haml": null, "text/x-haskell": async () => (await import('@codemirror/legacy-modes/mode/haskell')).haskell, "text/x-haxe": async () => (await import('@codemirror/legacy-modes/mode/haxe')).haxe, - "text/x-hcl": async () => (await import('codemirror-lang-hcl')).hcl, + "text/x-hcl": async () => (await import('codemirror-lang-hcl')).hcl(), "text/x-hxml": async () => (await import('@codemirror/legacy-modes/mode/haxe')).hxml, "text/x-idl": async () => (await import('@codemirror/legacy-modes/mode/idl')).idl, "text/x-java": async () => (await import('@codemirror/legacy-modes/mode/clike')).java, @@ -90,7 +95,7 @@ const byMimeType: Record Promise | (() => L "text/x-livescript": async () => (await import('@codemirror/legacy-modes/mode/livescript')).liveScript, "text/x-lua": async () => (await import('@codemirror/legacy-modes/mode/lua')).lua, "text/x-mariadb": async () => (await import('@codemirror/legacy-modes/mode/sql')).sqlite, - "text/x-markdown": null, + "text/x-markdown": async () => ((await import('@codemirror/lang-markdown')).markdown()), "text/x-mathematica": async () => (await import('@codemirror/legacy-modes/mode/mathematica')).mathematica, "text/x-modelica": async () => (await import('@codemirror/legacy-modes/mode/modelica')).modelica, "text/x-mscgen": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).mscgen, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5fcec2fed7..a6d5cf32e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1157,6 +1157,9 @@ importers: '@codemirror/commands': specifier: 6.8.1 version: 6.8.1 + '@codemirror/lang-markdown': + specifier: 6.3.2 + version: 6.3.2 '@codemirror/legacy-modes': specifier: 6.5.1 version: 6.5.1 @@ -2154,15 +2157,33 @@ packages: '@ckeditor/ckeditor5-word-count@45.0.0': resolution: {integrity: sha512-72Fd2mUKN8dXRMKGKLPhUiQHhoGnp0ZyPwP8Ezcpbwfn/mh5SBxP3LyQGg35sKy1xJgDYywHlWvjVhw95LgIjg==} + '@codemirror/autocomplete@6.18.6': + resolution: {integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==} + '@codemirror/commands@6.8.1': resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==} + '@codemirror/lang-css@6.3.1': + resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==} + + '@codemirror/lang-html@6.4.9': + resolution: {integrity: sha512-aQv37pIMSlueybId/2PVSP6NPnmurFDVmZwzc7jszd2KAF8qd4VBbvNYPXWQq90WIARjsdVkPbw29pszmHws3Q==} + + '@codemirror/lang-javascript@6.2.3': + resolution: {integrity: sha512-8PR3vIWg7pSu7ur8A07pGiYHgy3hHj+mRYRCSG8q+mPIrl0F02rgpGv+DsQTHRTc30rydOsf5PZ7yjKFg2Ackw==} + + '@codemirror/lang-markdown@6.3.2': + resolution: {integrity: sha512-c/5MYinGbFxYl4itE9q/rgN/sMTjOr8XL5OWnC+EaRMLfCbVUmmubTJfdgpfcSS2SCaT7b+Q+xi3l6CgoE+BsA==} + '@codemirror/language@6.11.0': resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} '@codemirror/legacy-modes@6.5.1': resolution: {integrity: sha512-DJYQQ00N1/KdESpZV7jg9hafof/iBNp9h7TYo1SLMk86TWl9uDsVdho2dzd81K+v4retmK6mdC7WpuOQDytQqw==} + '@codemirror/lint@6.8.5': + resolution: {integrity: sha512-s3n3KisH7dx3vsoeGMxsbRAgKe4O1vbrnKBClm99PU0fWxmxsx5rR2PfqQgIt+2MMJBHbiJ5rfIdLYfB9NNvsA==} + '@codemirror/search@6.5.10': resolution: {integrity: sha512-RMdPdmsrUf53pb2VwflKGHEe1XVM07hI7vV2ntgw1dmqhimpatSJKva4VA9h4TLUDOD4EIF02201oZurpnEFsg==} @@ -3363,12 +3384,24 @@ packages: '@lezer/common@1.2.3': resolution: {integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==} + '@lezer/css@1.1.11': + resolution: {integrity: sha512-FuAnusbLBl1SEAtfN8NdShxYJiESKw9LAFysfea1T96jD3ydBn12oYjaSG1a04BQRIUd93/0D8e5CV1cUMkmQg==} + '@lezer/highlight@1.2.1': resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} + '@lezer/html@1.3.10': + resolution: {integrity: sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==} + + '@lezer/javascript@1.5.1': + resolution: {integrity: sha512-ATOImjeVJuvgm3JQ/bpo2Tmv55HSScE2MTPnKRMRIPx2cLhHGyX2VnqpHhtIV1tVzIjZDbcWQm+NCTF40ggZVw==} + '@lezer/lr@1.4.2': resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} + '@lezer/markdown@1.4.3': + resolution: {integrity: sha512-kfw+2uMrQ/wy/+ONfrH83OkdFNM0ye5Xq96cLlaCy7h5UT9FO54DU4oRoIc0CSBh5NWmWuiIJA7NGLMJbQ+Oxg==} + '@ljharb/resumer@0.0.1': resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} engines: {node: '>= 0.4'} @@ -15208,23 +15241,27 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0': + '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15245,7 +15282,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15684,14 +15721,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-highlight@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-highlight@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16074,7 +16103,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16275,7 +16304,7 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0': + '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) @@ -16287,7 +16316,7 @@ snapshots: '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0 + '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16304,6 +16333,10 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -16410,6 +16443,13 @@ snapshots: - supports-color - utf-8-validate + '@codemirror/autocomplete@6.18.6': + dependencies: + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/common': 1.2.3 + '@codemirror/commands@6.8.1': dependencies: '@codemirror/language': 6.11.0 @@ -16417,6 +16457,46 @@ snapshots: '@codemirror/view': 6.36.7 '@lezer/common': 1.2.3 + '@codemirror/lang-css@6.3.1': + dependencies: + '@codemirror/autocomplete': 6.18.6 + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@lezer/common': 1.2.3 + '@lezer/css': 1.1.11 + + '@codemirror/lang-html@6.4.9': + dependencies: + '@codemirror/autocomplete': 6.18.6 + '@codemirror/lang-css': 6.3.1 + '@codemirror/lang-javascript': 6.2.3 + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/common': 1.2.3 + '@lezer/css': 1.1.11 + '@lezer/html': 1.3.10 + + '@codemirror/lang-javascript@6.2.3': + dependencies: + '@codemirror/autocomplete': 6.18.6 + '@codemirror/language': 6.11.0 + '@codemirror/lint': 6.8.5 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/common': 1.2.3 + '@lezer/javascript': 1.5.1 + + '@codemirror/lang-markdown@6.3.2': + dependencies: + '@codemirror/autocomplete': 6.18.6 + '@codemirror/lang-html': 6.4.9 + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/common': 1.2.3 + '@lezer/markdown': 1.4.3 + '@codemirror/language@6.11.0': dependencies: '@codemirror/state': 6.5.2 @@ -16430,6 +16510,12 @@ snapshots: dependencies: '@codemirror/language': 6.11.0 + '@codemirror/lint@6.8.5': + dependencies: + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + crelt: 1.0.6 + '@codemirror/search@6.5.10': dependencies: '@codemirror/state': 6.5.2 @@ -17834,14 +17920,37 @@ snapshots: '@lezer/common@1.2.3': {} + '@lezer/css@1.1.11': + dependencies: + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@lezer/highlight@1.2.1': dependencies: '@lezer/common': 1.2.3 + '@lezer/html@1.3.10': + dependencies: + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + + '@lezer/javascript@1.5.1': + dependencies: + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@lezer/lr@1.4.2': dependencies: '@lezer/common': 1.2.3 + '@lezer/markdown@1.4.3': + dependencies: + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@ljharb/resumer@0.0.1': dependencies: '@ljharb/through': 2.3.14 @@ -21603,7 +21712,7 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: @@ -21634,7 +21743,7 @@ snapshots: '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0 + '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-horizontal-line': 45.0.0 '@ckeditor/ckeditor5-html-embed': 45.0.0 '@ckeditor/ckeditor5-html-support': 45.0.0 From 1454af60878af3a2cd23d430e6daa1f708bb02f7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 13:12:52 +0300 Subject: [PATCH 026/112] chore(code): integrate PHP support --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 2 +- pnpm-lock.yaml | 56 ++++++++++--------- 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index cb1d2ab959..43109981cf 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -21,6 +21,7 @@ "dependencies": { "@codemirror/commands": "6.8.1", "@codemirror/lang-markdown": "6.3.2", + "@codemirror/lang-php": "6.0.1", "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 490ce86062..fb7f9e9f5b 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -112,7 +112,7 @@ const byMimeType: Record Promise | Language "text/x-pascal": async () => (await import('@codemirror/legacy-modes/mode/pascal')).pascal, "text/x-perl": async () => (await import('@codemirror/legacy-modes/mode/perl')).perl, "text/x-pgsql": async () => (await import('@codemirror/legacy-modes/mode/sql')).pgSQL, - "text/x-php": null, + "text/x-php": async () => ((await import('@codemirror/lang-php')).php()), "text/x-pig": async () => (await import('@codemirror/legacy-modes/mode/pig')).pig, "text/x-plsql": async () => (await import('@codemirror/legacy-modes/mode/sql')).plSQL, "text/x-properties": async () => (await import('@codemirror/legacy-modes/mode/properties')).properties, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6d5cf32e1..b3648501f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1160,6 +1160,9 @@ importers: '@codemirror/lang-markdown': specifier: 6.3.2 version: 6.3.2 + '@codemirror/lang-php': + specifier: 6.0.1 + version: 6.0.1 '@codemirror/legacy-modes': specifier: 6.5.1 version: 6.5.1 @@ -2175,6 +2178,9 @@ packages: '@codemirror/lang-markdown@6.3.2': resolution: {integrity: sha512-c/5MYinGbFxYl4itE9q/rgN/sMTjOr8XL5OWnC+EaRMLfCbVUmmubTJfdgpfcSS2SCaT7b+Q+xi3l6CgoE+BsA==} + '@codemirror/lang-php@6.0.1': + resolution: {integrity: sha512-ublojMdw/PNWa7qdN5TMsjmqkNuTBD3k6ndZ4Z0S25SBAiweFGyY68AS3xNcIOlb6DDFDvKlinLQ40vSLqf8xA==} + '@codemirror/language@6.11.0': resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} @@ -3402,6 +3408,9 @@ packages: '@lezer/markdown@1.4.3': resolution: {integrity: sha512-kfw+2uMrQ/wy/+ONfrH83OkdFNM0ye5Xq96cLlaCy7h5UT9FO54DU4oRoIc0CSBh5NWmWuiIJA7NGLMJbQ+Oxg==} + '@lezer/php@1.0.2': + resolution: {integrity: sha512-GN7BnqtGRpFyeoKSEqxvGvhJQiI4zkgmYnDk/JIyc7H7Ifc1tkPnUn/R2R8meH3h/aBf5rzjvU8ZQoyiNDtDrA==} + '@ljharb/resumer@0.0.1': resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} engines: {node: '>= 0.4'} @@ -15062,15 +15071,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-autoformat@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15241,27 +15241,23 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-collaboration-core@45.0.0': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15282,7 +15278,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16103,7 +16099,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16304,7 +16300,7 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-track-changes@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) @@ -16333,10 +16329,6 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -16497,6 +16489,14 @@ snapshots: '@lezer/common': 1.2.3 '@lezer/markdown': 1.4.3 + '@codemirror/lang-php@6.0.1': + dependencies: + '@codemirror/lang-html': 6.4.9 + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@lezer/common': 1.2.3 + '@lezer/php': 1.0.2 + '@codemirror/language@6.11.0': dependencies: '@codemirror/state': 6.5.2 @@ -17951,6 +17951,12 @@ snapshots: '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 + '@lezer/php@1.0.2': + dependencies: + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@ljharb/resumer@0.0.1': dependencies: '@ljharb/through': 2.3.14 @@ -21712,13 +21718,13 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0 + '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 From 327fe211ff8594e0cdaba937d1a0c8450d7bf52c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 13:13:47 +0300 Subject: [PATCH 027/112] chore(code): integrate Vue support --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 2 +- pnpm-lock.yaml | 59 +++++++++++++++++-- 3 files changed, 55 insertions(+), 7 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 43109981cf..e95a3cc565 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -22,6 +22,7 @@ "@codemirror/commands": "6.8.1", "@codemirror/lang-markdown": "6.3.2", "@codemirror/lang-php": "6.0.1", + "@codemirror/lang-vue": "0.1.3", "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index fb7f9e9f5b..7f2e4c75bd 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -160,7 +160,7 @@ const byMimeType: Record Promise | Language "text/x-vb": async () => (await import('@codemirror/legacy-modes/mode/vb')).vb, "text/x-verilog": async () => (await import('@codemirror/legacy-modes/mode/verilog')).verilog, "text/x-vhdl": async () => (await import('@codemirror/legacy-modes/mode/vhdl')).vhdl, - "text/x-vue": null, + "text/x-vue": async () => ((await import('@codemirror/lang-vue')).vue()), "text/x-webidl": async () => (await import('@codemirror/legacy-modes/mode/webidl')).webIDL, "text/x-xu": async () => (await import('@codemirror/legacy-modes/mode/mscgen')).xu, "text/x-yacas": async () => (await import('@codemirror/legacy-modes/mode/yacas')).yacas, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b3648501f8..4910773dfe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1163,6 +1163,9 @@ importers: '@codemirror/lang-php': specifier: 6.0.1 version: 6.0.1 + '@codemirror/lang-vue': + specifier: 0.1.3 + version: 0.1.3 '@codemirror/legacy-modes': specifier: 6.5.1 version: 6.5.1 @@ -2181,6 +2184,9 @@ packages: '@codemirror/lang-php@6.0.1': resolution: {integrity: sha512-ublojMdw/PNWa7qdN5TMsjmqkNuTBD3k6ndZ4Z0S25SBAiweFGyY68AS3xNcIOlb6DDFDvKlinLQ40vSLqf8xA==} + '@codemirror/lang-vue@0.1.3': + resolution: {integrity: sha512-QSKdtYTDRhEHCfo5zOShzxCmqKJvgGrZwDQSdbvCRJ5pRLWBS7pD/8e/tH44aVQT6FKm0t6RVNoSUWHOI5vNug==} + '@codemirror/language@6.11.0': resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} @@ -15059,6 +15065,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-alignment@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-alignment@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15071,6 +15085,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-autoformat@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15084,6 +15107,13 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-autosave@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-autosave@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15717,6 +15747,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-highlight@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-highlight@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16154,7 +16192,7 @@ snapshots: '@ckeditor/ckeditor5-revision-history@45.0.0': dependencies: - '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-autosave': 45.0.0 '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-classic': 45.0.0 @@ -16312,7 +16350,7 @@ snapshots: '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16497,6 +16535,15 @@ snapshots: '@lezer/common': 1.2.3 '@lezer/php': 1.0.2 + '@codemirror/lang-vue@0.1.3': + dependencies: + '@codemirror/lang-html': 6.4.9 + '@codemirror/lang-javascript': 6.2.3 + '@codemirror/language': 6.11.0 + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@codemirror/language@6.11.0': dependencies: '@codemirror/state': 6.5.2 @@ -21723,9 +21770,9 @@ snapshots: ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 - '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-alignment': 45.0.0 + '@ckeditor/ckeditor5-autoformat': 45.0.0 + '@ckeditor/ckeditor5-autosave': 45.0.0 '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 '@ckeditor/ckeditor5-bookmark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -21749,7 +21796,7 @@ snapshots: '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0 '@ckeditor/ckeditor5-horizontal-line': 45.0.0 '@ckeditor/ckeditor5-html-embed': 45.0.0 '@ckeditor/ckeditor5-html-support': 45.0.0 From 620927dfea1e35ffd17c4e9f4e4a251443afc1c4 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 13:15:39 +0300 Subject: [PATCH 028/112] chore(code): integrate Twig support --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 2 +- pnpm-lock.yaml | 33 +++++++++---------- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index e95a3cc565..6de59e301c 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -26,6 +26,7 @@ "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", + "@ssddanbrown/codemirror-lang-twig": "1.0.0", "codemirror-lang-hcl": "0.1.0" } } diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 7f2e4c75bd..81ef55ce4a 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -156,7 +156,7 @@ const byMimeType: Record Promise | Language "text/x-ttcn-asn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, "text/x-ttcn-cfg": async () => (await import('@codemirror/legacy-modes/mode/ttcn-cfg')).ttcnCfg, "text/x-ttcn": async () => (await import('@codemirror/legacy-modes/mode/ttcn')).ttcn, - "text/x-twig": null, + "text/x-twig": async () => ((await import('@ssddanbrown/codemirror-lang-twig')).twig()), "text/x-vb": async () => (await import('@codemirror/legacy-modes/mode/vb')).vb, "text/x-verilog": async () => (await import('@codemirror/legacy-modes/mode/verilog')).verilog, "text/x-vhdl": async () => (await import('@codemirror/legacy-modes/mode/vhdl')).vhdl, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4910773dfe..7822975da6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1175,6 +1175,9 @@ importers: '@codemirror/view': specifier: 6.36.7 version: 6.36.7 + '@ssddanbrown/codemirror-lang-twig': + specifier: 1.0.0 + version: 1.0.0 codemirror-lang-hcl: specifier: 0.1.0 version: 0.1.0 @@ -4488,6 +4491,9 @@ packages: '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + '@ssddanbrown/codemirror-lang-twig@1.0.0': + resolution: {integrity: sha512-7WIMIh8Ssc54TooGCY57WU2rKEqZZrcV2tZSVRPtd0gKYsrDEKCSLWpQjUWEx7bdgh3NKHUjq1O4ugIzI/+dwQ==} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -15065,14 +15071,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-alignment@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-alignment@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15107,13 +15105,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-autosave@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-autosave@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16192,7 +16183,7 @@ snapshots: '@ckeditor/ckeditor5-revision-history@45.0.0': dependencies: - '@ckeditor/ckeditor5-autosave': 45.0.0 + '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-classic': 45.0.0 @@ -19530,6 +19521,12 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} + '@ssddanbrown/codemirror-lang-twig@1.0.0': + dependencies: + '@codemirror/language': 6.11.0 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -21770,9 +21767,9 @@ snapshots: ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 - '@ckeditor/ckeditor5-alignment': 45.0.0 + '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-autoformat': 45.0.0 - '@ckeditor/ckeditor5-autosave': 45.0.0 + '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 '@ckeditor/ckeditor5-bookmark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) From 2fe09147fd61e35d7548f3874471547aa7e94457 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 13:21:57 +0300 Subject: [PATCH 029/112] chore(code): integrate Smarty support --- packages/codemirror/package.json | 1 + packages/codemirror/src/augmentation.d.ts | 4 ++++ packages/codemirror/src/syntax_highlighting.ts | 2 +- pnpm-lock.yaml | 18 +++++++++++++++++- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 packages/codemirror/src/augmentation.d.ts diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 6de59e301c..8b88be0024 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -26,6 +26,7 @@ "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", + "@ssddanbrown/codemirror-lang-smarty": "1.0.0", "@ssddanbrown/codemirror-lang-twig": "1.0.0", "codemirror-lang-hcl": "0.1.0" } diff --git a/packages/codemirror/src/augmentation.d.ts b/packages/codemirror/src/augmentation.d.ts new file mode 100644 index 0000000000..ec543f798e --- /dev/null +++ b/packages/codemirror/src/augmentation.d.ts @@ -0,0 +1,4 @@ +declare module "@ssddanbrown/codemirror-lang-smarty" { + import type { StreamParser } from "@codemirror/language" + export const smarty: StreamParser; +} diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 81ef55ce4a..36a588a4c7 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -134,7 +134,7 @@ const byMimeType: Record Promise | Language "text/x-scss": async () => (await import('@codemirror/legacy-modes/mode/css')).sCSS, "text/x-sh": async () => (await import('@codemirror/legacy-modes/mode/shell')).shell, "text/x-slim": null, - "text/x-smarty": null, + "text/x-smarty": async () => ((await import('@ssddanbrown/codemirror-lang-smarty')).smarty), "text/x-sml": async () => (await import('@codemirror/legacy-modes/mode/mllike')).sml, "text/x-solr": async () => (await import('@codemirror/legacy-modes/mode/solr')).solr, "text/x-soy": null, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7822975da6..b293d5c204 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1175,6 +1175,9 @@ importers: '@codemirror/view': specifier: 6.36.7 version: 6.36.7 + '@ssddanbrown/codemirror-lang-smarty': + specifier: 1.0.0 + version: 1.0.0 '@ssddanbrown/codemirror-lang-twig': specifier: 1.0.0 version: 1.0.0 @@ -4491,6 +4494,9 @@ packages: '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + '@ssddanbrown/codemirror-lang-smarty@1.0.0': + resolution: {integrity: sha512-F0ut1kmdbT3eORk3xVIKfQsGCZiQdh+6sLayBa0+FTex2gyIQlVQZRRA7bPSlchI3uZtWwNnqGNz5O/QLWRlFg==} + '@ssddanbrown/codemirror-lang-twig@1.0.0': resolution: {integrity: sha512-7WIMIh8Ssc54TooGCY57WU2rKEqZZrcV2tZSVRPtd0gKYsrDEKCSLWpQjUWEx7bdgh3NKHUjq1O4ugIzI/+dwQ==} @@ -15071,6 +15077,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-alignment@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-alignment@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -19521,6 +19535,8 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} + '@ssddanbrown/codemirror-lang-smarty@1.0.0': {} + '@ssddanbrown/codemirror-lang-twig@1.0.0': dependencies: '@codemirror/language': 6.11.0 @@ -21767,7 +21783,7 @@ snapshots: ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 - '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-alignment': 45.0.0 '@ckeditor/ckeditor5-autoformat': 45.0.0 '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 From e5402abae05c62229b0192931659ba5f6dc7219f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 13:50:04 +0300 Subject: [PATCH 030/112] chore(code): use html plugin --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 2 +- pnpm-lock.yaml | 74 +++---------------- 3 files changed, 13 insertions(+), 64 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 8b88be0024..06224408a5 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@codemirror/commands": "6.8.1", + "@codemirror/lang-html": "6.4.9", "@codemirror/lang-markdown": "6.3.2", "@codemirror/lang-php": "6.0.1", "@codemirror/lang-vue": "0.1.3", diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 36a588a4c7..1266bc94a5 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -28,7 +28,7 @@ const byMimeType: Record Promise | Language "text/apl": async () => (await import('@codemirror/legacy-modes/mode/apl')).apl, "text/coffeescript": async () => (await import('@codemirror/legacy-modes/mode/coffeescript')).coffeeScript, "text/css": async () => (await import('@codemirror/legacy-modes/mode/css')).css, - "text/html": async () => (await import('@codemirror/legacy-modes/mode/xml')).html, + "text/html": async () => (await import('@codemirror/lang-html')).html(), "text/jinja2": async () => (await import('@codemirror/legacy-modes/mode/jinja2')).jinja2, "text/jsx": null, "text/mirc": async () => (await import('@codemirror/legacy-modes/mode/mirc')).mirc, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b293d5c204..d43b7aaaad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1157,6 +1157,9 @@ importers: '@codemirror/commands': specifier: 6.8.1 version: 6.8.1 + '@codemirror/lang-html': + specifier: 6.4.9 + version: 6.4.9 '@codemirror/lang-markdown': specifier: 6.3.2 version: 6.3.2 @@ -15077,14 +15080,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-alignment@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-alignment@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15097,15 +15092,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-autoformat@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15250,17 +15236,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15502,14 +15477,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-easy-image@45.0.0': - dependencies: - '@ckeditor/ckeditor5-cloud-services': 45.0.0 - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-easy-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15658,17 +15625,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-essentials@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-select-all': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-essentials@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15752,14 +15708,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-highlight@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-highlight@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16346,7 +16294,7 @@ snapshots: '@ckeditor/ckeditor5-track-changes@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16355,7 +16303,7 @@ snapshots: '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0 + '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -21783,8 +21731,8 @@ snapshots: ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 - '@ckeditor/ckeditor5-alignment': 45.0.0 - '@ckeditor/ckeditor5-autoformat': 45.0.0 + '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 @@ -21793,9 +21741,9 @@ snapshots: '@ckeditor/ckeditor5-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-cloud-services': 45.0.0 - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-easy-image': 45.0.0 + '@ckeditor/ckeditor5-easy-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-balloon': 45.0.0 '@ckeditor/ckeditor5-editor-classic': 45.0.0 '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 @@ -21804,12 +21752,12 @@ snapshots: '@ckeditor/ckeditor5-emoji': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-essentials': 45.0.0 + '@ckeditor/ckeditor5-essentials': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0 + '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-horizontal-line': 45.0.0 '@ckeditor/ckeditor5-html-embed': 45.0.0 '@ckeditor/ckeditor5-html-support': 45.0.0 From 06e1144498aa7043630784968ea3923bd08b2577 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 13:52:53 +0300 Subject: [PATCH 031/112] chore(code): use XML plugin --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 2 +- pnpm-lock.yaml | 95 ++++++++++++++++--- 3 files changed, 85 insertions(+), 13 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 06224408a5..9a0280ee74 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -24,6 +24,7 @@ "@codemirror/lang-markdown": "6.3.2", "@codemirror/lang-php": "6.0.1", "@codemirror/lang-vue": "0.1.3", + "@codemirror/lang-xml": "6.1.0", "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 1266bc94a5..311e74932a 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -166,7 +166,7 @@ const byMimeType: Record Promise | Language "text/x-yacas": async () => (await import('@codemirror/legacy-modes/mode/yacas')).yacas, "text/x-yaml": async () => (await import('@codemirror/legacy-modes/mode/yaml')).yaml, "text/x-z80": async () => (await import('@codemirror/legacy-modes/mode/z80')).z80, - "text/xml": async () => (await import('@codemirror/legacy-modes/mode/xml')).xml + "text/xml": async () => (await import('@codemirror/lang-xml')).xml() } export default byMimeType; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d43b7aaaad..b0f2448ba6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1169,6 +1169,9 @@ importers: '@codemirror/lang-vue': specifier: 0.1.3 version: 0.1.3 + '@codemirror/lang-xml': + specifier: 6.1.0 + version: 6.1.0 '@codemirror/legacy-modes': specifier: 6.5.1 version: 6.5.1 @@ -2196,6 +2199,9 @@ packages: '@codemirror/lang-vue@0.1.3': resolution: {integrity: sha512-QSKdtYTDRhEHCfo5zOShzxCmqKJvgGrZwDQSdbvCRJ5pRLWBS7pD/8e/tH44aVQT6FKm0t6RVNoSUWHOI5vNug==} + '@codemirror/lang-xml@6.1.0': + resolution: {integrity: sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==} + '@codemirror/language@6.11.0': resolution: {integrity: sha512-A7+f++LodNNc1wGgoRDTt78cOwWm9KVezApgjOMp1W4hM0898nsqBXwF+sbePE7ZRcjN7Sa1Z5m2oN27XkmEjQ==} @@ -3426,6 +3432,9 @@ packages: '@lezer/php@1.0.2': resolution: {integrity: sha512-GN7BnqtGRpFyeoKSEqxvGvhJQiI4zkgmYnDk/JIyc7H7Ifc1tkPnUn/R2R8meH3h/aBf5rzjvU8ZQoyiNDtDrA==} + '@lezer/xml@1.0.6': + resolution: {integrity: sha512-CdDwirL0OEaStFue/66ZmFSeppuL6Dwjlk8qk153mSQwiSH/Dlri4GNymrNWnUmPl2Um7QfV1FO9KFUyX3Twww==} + '@ljharb/resumer@0.0.1': resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} engines: {node: '>= 0.4'} @@ -15092,6 +15101,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-autoformat@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15236,6 +15254,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15251,23 +15280,27 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0': + '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15288,7 +15321,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15477,6 +15510,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-easy-image@45.0.0': + dependencies: + '@ckeditor/ckeditor5-cloud-services': 45.0.0 + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-easy-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15625,6 +15666,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-essentials@45.0.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-select-all': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-essentials@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16090,7 +16142,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16291,10 +16343,10 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0': + '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16320,6 +16372,10 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -16497,6 +16553,15 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 + '@codemirror/lang-xml@6.1.0': + dependencies: + '@codemirror/autocomplete': 6.18.6 + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/common': 1.2.3 + '@lezer/xml': 1.0.6 + '@codemirror/language@6.11.0': dependencies: '@codemirror/state': 6.5.2 @@ -17957,6 +18022,12 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 + '@lezer/xml@1.0.6': + dependencies: + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@ljharb/resumer@0.0.1': dependencies: '@ljharb/through': 2.3.14 @@ -21726,13 +21797,13 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-autoformat': 45.0.0 '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 @@ -21741,9 +21812,9 @@ snapshots: '@ckeditor/ckeditor5-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-cloud-services': 45.0.0 - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-easy-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-easy-image': 45.0.0 '@ckeditor/ckeditor5-editor-balloon': 45.0.0 '@ckeditor/ckeditor5-editor-classic': 45.0.0 '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 @@ -21752,7 +21823,7 @@ snapshots: '@ckeditor/ckeditor5-emoji': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-essentials': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-essentials': 45.0.0 '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) From c09d3ae5e07a80149afec25da9651899bb485d4d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 13:56:34 +0300 Subject: [PATCH 032/112] chore(code): use CSS plugin --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 2 +- pnpm-lock.yaml | 74 ++++--------------- 3 files changed, 17 insertions(+), 60 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 9a0280ee74..2f22075176 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@codemirror/commands": "6.8.1", + "@codemirror/lang-css": "6.3.1", "@codemirror/lang-html": "6.4.9", "@codemirror/lang-markdown": "6.3.2", "@codemirror/lang-php": "6.0.1", diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 311e74932a..395e07dbd5 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -27,7 +27,7 @@ const byMimeType: Record Promise | Language "message/http": async () => (await import('@codemirror/legacy-modes/mode/http')).http, "text/apl": async () => (await import('@codemirror/legacy-modes/mode/apl')).apl, "text/coffeescript": async () => (await import('@codemirror/legacy-modes/mode/coffeescript')).coffeeScript, - "text/css": async () => (await import('@codemirror/legacy-modes/mode/css')).css, + "text/css": async () => (await import('@codemirror/lang-css')).css(), "text/html": async () => (await import('@codemirror/lang-html')).html(), "text/jinja2": async () => (await import('@codemirror/legacy-modes/mode/jinja2')).jinja2, "text/jsx": null, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b0f2448ba6..f412f6e9f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1157,6 +1157,9 @@ importers: '@codemirror/commands': specifier: 6.8.1 version: 6.8.1 + '@codemirror/lang-css': + specifier: 6.3.1 + version: 6.3.1 '@codemirror/lang-html': specifier: 6.4.9 version: 6.4.9 @@ -15101,15 +15104,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-autoformat@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15254,17 +15248,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15280,27 +15263,23 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-collaboration-core@45.0.0': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15321,7 +15300,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15510,14 +15489,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-easy-image@45.0.0': - dependencies: - '@ckeditor/ckeditor5-cloud-services': 45.0.0 - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-easy-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15666,17 +15637,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-essentials@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-select-all': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-essentials@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16142,7 +16102,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16343,10 +16303,10 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-track-changes@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16372,10 +16332,6 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -21797,13 +21753,13 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0 + '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 @@ -21812,9 +21768,9 @@ snapshots: '@ckeditor/ckeditor5-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-cloud-services': 45.0.0 - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-easy-image': 45.0.0 + '@ckeditor/ckeditor5-easy-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-balloon': 45.0.0 '@ckeditor/ckeditor5-editor-classic': 45.0.0 '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 @@ -21823,7 +21779,7 @@ snapshots: '@ckeditor/ckeditor5-emoji': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-essentials': 45.0.0 + '@ckeditor/ckeditor5-essentials': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) From dbfc36f4aa0c8183e02b77ab18fe3db5f0726411 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 14:05:04 +0300 Subject: [PATCH 033/112] chore(code): integrate JavaScript extension --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 9 ++- pnpm-lock.yaml | 74 ++++++++++++++++--- 3 files changed, 70 insertions(+), 14 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 2f22075176..f932cafe22 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -22,6 +22,7 @@ "@codemirror/commands": "6.8.1", "@codemirror/lang-css": "6.3.1", "@codemirror/lang-html": "6.4.9", + "@codemirror/lang-javascript": "6.2.3", "@codemirror/lang-markdown": "6.3.2", "@codemirror/lang-php": "6.0.1", "@codemirror/lang-vue": "0.1.3", diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 395e07dbd5..4637872cea 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -1,12 +1,17 @@ import { LanguageSupport, type StreamParser } from "@codemirror/language" +async function buildJavaScript() { + const { javascript } = await import('@codemirror/lang-javascript'); + return javascript(); +} + const byMimeType: Record Promise | LanguageSupport>) | null> = { "text/plain": null, "application/dart": async () => (await import('@codemirror/legacy-modes/mode/clike')).dart, "application/edn": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure, - "application/javascript;env=backend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, - "application/javascript;env=frontend": async () => (await import('@codemirror/legacy-modes/mode/javascript')).javascript, + "application/javascript;env=backend": buildJavaScript, + "application/javascript;env=frontend": buildJavaScript, "application/json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).json, "application/ld+json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).jsonld, "application/mbox": async () => (await import('@codemirror/legacy-modes/mode/mbox')).mbox, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f412f6e9f1..0af6a1d0d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1163,6 +1163,9 @@ importers: '@codemirror/lang-html': specifier: 6.4.9 version: 6.4.9 + '@codemirror/lang-javascript': + specifier: 6.2.3 + version: 6.2.3 '@codemirror/lang-markdown': specifier: 6.3.2 version: 6.3.2 @@ -15104,6 +15107,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-autoformat@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15248,6 +15260,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15263,23 +15286,27 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0': + '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15300,7 +15327,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15489,6 +15516,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-easy-image@45.0.0': + dependencies: + '@ckeditor/ckeditor5-cloud-services': 45.0.0 + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-easy-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15637,6 +15672,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-essentials@45.0.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-select-all': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-essentials@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16102,7 +16148,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16303,10 +16349,10 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0': + '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16332,6 +16378,10 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -21753,13 +21803,13 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-autoformat': 45.0.0 '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-basic-styles': 45.0.0 '@ckeditor/ckeditor5-block-quote': 45.0.0 @@ -21768,9 +21818,9 @@ snapshots: '@ckeditor/ckeditor5-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-cloud-services': 45.0.0 - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-easy-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-easy-image': 45.0.0 '@ckeditor/ckeditor5-editor-balloon': 45.0.0 '@ckeditor/ckeditor5-editor-classic': 45.0.0 '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 @@ -21779,7 +21829,7 @@ snapshots: '@ckeditor/ckeditor5-emoji': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-essentials': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-essentials': 45.0.0 '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) From fade41ff65b5d0825653d8606b4decb980d3f352 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 14:06:55 +0300 Subject: [PATCH 034/112] chore(code): integrate JavaScript for TypeScript and JSX --- packages/codemirror/src/syntax_highlighting.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 4637872cea..3ba507773b 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -19,7 +19,7 @@ const byMimeType: Record Promise | Language "application/pgp": async () => (await import('@codemirror/legacy-modes/mode/asciiarmor')).asciiArmor, "application/sieve": async () => (await import('@codemirror/legacy-modes/mode/sieve')).sieve, "application/sparql-query": async () => (await import('@codemirror/legacy-modes/mode/sparql')).sparql, - "application/typescript": async () => (await import('@codemirror/legacy-modes/mode/javascript')).typescript, + "application/typescript": async () => (await import('@codemirror/lang-javascript')).javascript({ typescript: true }), "application/x-aspx": null, "application/x-bat": async () => (await import("./languages/batch.js")).batch, "application/x-cypher-query": async () => (await import('@codemirror/legacy-modes/mode/cypher')).cypher, @@ -35,7 +35,7 @@ const byMimeType: Record Promise | Language "text/css": async () => (await import('@codemirror/lang-css')).css(), "text/html": async () => (await import('@codemirror/lang-html')).html(), "text/jinja2": async () => (await import('@codemirror/legacy-modes/mode/jinja2')).jinja2, - "text/jsx": null, + "text/jsx": async () => (await import('@codemirror/lang-javascript')).javascript({ jsx: true }), "text/mirc": async () => (await import('@codemirror/legacy-modes/mode/mirc')).mirc, "text/tiki": async () => (await import('@codemirror/legacy-modes/mode/tiki')).tiki, "text/troff": async () => (await import('@codemirror/legacy-modes/mode/troff')).troff, From 38fbaabfbcf23921a75344e2552e1c6166110abe Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 15:18:42 +0300 Subject: [PATCH 035/112] chore(code): integrate ESLint --- apps/client/package.json | 1 - .../client/src/libraries/codemirror/eslint.js | 74 --- apps/client/src/services/glob.ts | 2 - apps/client/src/services/library_loader.ts | 3 +- packages/codemirror/package.json | 3 +- .../codemirror/src}/eslint.spec.ts | 0 .../codemirror/src}/eslint.ts | 10 +- packages/codemirror/src/index.ts | 6 +- .../codemirror/src/syntax_highlighting.ts | 26 +- packages/codemirror/tsconfig.json | 3 + packages/codemirror/tsconfig.lib.json | 6 +- pnpm-lock.yaml | 501 +++++++++--------- 12 files changed, 291 insertions(+), 344 deletions(-) delete mode 100644 apps/client/src/libraries/codemirror/eslint.js rename {apps/client/src/services => packages/codemirror/src}/eslint.spec.ts (100%) rename {apps/client/src/services => packages/codemirror/src}/eslint.ts (89%) diff --git a/apps/client/package.json b/apps/client/package.json index a323c46578..6b5a9807fd 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -29,7 +29,6 @@ "dayjs-plugin-utc": "0.1.2", "debounce": "2.2.0", "draggabilly": "3.0.0", - "eslint-linter-browserify": "9.26.0", "force-graph": "1.49.5", "globals": "16.1.0", "i18next": "25.1.2", diff --git a/apps/client/src/libraries/codemirror/eslint.js b/apps/client/src/libraries/codemirror/eslint.js deleted file mode 100644 index 403cb4e545..0000000000 --- a/apps/client/src/libraries/codemirror/eslint.js +++ /dev/null @@ -1,74 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: http://codemirror.net/LICENSE - -(function(mod) { - if (typeof exports == "object" && typeof module == "object") // CommonJS - mod(require("../../lib/codemirror")); - else if (typeof define == "function" && define.amd) // AMD - define(["../../lib/codemirror"], mod); - else // Plain browser env - mod(CodeMirror); -})(function(CodeMirror) { - "use strict"; - - async function validatorHtml(text, options) { - const result = /]*>([\s\S]+)<\/script>/ig.exec(text); - - if (result !== null) { - // preceding code is copied over but any (non-newline) character is replaced with space - // this will preserve line numbers etc. - const prefix = text.substr(0, result.index).replace(/./g, " "); - - const js = prefix + result[1]; - - return await validatorJavaScript(js, options); - } - - return []; - } - - async function validatorJavaScript(text, options) { - if (glob.isMobile() - || glob.getActiveContextNote() == null - || glob.getActiveContextNote().mime === 'application/json') { - // eslint doesn't seem to validate pure JSON well - return []; - } - - if (text.length > 20000) { - console.log("Skipping linting because of large size: ", text.length); - - return []; - } - - const errors = await glob.linter(text, glob.getActiveContextNote().mime); - - console.log(errors); - - const result = []; - if (errors) { - parseErrors(errors, result); - } - - return result; - } - - CodeMirror.registerHelper("lint", "javascript", validatorJavaScript); - CodeMirror.registerHelper("lint", "html", validatorHtml); - - function parseErrors(errors, output) { - for (const error of errors) { - const startLine = error.line - 1; - const endLine = error.endLine !== undefined ? error.endLine - 1 : startLine; - const startCol = error.column - 1; - const endCol = error.endColumn !== undefined ? error.endColumn - 1 : startCol + 1; - - output.push({ - message: error.message, - severity: error.severity === 1 ? "warning" : "error", - from: CodeMirror.Pos(startLine, startCol), - to: CodeMirror.Pos(endLine, endCol) - }); - } - } -}); diff --git a/apps/client/src/services/glob.ts b/apps/client/src/services/glob.ts index 3dafc03fd2..a1666b0410 100644 --- a/apps/client/src/services/glob.ts +++ b/apps/client/src/services/glob.ts @@ -5,7 +5,6 @@ import libraryLoader from "./library_loader.js"; import ws from "./ws.js"; import froca from "./froca.js"; import linkService from "./link.js"; -import { lint } from "./eslint.js"; function setupGlobs() { window.glob.isDesktop = utils.isDesktop; @@ -19,7 +18,6 @@ function setupGlobs() { // required for ESLint plugin and CKEditor window.glob.getActiveContextNote = () => appContext.tabManager.getActiveContextNote(); window.glob.requireLibrary = libraryLoader.requireLibrary; - window.glob.linter = lint; window.glob.appContext = appContext; // for debugging window.glob.froca = froca; window.glob.treeCache = froca; // compatibility for CKEditor builds for a while diff --git a/apps/client/src/services/library_loader.ts b/apps/client/src/services/library_loader.ts index 90a19cd72d..dcb0497b03 100644 --- a/apps/client/src/services/library_loader.ts +++ b/apps/client/src/services/library_loader.ts @@ -22,8 +22,7 @@ const CODE_MIRROR: Library = { "node_modules/codemirror/addon/mode/simple.js", "node_modules/codemirror/addon/search/match-highlighter.js", "node_modules/codemirror/mode/meta.js", - "node_modules/codemirror/keymap/vim.js", - "libraries/codemirror/eslint.js" + "node_modules/codemirror/keymap/vim.js" ]; const mimeTypes = mimeTypesService.getMimeTypes(); diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index f932cafe22..fb89dd21cb 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -32,6 +32,7 @@ "@codemirror/view": "6.36.7", "@ssddanbrown/codemirror-lang-smarty": "1.0.0", "@ssddanbrown/codemirror-lang-twig": "1.0.0", - "codemirror-lang-hcl": "0.1.0" + "codemirror-lang-hcl": "0.1.0", + "eslint-linter-browserify": "9.26.0" } } diff --git a/apps/client/src/services/eslint.spec.ts b/packages/codemirror/src/eslint.spec.ts similarity index 100% rename from apps/client/src/services/eslint.spec.ts rename to packages/codemirror/src/eslint.spec.ts diff --git a/apps/client/src/services/eslint.ts b/packages/codemirror/src/eslint.ts similarity index 89% rename from apps/client/src/services/eslint.ts rename to packages/codemirror/src/eslint.ts index bdb2dcaeec..d6082d23b6 100644 --- a/apps/client/src/services/eslint.ts +++ b/packages/codemirror/src/eslint.ts @@ -1,4 +1,4 @@ -export async function lint(code: string, mimeType: string) { +export async function lint(mimeType: string) { const Linter = (await import("eslint-linter-browserify")).Linter; const js = (await import("@eslint/js")); @@ -22,7 +22,9 @@ export async function lint(code: string, mimeType: string) { } - return new Linter().verify(code, [ + return { + linter: new Linter(), + config: [ js.configs.recommended, { languageOptions: { @@ -35,6 +37,6 @@ export async function lint(code: string, mimeType: string) { "no-unused-vars": [ "warn", { vars: "local", args: "after-used" }] } } - ]); - + ] + } } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 13a4b65d24..71168938c7 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,7 +1,7 @@ import { defaultKeymap, history, historyKeymap, indentWithTab } from "@codemirror/commands"; import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching } from "@codemirror/language"; -import { Compartment } from "@codemirror/state"; +import { Compartment, type Extension } from "@codemirror/state"; import { highlightSelectionMatches } from "@codemirror/search"; import byMimeType from "./syntax_highlighting.js"; @@ -97,7 +97,7 @@ export default class CodeMirror extends EditorView { } async setMimeType(mime: string) { - const newExtension = []; + let newExtension: Extension[] = []; const correspondingSyntax = byMimeType[mime]; if (correspondingSyntax) { @@ -106,6 +106,8 @@ export default class CodeMirror extends EditorView { if ("token" in resolvedSyntax) { const extension = StreamLanguage.define(resolvedSyntax); newExtension.push(extension); + } else if (Array.isArray(resolvedSyntax)) { + newExtension = [ ...newExtension, ...resolvedSyntax ]; } else { newExtension.push(resolvedSyntax); } diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 3ba507773b..c274dfee66 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -1,17 +1,29 @@ -import { LanguageSupport, type StreamParser } from "@codemirror/language" +import { LanguageSupport, type StreamParser } from "@codemirror/language"; +import {linter as linterExtension, lintGutter } from "@codemirror/lint"; +import type { Extension } from "@codemirror/state"; -async function buildJavaScript() { - const { javascript } = await import('@codemirror/lang-javascript'); - return javascript(); +async function buildJavaScript(mimeType: string) { + const { javascript, esLint } = await import('@codemirror/lang-javascript'); + const lint = (await import("./eslint.js")).lint; + const extensions: Extension[] = [ javascript() ]; + + const result = await lint(mimeType); + if ("linter" in result) { + const { linter, config } = result; + extensions.push(linterExtension(esLint(linter, config))); + extensions.push(lintGutter()) + } + + return extensions; } -const byMimeType: Record Promise | LanguageSupport>) | null> = { +const byMimeType: Record Promise | LanguageSupport | Extension[]>) | null> = { "text/plain": null, "application/dart": async () => (await import('@codemirror/legacy-modes/mode/clike')).dart, "application/edn": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure, - "application/javascript;env=backend": buildJavaScript, - "application/javascript;env=frontend": buildJavaScript, + "application/javascript;env=backend": async () => buildJavaScript("application/javascript;env=backend"), + "application/javascript;env=frontend": async () => buildJavaScript("application/javascript;env=frontend"), "application/json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).json, "application/ld+json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).jsonld, "application/mbox": async () => (await import('@codemirror/legacy-modes/mode/mbox')).mbox, diff --git a/packages/codemirror/tsconfig.json b/packages/codemirror/tsconfig.json index c23e61c800..7eeca5de75 100644 --- a/packages/codemirror/tsconfig.json +++ b/packages/codemirror/tsconfig.json @@ -3,6 +3,9 @@ "files": [], "include": [], "references": [ + { + "path": "../commons" + }, { "path": "./tsconfig.lib.json" } diff --git a/packages/codemirror/tsconfig.lib.json b/packages/codemirror/tsconfig.lib.json index 89ba670c34..a65f6b3067 100644 --- a/packages/codemirror/tsconfig.lib.json +++ b/packages/codemirror/tsconfig.lib.json @@ -17,5 +17,9 @@ "include": [ "src/**/*.ts" ], - "references": [] + "references": [ + { + "path": "../commons/tsconfig.lib.json" + } + ] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0af6a1d0d6..6ca6e8a219 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -221,9 +221,6 @@ importers: draggabilly: specifier: 3.0.0 version: 3.0.0 - eslint-linter-browserify: - specifier: 9.26.0 - version: 9.26.0 force-graph: specifier: 1.49.5 version: 1.49.5 @@ -311,7 +308,7 @@ importers: version: 19.1.3(@types/react@19.1.3) copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) happy-dom: specifier: 17.4.6 version: 17.4.6 @@ -397,7 +394,7 @@ importers: version: 1.0.2 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) electron: specifier: 36.2.0 version: 36.2.0 @@ -450,7 +447,7 @@ importers: version: 11.0.4 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) electron: specifier: 36.2.0 version: 36.2.0 @@ -625,7 +622,7 @@ importers: version: 1.4.7 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) csrf-csrf: specifier: 3.2.2 version: 3.2.2 @@ -796,7 +793,7 @@ importers: version: 1.0.1 webpack: specifier: 5.99.8 - version: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) ws: specifier: 8.18.2 version: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -848,7 +845,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -908,7 +905,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -968,7 +965,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1029,13 +1026,13 @@ importers: version: 43.0.1(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.8.3) '@ckeditor/ckeditor5-dev-utils': specifier: 43.0.1 - version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) '@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.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1102,7 +1099,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1196,6 +1193,9 @@ importers: codemirror-lang-hcl: specifier: 0.1.0 version: 0.1.0 + eslint-linter-browserify: + specifier: 9.26.0 + version: 9.26.0 packages/commons: dependencies: @@ -15079,12 +15079,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-adapter-ckfinder@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-adapter-ckfinder@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15107,15 +15101,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-autoformat@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15140,15 +15125,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-basic-styles@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-basic-styles@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15162,16 +15138,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-block-quote@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-block-quote@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15244,12 +15210,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-cloud-services@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-cloud-services@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15260,17 +15220,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15286,27 +15235,23 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-collaboration-core@45.0.0': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15327,7 +15272,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15404,11 +15349,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': + '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': dependencies: '@babel/parser': 7.27.0 '@babel/traverse': 7.27.0 - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) chalk: 5.4.1 fs-extra: 11.3.0 glob: 10.4.5 @@ -15426,58 +15371,58 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': + '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': dependencies: '@ckeditor/ckeditor5-dev-translations': 43.0.1 chalk: 3.0.0 cli-cursor: 3.1.0 cli-spinners: 2.9.2 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 - esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) fs-extra: 11.3.0 is-interactive: 1.0.0 javascript-stringify: 1.6.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) mocha: 7.2.0 postcss: 8.5.3 postcss-import: 14.1.0(postcss@8.5.3) - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) postcss-mixins: 9.0.4(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) shelljs: 0.8.5 - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) through2: 3.0.2 transitivePeerDependencies: - bluebird - supports-color - webpack - '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': + '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) chalk: 5.4.1 cli-cursor: 5.0.0 cli-spinners: 3.2.0 - css-loader: 7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + css-loader: 7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) cssnano: 7.0.6(postcss@8.5.3) - esbuild-loader: 4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + esbuild-loader: 4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) fs-extra: 11.3.0 is-interactive: 2.0.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) mocha: 10.8.2 postcss: 8.5.3 postcss-import: 16.1.0(postcss@8.5.3) - postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) postcss-mixins: 11.0.3(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) shelljs: 0.8.5 - style-loader: 4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + style-loader: 4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) through2: 4.0.2 transitivePeerDependencies: - '@rspack/core' @@ -15492,7 +15437,7 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15504,7 +15449,7 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15516,14 +15461,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-easy-image@45.0.0': - dependencies: - '@ckeditor/ckeditor5-cloud-services': 45.0.0 - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-easy-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15536,15 +15473,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-editor-balloon@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-editor-balloon@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15558,15 +15486,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-editor-classic@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-editor-classic@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15580,15 +15499,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-editor-decoupled@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-editor-decoupled@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15602,15 +15512,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-editor-inline@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-editor-inline@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15672,17 +15573,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-essentials@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-select-all': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-essentials@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15720,6 +15610,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-font@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-font@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15738,8 +15637,8 @@ snapshots: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-document-outline': 45.0.0 - '@ckeditor/ckeditor5-editor-classic': 45.0.0 - '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 + '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-decoupled': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-pagination': 45.0.0 '@ckeditor/ckeditor5-real-time-collaboration': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15752,6 +15651,16 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-heading@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-paragraph': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-heading@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15766,6 +15675,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-highlight@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-highlight@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15827,10 +15744,10 @@ snapshots: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0 + '@ckeditor/ckeditor5-image': 45.0.0 + '@ckeditor/ckeditor5-list': 45.0.0 + '@ckeditor/ckeditor5-table': 45.0.0 '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -15856,6 +15773,21 @@ snapshots: '@ckeditor/ckeditor5-icons@45.0.0': {} + '@ckeditor/ckeditor5-image@45.0.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15875,6 +15807,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-indent@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0 + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-list': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-indent@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15892,6 +15835,13 @@ snapshots: '@ckeditor/ckeditor5-inspector@4.1.0': {} + '@ckeditor/ckeditor5-language@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-language@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15903,6 +15853,20 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-link@45.0.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-image': 45.0.0 + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-link@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15921,6 +15885,18 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-list@45.0.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-list@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15995,6 +15971,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-mention@45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-mention@45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16012,14 +15997,22 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-image': 45.0.0 + '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-minimap@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-minimap@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16039,29 +16032,29 @@ snapshots: es-toolkit: 1.32.0 protobufjs: 7.4.0 - '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))': + '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) buffer: 6.0.3 chalk: 5.4.1 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) fs-extra: 11.3.0 glob: 7.2.3 minimist: 1.2.8 postcss: 8.5.3 - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) process: 0.11.10 - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) stylelint: 16.19.1(typescript@5.0.4) stylelint-config-ckeditor5: 2.0.1(stylelint@16.19.1(typescript@5.8.3)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) ts-node: 10.9.2(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(typescript@5.0.4) typescript: 5.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) - webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -16140,7 +16133,7 @@ snapshots: '@ckeditor/ckeditor5-real-time-collaboration@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor-cloud-services-collaboration': 52.7.0(@ckeditor/ckeditor5-utils@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(bufferutil@4.0.9)(ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)(bufferutil@4.0.9)(utf-8-validate@6.0.5))(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-cloud-services': 45.0.0 + '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16148,7 +16141,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16206,7 +16199,7 @@ snapshots: '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-classic': 45.0.0 + '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16301,12 +16294,12 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-html-support': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-list': 45.0.0 + '@ckeditor/ckeditor5-table': 45.0.0 '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 '@ckeditor/ckeditor5-style@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': @@ -16325,6 +16318,18 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-table@45.0.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-table@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16349,28 +16354,28 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-track-changes@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-find-and-replace': 45.0.0 - '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-font': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0 + '@ckeditor/ckeditor5-highlight': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-image': 45.0.0 + '@ckeditor/ckeditor5-link': 45.0.0 + '@ckeditor/ckeditor5-list': 45.0.0 '@ckeditor/ckeditor5-media-embed': 45.0.0 '@ckeditor/ckeditor5-merge-fields': 45.0.0 '@ckeditor/ckeditor5-restricted-editing': 45.0.0 '@ckeditor/ckeditor5-style': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-table': 45.0.0 '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16378,10 +16383,6 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -21803,51 +21804,51 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: - '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 + '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0 + '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-basic-styles': 45.0.0 - '@ckeditor/ckeditor5-block-quote': 45.0.0 + '@ckeditor/ckeditor5-basic-styles': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-block-quote': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-bookmark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ckbox': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-cloud-services': 45.0.0 - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) + '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-easy-image': 45.0.0 - '@ckeditor/ckeditor5-editor-balloon': 45.0.0 - '@ckeditor/ckeditor5-editor-classic': 45.0.0 - '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 - '@ckeditor/ckeditor5-editor-inline': 45.0.0 + '@ckeditor/ckeditor5-easy-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-balloon': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-decoupled': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-inline': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-emoji': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-essentials': 45.0.0 + '@ckeditor/ckeditor5-essentials': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-find-and-replace': 45.0.0 - '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-font': 45.0.0 '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0 + '@ckeditor/ckeditor5-highlight': 45.0.0 '@ckeditor/ckeditor5-horizontal-line': 45.0.0 '@ckeditor/ckeditor5-html-embed': 45.0.0 '@ckeditor/ckeditor5-html-support': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-indent': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-language': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-image': 45.0.0 + '@ckeditor/ckeditor5-indent': 45.0.0 + '@ckeditor/ckeditor5-language': 45.0.0 + '@ckeditor/ckeditor5-link': 45.0.0 + '@ckeditor/ckeditor5-list': 45.0.0 '@ckeditor/ckeditor5-markdown-gfm': 45.0.0 '@ckeditor/ckeditor5-media-embed': 45.0.0 - '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-minimap': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-minimap': 45.0.0 '@ckeditor/ckeditor5-page-break': 45.0.0 '@ckeditor/ckeditor5-paragraph': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-paste-from-office': 45.0.0 @@ -21857,8 +21858,8 @@ snapshots: '@ckeditor/ckeditor5-show-blocks': 45.0.0 '@ckeditor/ckeditor5-source-editing': 45.0.0 '@ckeditor/ckeditor5-special-characters': 45.0.0 - '@ckeditor/ckeditor5-style': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-style': 45.0.0 + '@ckeditor/ckeditor5-table': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -22180,14 +22181,14 @@ snapshots: serialize-javascript: 6.0.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - copy-webpack-plugin@13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + copy-webpack-plugin@13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.13 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) core-js-compat@3.41.0: dependencies: @@ -22300,7 +22301,7 @@ snapshots: css-functions-list@3.2.3: {} - css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: icss-utils: 5.1.0(postcss@8.5.3) loader-utils: 2.0.4 @@ -22312,7 +22313,7 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.7.1 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) css-loader@6.11.0(webpack@5.98.0): dependencies: @@ -22327,7 +22328,7 @@ snapshots: optionalDependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - css-loader@7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + css-loader@7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: icss-utils: 5.1.0(postcss@8.5.3) postcss: 8.5.3 @@ -22338,7 +22339,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.1 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) css-minimizer-webpack-plugin@5.0.1(esbuild@0.25.4)(webpack@5.98.0): dependencies: @@ -23400,20 +23401,20 @@ snapshots: es6-promise@4.2.8: {} - esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: esbuild: 0.17.19 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-sources: 1.4.3 - esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: esbuild: 0.25.3 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-sources: 1.4.3 esbuild@0.17.19: @@ -26466,10 +26467,10 @@ snapshots: schema-utils: 4.3.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: schema-utils: 4.3.2 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) minimalistic-assert@1.0.1: {} @@ -27580,7 +27581,7 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.3 - postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -27588,7 +27589,7 @@ snapshots: postcss: 8.5.3 schema-utils: 3.3.0 semver: 7.7.1 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) postcss-loader@6.2.1(postcss@8.5.3)(webpack@5.98.0): dependencies: @@ -27598,14 +27599,14 @@ snapshots: semver: 7.7.1 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: cosmiconfig: 9.0.0(typescript@5.0.4) jiti: 1.21.7 postcss: 8.5.3 semver: 7.7.1 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) transitivePeerDependencies: - typescript @@ -28201,11 +28202,11 @@ snapshots: raw-loader@0.5.1: {} - raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) rc@1.2.8: dependencies: @@ -29441,19 +29442,19 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.4.2 - style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) style-loader@3.3.4(webpack@5.98.0): dependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - style-loader@4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + style-loader@4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) style-mod@4.1.2: {} @@ -29814,7 +29815,7 @@ snapshots: rimraf: 2.6.3 optional: true - terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -29824,7 +29825,7 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-sources: 1.4.3 transitivePeerDependencies: - bluebird @@ -29841,14 +29842,14 @@ snapshots: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 - terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) optionalDependencies: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 @@ -30006,7 +30007,7 @@ snapshots: ts-dedent@2.2.0: {} - ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.1 @@ -30014,7 +30015,7 @@ snapshots: semver: 7.7.1 source-map: 0.7.4 typescript: 5.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) ts-loader@9.5.2(typescript@5.8.3)(webpack@5.98.0): dependencies: @@ -30714,7 +30715,7 @@ snapshots: optionalDependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-dev-middleware@7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + webpack-dev-middleware@7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -30723,9 +30724,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.98.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -30753,10 +30754,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + webpack-dev-middleware: 7.4.2(webpack@5.98.0) ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack@5.98.0) transitivePeerDependencies: - bufferutil @@ -30764,7 +30765,7 @@ snapshots: - supports-color - utf-8-validate - webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.98.0): + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -30792,10 +30793,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.98.0) + webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack@5.98.0) transitivePeerDependencies: - bufferutil @@ -30860,7 +30861,7 @@ snapshots: - esbuild - uglify-js - webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)): + webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -30883,7 +30884,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: From 2476f380b0df80f81b1a5693b97d321c507873bb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 15:29:03 +0300 Subject: [PATCH 036/112] chore(code): set up test for eslint --- packages/codemirror/src/eslint.spec.ts | 13 +++++++++++- packages/codemirror/tsconfig.json | 3 +++ packages/codemirror/tsconfig.lib.json | 14 +++++++++++++ packages/codemirror/tsconfig.spec.json | 28 ++++++++++++++++++++++++++ packages/codemirror/vite.config.ts | 4 ++-- 5 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 packages/codemirror/tsconfig.spec.json diff --git a/packages/codemirror/src/eslint.spec.ts b/packages/codemirror/src/eslint.spec.ts index 3b3d08b5f7..0d73e81e2f 100644 --- a/packages/codemirror/src/eslint.spec.ts +++ b/packages/codemirror/src/eslint.spec.ts @@ -1,7 +1,18 @@ -import { lint } from "./eslint.js"; +import { lint as _lint } from "./eslint.js"; import { trimIndentation } from "@triliumnext/commons"; import { describe, expect, it } from "vitest"; +async function lint(code: string, mimeType: string) { + const linterData = await _lint(mimeType); + console.log("Got linter data", linterData); + if (!("linter" in linterData)) { + return []; + } + const { linter, config } = linterData; + const result = linter.verify(code, config); + return result; +} + describe("Linter", () => { it("reports some basic errors", async () => { const result = await lint(trimIndentation` diff --git a/packages/codemirror/tsconfig.json b/packages/codemirror/tsconfig.json index 7eeca5de75..fe54eef820 100644 --- a/packages/codemirror/tsconfig.json +++ b/packages/codemirror/tsconfig.json @@ -8,6 +8,9 @@ }, { "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" } ] } diff --git a/packages/codemirror/tsconfig.lib.json b/packages/codemirror/tsconfig.lib.json index a65f6b3067..f46b85d22d 100644 --- a/packages/codemirror/tsconfig.lib.json +++ b/packages/codemirror/tsconfig.lib.json @@ -21,5 +21,19 @@ { "path": "../commons/tsconfig.lib.json" } + ], + "exclude": [ + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx" ] } diff --git a/packages/codemirror/tsconfig.spec.json b/packages/codemirror/tsconfig.spec.json new file mode 100644 index 0000000000..fbd68ed60d --- /dev/null +++ b/packages/codemirror/tsconfig.spec.json @@ -0,0 +1,28 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./out-tsc/vitest", + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] + }, + "include": [ + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/packages/codemirror/vite.config.ts b/packages/codemirror/vite.config.ts index d68abd1b99..c2ba7e8603 100644 --- a/packages/codemirror/vite.config.ts +++ b/packages/codemirror/vite.config.ts @@ -1,4 +1,4 @@ -/// + import { defineConfig } from 'vite'; import dts from 'vite-plugin-dts'; import * as path from 'path'; @@ -6,7 +6,7 @@ import * as path from 'path'; export default defineConfig(() => ({ root: __dirname, cacheDir: '../../node_modules/.vite/packages/codemirror', - plugins: [dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json') })], + plugins: [dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json') }), ], // Uncomment this if you are using workers. // worker: { // plugins: [ nxViteTsPaths() ], From 9e5f2bf8c8a1d44a97bcac9cd6770fd9474e9f0b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 15:33:46 +0300 Subject: [PATCH 037/112] chore(code): fix type errors --- packages/codemirror/src/eslint.spec.ts | 1 - packages/codemirror/src/eslint.ts | 12 ++++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/codemirror/src/eslint.spec.ts b/packages/codemirror/src/eslint.spec.ts index 0d73e81e2f..aa77b88e2d 100644 --- a/packages/codemirror/src/eslint.spec.ts +++ b/packages/codemirror/src/eslint.spec.ts @@ -4,7 +4,6 @@ import { describe, expect, it } from "vitest"; async function lint(code: string, mimeType: string) { const linterData = await _lint(mimeType); - console.log("Got linter data", linterData); if (!("linter" in linterData)) { return []; } diff --git a/packages/codemirror/src/eslint.ts b/packages/codemirror/src/eslint.ts index d6082d23b6..4a8e81580a 100644 --- a/packages/codemirror/src/eslint.ts +++ b/packages/codemirror/src/eslint.ts @@ -1,3 +1,5 @@ +import type { Linter } from "eslint-linter-browserify"; + export async function lint(mimeType: string) { const Linter = (await import("eslint-linter-browserify")).Linter; @@ -22,9 +24,7 @@ export async function lint(mimeType: string) { } - return { - linter: new Linter(), - config: [ + const config: (Linter.LegacyConfig | Linter.Config | Linter.Config[]) = [ js.configs.recommended, { languageOptions: { @@ -37,6 +37,10 @@ export async function lint(mimeType: string) { "no-unused-vars": [ "warn", { vars: "local", args: "after-used" }] } } - ] + ]; + + return { + linter: new Linter(), + config } } From 7fda7051f25319b8ce451defca4fff27057a7881 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 15:59:35 +0300 Subject: [PATCH 038/112] chore(code): use proper JSON extension --- packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 2 +- pnpm-lock.yaml | 515 +++++++++--------- 3 files changed, 269 insertions(+), 249 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index fb89dd21cb..5fdace8a1c 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -23,6 +23,7 @@ "@codemirror/lang-css": "6.3.1", "@codemirror/lang-html": "6.4.9", "@codemirror/lang-javascript": "6.2.3", + "@codemirror/lang-json": "6.0.1", "@codemirror/lang-markdown": "6.3.2", "@codemirror/lang-php": "6.0.1", "@codemirror/lang-vue": "0.1.3", diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index c274dfee66..ed8c61c525 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -24,7 +24,7 @@ const byMimeType: Record Promise | Language "application/edn": async () => (await import('@codemirror/legacy-modes/mode/clojure')).clojure, "application/javascript;env=backend": async () => buildJavaScript("application/javascript;env=backend"), "application/javascript;env=frontend": async () => buildJavaScript("application/javascript;env=frontend"), - "application/json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).json, + "application/json": async () => ((await import('@codemirror/lang-json')).json()), "application/ld+json": async () => (await import('@codemirror/legacy-modes/mode/javascript')).jsonld, "application/mbox": async () => (await import('@codemirror/legacy-modes/mode/mbox')).mbox, "application/n-triples": async () => (await import('@codemirror/legacy-modes/mode/ntriples')).ntriples, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6ca6e8a219..77578920c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -308,7 +308,7 @@ importers: version: 19.1.3(@types/react@19.1.3) copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) happy-dom: specifier: 17.4.6 version: 17.4.6 @@ -394,7 +394,7 @@ importers: version: 1.0.2 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) electron: specifier: 36.2.0 version: 36.2.0 @@ -447,7 +447,7 @@ importers: version: 11.0.4 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) electron: specifier: 36.2.0 version: 36.2.0 @@ -622,7 +622,7 @@ importers: version: 1.4.7 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) csrf-csrf: specifier: 3.2.2 version: 3.2.2 @@ -793,7 +793,7 @@ importers: version: 1.0.1 webpack: specifier: 5.99.8 - version: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + version: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) ws: specifier: 8.18.2 version: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -845,7 +845,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -905,7 +905,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -965,7 +965,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1026,13 +1026,13 @@ importers: version: 43.0.1(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.8.3) '@ckeditor/ckeditor5-dev-utils': specifier: 43.0.1 - version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) '@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.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1099,7 +1099,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1163,6 +1163,9 @@ importers: '@codemirror/lang-javascript': specifier: 6.2.3 version: 6.2.3 + '@codemirror/lang-json': + specifier: 6.0.1 + version: 6.0.1 '@codemirror/lang-markdown': specifier: 6.3.2 version: 6.3.2 @@ -2196,6 +2199,9 @@ packages: '@codemirror/lang-javascript@6.2.3': resolution: {integrity: sha512-8PR3vIWg7pSu7ur8A07pGiYHgy3hHj+mRYRCSG8q+mPIrl0F02rgpGv+DsQTHRTc30rydOsf5PZ7yjKFg2Ackw==} + '@codemirror/lang-json@6.0.1': + resolution: {integrity: sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==} + '@codemirror/lang-markdown@6.3.2': resolution: {integrity: sha512-c/5MYinGbFxYl4itE9q/rgN/sMTjOr8XL5OWnC+EaRMLfCbVUmmubTJfdgpfcSS2SCaT7b+Q+xi3l6CgoE+BsA==} @@ -3429,6 +3435,9 @@ packages: '@lezer/javascript@1.5.1': resolution: {integrity: sha512-ATOImjeVJuvgm3JQ/bpo2Tmv55HSScE2MTPnKRMRIPx2cLhHGyX2VnqpHhtIV1tVzIjZDbcWQm+NCTF40ggZVw==} + '@lezer/json@1.0.3': + resolution: {integrity: sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==} + '@lezer/lr@1.4.2': resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} @@ -15079,6 +15088,12 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-adapter-ckfinder@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-adapter-ckfinder@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15101,6 +15116,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-autoformat@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-autoformat@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15125,6 +15149,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-basic-styles@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-basic-styles@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15138,6 +15171,16 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-block-quote@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-block-quote@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15210,6 +15253,12 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-cloud-services@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-cloud-services@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15220,6 +15269,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-code-block@45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15235,23 +15295,27 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0': + '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15272,7 +15336,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15349,11 +15413,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': + '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': dependencies: '@babel/parser': 7.27.0 '@babel/traverse': 7.27.0 - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) chalk: 5.4.1 fs-extra: 11.3.0 glob: 10.4.5 @@ -15371,58 +15435,58 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': + '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': dependencies: '@ckeditor/ckeditor5-dev-translations': 43.0.1 chalk: 3.0.0 cli-cursor: 3.1.0 cli-spinners: 2.9.2 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 - esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) fs-extra: 11.3.0 is-interactive: 1.0.0 javascript-stringify: 1.6.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) mocha: 7.2.0 postcss: 8.5.3 postcss-import: 14.1.0(postcss@8.5.3) - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) postcss-mixins: 9.0.4(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) shelljs: 0.8.5 - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) through2: 3.0.2 transitivePeerDependencies: - bluebird - supports-color - webpack - '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': + '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) chalk: 5.4.1 cli-cursor: 5.0.0 cli-spinners: 3.2.0 - css-loader: 7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + css-loader: 7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) cssnano: 7.0.6(postcss@8.5.3) - esbuild-loader: 4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + esbuild-loader: 4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) fs-extra: 11.3.0 is-interactive: 2.0.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) mocha: 10.8.2 postcss: 8.5.3 postcss-import: 16.1.0(postcss@8.5.3) - postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) postcss-mixins: 11.0.3(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) shelljs: 0.8.5 - style-loader: 4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + style-loader: 4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) through2: 4.0.2 transitivePeerDependencies: - '@rspack/core' @@ -15437,7 +15501,7 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15449,7 +15513,7 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15461,6 +15525,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-easy-image@45.0.0': + dependencies: + '@ckeditor/ckeditor5-cloud-services': 45.0.0 + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-easy-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15473,6 +15545,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-editor-balloon@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-editor-balloon@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15486,6 +15567,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-editor-classic@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-editor-classic@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15499,6 +15589,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-editor-decoupled@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-editor-decoupled@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15512,6 +15611,15 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-editor-inline@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + es-toolkit: 1.32.0 + '@ckeditor/ckeditor5-editor-inline@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15573,6 +15681,17 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-essentials@45.0.0': + dependencies: + '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-select-all': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-essentials@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15610,15 +15729,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-font@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-font@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15637,8 +15747,8 @@ snapshots: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-document-outline': 45.0.0 - '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-decoupled': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-classic': 45.0.0 + '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-pagination': 45.0.0 '@ckeditor/ckeditor5-real-time-collaboration': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15651,16 +15761,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-heading@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-paragraph': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-heading@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15675,14 +15775,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-highlight@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-highlight@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15744,10 +15836,10 @@ snapshots: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -15773,21 +15865,6 @@ snapshots: '@ckeditor/ckeditor5-icons@45.0.0': {} - '@ckeditor/ckeditor5-image@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-undo': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-upload': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-image@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15807,17 +15884,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-indent@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-indent@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15835,13 +15901,6 @@ snapshots: '@ckeditor/ckeditor5-inspector@4.1.0': {} - '@ckeditor/ckeditor5-language@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-language@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15853,20 +15912,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-link@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-link@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15885,18 +15930,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-list@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-list@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15971,15 +16004,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-mention@45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-mention@45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15997,22 +16021,14 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) + '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-minimap@45.0.0': - dependencies: - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-minimap@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16032,29 +16048,29 @@ snapshots: es-toolkit: 1.32.0 protobufjs: 7.4.0 - '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)': + '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) buffer: 6.0.3 chalk: 5.4.1 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) fs-extra: 11.3.0 glob: 7.2.3 minimist: 1.2.8 postcss: 8.5.3 - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) process: 0.11.10 - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) stylelint: 16.19.1(typescript@5.0.4) stylelint-config-ckeditor5: 2.0.1(stylelint@16.19.1(typescript@5.8.3)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) ts-node: 10.9.2(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.17)(typescript@5.0.4) typescript: 5.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -16133,7 +16149,7 @@ snapshots: '@ckeditor/ckeditor5-real-time-collaboration@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor-cloud-services-collaboration': 52.7.0(@ckeditor/ckeditor5-utils@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(bufferutil@4.0.9)(ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)(bufferutil@4.0.9)(utf-8-validate@6.0.5))(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-cloud-services': 45.0.0 '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16141,7 +16157,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0 + '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16199,7 +16215,7 @@ snapshots: '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-editor-classic': 45.0.0 '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16294,12 +16310,12 @@ snapshots: dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-html-support': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0 + '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)(bufferutil@4.0.9)(utf-8-validate@6.0.5) es-toolkit: 1.32.0 '@ckeditor/ckeditor5-style@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': @@ -16318,18 +16334,6 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-table@45.0.0': - dependencies: - '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-widget': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - es-toolkit: 1.32.0 - '@ckeditor/ckeditor5-table@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16354,28 +16358,28 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0': + '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-find-and-replace': 45.0.0 - '@ckeditor/ckeditor5-font': 45.0.0 - '@ckeditor/ckeditor5-heading': 45.0.0 - '@ckeditor/ckeditor5-highlight': 45.0.0 + '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-link': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 + '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-media-embed': 45.0.0 '@ckeditor/ckeditor5-merge-fields': 45.0.0 '@ckeditor/ckeditor5-restricted-editing': 45.0.0 '@ckeditor/ckeditor5-style': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0 + '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16383,6 +16387,10 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -16533,6 +16541,11 @@ snapshots: '@lezer/common': 1.2.3 '@lezer/javascript': 1.5.1 + '@codemirror/lang-json@6.0.1': + dependencies: + '@codemirror/language': 6.11.0 + '@lezer/json': 1.0.3 + '@codemirror/lang-markdown@6.3.2': dependencies: '@codemirror/autocomplete': 6.18.6 @@ -18014,6 +18027,12 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 + '@lezer/json@1.0.3': + dependencies: + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@lezer/lr@1.4.2': dependencies: '@lezer/common': 1.2.3 @@ -21804,51 +21823,51 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0 + '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: - '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-adapter-ckfinder': 45.0.0 '@ckeditor/ckeditor5-alignment': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-autoformat': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-autoformat': 45.0.0 '@ckeditor/ckeditor5-autosave': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-basic-styles': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-block-quote': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-basic-styles': 45.0.0 + '@ckeditor/ckeditor5-block-quote': 45.0.0 '@ckeditor/ckeditor5-bookmark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ckbox': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ckfinder': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-cloud-services': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-cloud-services': 45.0.0 + '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-easy-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-balloon': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-classic': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-decoupled': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-editor-inline': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-easy-image': 45.0.0 + '@ckeditor/ckeditor5-editor-balloon': 45.0.0 + '@ckeditor/ckeditor5-editor-classic': 45.0.0 + '@ckeditor/ckeditor5-editor-decoupled': 45.0.0 + '@ckeditor/ckeditor5-editor-inline': 45.0.0 '@ckeditor/ckeditor5-editor-multi-root': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-emoji': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-essentials': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-essentials': 45.0.0 '@ckeditor/ckeditor5-find-and-replace': 45.0.0 - '@ckeditor/ckeditor5-font': 45.0.0 + '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-heading': 45.0.0 - '@ckeditor/ckeditor5-highlight': 45.0.0 + '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-horizontal-line': 45.0.0 '@ckeditor/ckeditor5-html-embed': 45.0.0 '@ckeditor/ckeditor5-html-support': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 - '@ckeditor/ckeditor5-image': 45.0.0 - '@ckeditor/ckeditor5-indent': 45.0.0 - '@ckeditor/ckeditor5-language': 45.0.0 - '@ckeditor/ckeditor5-link': 45.0.0 - '@ckeditor/ckeditor5-list': 45.0.0 + '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-indent': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-language': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-list': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-markdown-gfm': 45.0.0 '@ckeditor/ckeditor5-media-embed': 45.0.0 - '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d) - '@ckeditor/ckeditor5-minimap': 45.0.0 + '@ckeditor/ckeditor5-mention': 45.0.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-minimap': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-page-break': 45.0.0 '@ckeditor/ckeditor5-paragraph': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-paste-from-office': 45.0.0 @@ -21858,8 +21877,8 @@ snapshots: '@ckeditor/ckeditor5-show-blocks': 45.0.0 '@ckeditor/ckeditor5-source-editing': 45.0.0 '@ckeditor/ckeditor5-special-characters': 45.0.0 - '@ckeditor/ckeditor5-style': 45.0.0 - '@ckeditor/ckeditor5-table': 45.0.0 + '@ckeditor/ckeditor5-style': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-table': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-typing': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -22181,14 +22200,14 @@ snapshots: serialize-javascript: 6.0.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - copy-webpack-plugin@13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + copy-webpack-plugin@13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.13 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) core-js-compat@3.41.0: dependencies: @@ -22301,7 +22320,7 @@ snapshots: css-functions-list@3.2.3: {} - css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: icss-utils: 5.1.0(postcss@8.5.3) loader-utils: 2.0.4 @@ -22313,7 +22332,7 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.7.1 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) css-loader@6.11.0(webpack@5.98.0): dependencies: @@ -22328,7 +22347,7 @@ snapshots: optionalDependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - css-loader@7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + css-loader@7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: icss-utils: 5.1.0(postcss@8.5.3) postcss: 8.5.3 @@ -22339,7 +22358,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.1 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) css-minimizer-webpack-plugin@5.0.1(esbuild@0.25.4)(webpack@5.98.0): dependencies: @@ -23401,20 +23420,20 @@ snapshots: es6-promise@4.2.8: {} - esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: esbuild: 0.17.19 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-sources: 1.4.3 - esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: esbuild: 0.25.3 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-sources: 1.4.3 esbuild@0.17.19: @@ -26467,10 +26486,10 @@ snapshots: schema-utils: 4.3.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: schema-utils: 4.3.2 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) minimalistic-assert@1.0.1: {} @@ -27581,7 +27600,7 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.3 - postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -27589,7 +27608,7 @@ snapshots: postcss: 8.5.3 schema-utils: 3.3.0 semver: 7.7.1 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) postcss-loader@6.2.1(postcss@8.5.3)(webpack@5.98.0): dependencies: @@ -27599,14 +27618,14 @@ snapshots: semver: 7.7.1 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: cosmiconfig: 9.0.0(typescript@5.0.4) jiti: 1.21.7 postcss: 8.5.3 semver: 7.7.1 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) transitivePeerDependencies: - typescript @@ -28202,11 +28221,11 @@ snapshots: raw-loader@0.5.1: {} - raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) rc@1.2.8: dependencies: @@ -29442,19 +29461,19 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.4.2 - style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) style-loader@3.3.4(webpack@5.98.0): dependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - style-loader@4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + style-loader@4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) style-mod@4.1.2: {} @@ -29815,7 +29834,7 @@ snapshots: rimraf: 2.6.3 optional: true - terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -29825,7 +29844,7 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-sources: 1.4.3 transitivePeerDependencies: - bluebird @@ -29842,14 +29861,14 @@ snapshots: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 - terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) optionalDependencies: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 @@ -30007,7 +30026,7 @@ snapshots: ts-dedent@2.2.0: {} - ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.1 @@ -30015,7 +30034,7 @@ snapshots: semver: 7.7.1 source-map: 0.7.4 typescript: 5.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) ts-loader@9.5.2(typescript@5.8.3)(webpack@5.98.0): dependencies: @@ -30715,7 +30734,7 @@ snapshots: optionalDependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-dev-middleware@7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + webpack-dev-middleware@7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -30724,9 +30743,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) - webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.98.0): + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -30754,10 +30773,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.98.0) + webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-cli: 6.0.1(webpack@5.98.0) transitivePeerDependencies: - bufferutil @@ -30765,7 +30784,7 @@ snapshots: - supports-color - utf-8-validate - webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.98.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -30793,10 +30812,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + webpack-dev-middleware: 7.4.2(webpack@5.98.0) ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack@5.98.0) transitivePeerDependencies: - bufferutil @@ -30861,7 +30880,7 @@ snapshots: - esbuild - uglify-js - webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1): + webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -30884,7 +30903,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: From 9d363fb42cb26a2d95440421a9997c0f31f2777a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 16:01:45 +0300 Subject: [PATCH 039/112] refactor(code): clean up library_loader --- apps/client/src/services/library_loader.ts | 31 ---------------------- 1 file changed, 31 deletions(-) diff --git a/apps/client/src/services/library_loader.ts b/apps/client/src/services/library_loader.ts index dcb0497b03..a5ad0e3fc2 100644 --- a/apps/client/src/services/library_loader.ts +++ b/apps/client/src/services/library_loader.ts @@ -7,36 +7,6 @@ export interface Library { css?: string[]; } -const CODE_MIRROR: Library = { - js: () => { - const scriptsToLoad = [ - "node_modules/codemirror/lib/codemirror.js", - "node_modules/codemirror/addon/display/placeholder.js", - "node_modules/codemirror/addon/edit/matchbrackets.js", - "node_modules/codemirror/addon/edit/matchtags.js", - "node_modules/codemirror/addon/fold/xml-fold.js", - "node_modules/codemirror/addon/lint/lint.js", - "node_modules/codemirror/addon/mode/loadmode.js", - "node_modules/codemirror/addon/mode/multiplex.js", - "node_modules/codemirror/addon/mode/overlay.js", - "node_modules/codemirror/addon/mode/simple.js", - "node_modules/codemirror/addon/search/match-highlighter.js", - "node_modules/codemirror/mode/meta.js", - "node_modules/codemirror/keymap/vim.js" - ]; - - const mimeTypes = mimeTypesService.getMimeTypes(); - for (const mimeType of mimeTypes) { - if (mimeType.enabled && mimeType.codeMirrorSource) { - scriptsToLoad.push(mimeType.codeMirrorSource); - } - } - - return scriptsToLoad; - }, - css: ["node_modules/codemirror/lib/codemirror.css", "node_modules/codemirror/addon/lint/lint.css"] -}; - const KATEX: Library = { js: ["node_modules/katex/dist/katex.min.js", "node_modules/katex/dist/contrib/mhchem.min.js", "node_modules/katex/dist/contrib/auto-render.min.js"], css: ["node_modules/katex/dist/katex.min.css"] @@ -151,7 +121,6 @@ export default { requireCss, requireLibrary, loadHighlightingTheme, - CODE_MIRROR, KATEX, HIGHLIGHT_JS }; From e5fad6340342a1c891c35fbb96c5653b72c1ab01 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 16:04:17 +0300 Subject: [PATCH 040/112] chore(code): set up TypeScript TSX --- packages/codemirror/src/syntax_highlighting.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index ed8c61c525..48704dc8c3 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -52,7 +52,7 @@ const byMimeType: Record Promise | Language "text/tiki": async () => (await import('@codemirror/legacy-modes/mode/tiki')).tiki, "text/troff": async () => (await import('@codemirror/legacy-modes/mode/troff')).troff, "text/turtle": async () => (await import('@codemirror/legacy-modes/mode/turtle')).turtle, - "text/typescript-jsx": null, + "text/typescript-jsx": async () => (await import('@codemirror/lang-javascript')).javascript({ typescript: true, jsx: true }), "text/vbscript": async () => (await import('@codemirror/legacy-modes/mode/vbscript')).vbScript, "text/velocity": async () => (await import('@codemirror/legacy-modes/mode/velocity')).velocity, "text/x-asm-mips": null, From 9b958fc659c2544add2cfbde193060e20b4bc52d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 17:04:15 +0300 Subject: [PATCH 041/112] chore(code): reintroduce vim keybindings --- .../src/widgets/type_widgets/editable_code.ts | 2 +- packages/codemirror/package.json | 1 + packages/codemirror/src/index.ts | 15 +++++++++++--- pnpm-lock.yaml | 20 +++++++++++++++++++ 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts index 5bc9bc65ea..339caada85 100644 --- a/apps/client/src/widgets/type_widgets/editable_code.ts +++ b/apps/client/src/widgets/type_widgets/editable_code.ts @@ -45,13 +45,13 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { getExtraOpts(): Partial { return { placeholder: t("editable_code.placeholder"), + vimKeybindings: options.is("vimKeymapEnabled"), onContentChanged: () => this.spacedUpdate.scheduleUpdate() } } // getExtraOpts(): Partial { // return { - // keyMap: options.is("vimKeymapEnabled") ? "vim" : "default", // lint: true, // gutters: ["CodeMirror-lint-markers"], // tabindex: 300, diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 5fdace8a1c..6982b5f29a 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -31,6 +31,7 @@ "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", + "@replit/codemirror-vim": "6.3.0", "@ssddanbrown/codemirror-lang-smarty": "1.0.0", "@ssddanbrown/codemirror-lang-twig": "1.0.0", "codemirror-lang-hcl": "0.1.0", diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 71168938c7..6bf586437c 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -3,6 +3,7 @@ import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, View import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching } from "@codemirror/language"; import { Compartment, type Extension } from "@codemirror/state"; import { highlightSelectionMatches } from "@codemirror/search"; +import { vim } from "@replit/codemirror-vim"; import byMimeType from "./syntax_highlighting.js"; type ContentChangedListener = () => void; @@ -10,6 +11,7 @@ type ContentChangedListener = () => void; export interface EditorConfig extends EditorViewConfig { placeholder?: string; lineWrapping?: boolean; + vimKeybindings?: boolean; onContentChanged?: ContentChangedListener; } @@ -23,7 +25,14 @@ export default class CodeMirror extends EditorView { const languageCompartment = new Compartment(); const historyCompartment = new Compartment(); - let extensions = [ + let extensions: Extension[] = []; + + if (config.vimKeybindings) { + extensions.push(vim()); + } + + extensions = [ + ...extensions, languageCompartment.of([]), historyCompartment.of(history()), syntaxHighlighting(defaultHighlightStyle, { fallback: true }), @@ -36,8 +45,8 @@ export default class CodeMirror extends EditorView { ...defaultKeymap, ...historyKeymap, indentWithTab - ]), - ]; + ]) + ] if (Array.isArray(config.extensions)) { extensions = [...extensions, ...config.extensions]; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 77578920c5..2ad7918e72 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1187,6 +1187,9 @@ importers: '@codemirror/view': specifier: 6.36.7 version: 6.36.7 + '@replit/codemirror-vim': + specifier: 6.3.0 + version: 6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.10)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7) '@ssddanbrown/codemirror-lang-smarty': specifier: 1.0.0 version: 1.0.0 @@ -4292,6 +4295,15 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@replit/codemirror-vim@6.3.0': + resolution: {integrity: sha512-aTx931ULAMuJx6xLf7KQDOL7CxD+Sa05FktTDrtLaSy53uj01ll3Zf17JdKsriER248oS55GBzg0CfCTjEneAQ==} + peerDependencies: + '@codemirror/commands': 6.x.x + '@codemirror/language': 6.x.x + '@codemirror/search': 6.x.x + '@codemirror/state': 6.x.x + '@codemirror/view': 6.x.x + '@rollup/plugin-commonjs@25.0.8': resolution: {integrity: sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==} engines: {node: '>=14.0.0'} @@ -19393,6 +19405,14 @@ snapshots: '@radix-ui/rect@1.1.0': {} + '@replit/codemirror-vim@6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.10)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)': + dependencies: + '@codemirror/commands': 6.8.1 + '@codemirror/language': 6.11.0 + '@codemirror/search': 6.5.10 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@rollup/plugin-commonjs@25.0.8(rollup@4.40.0)': dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) From 9bbe111dd9f04aa17b733dae0e628b9a6a61fe6d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 17:16:07 +0300 Subject: [PATCH 042/112] chore(code): introduce fold gutter --- packages/codemirror/src/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 6bf586437c..1fdd87109b 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,6 +1,6 @@ import { defaultKeymap, history, historyKeymap, indentWithTab } from "@codemirror/commands"; import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; -import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching } from "@codemirror/language"; +import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching, foldGutter } from "@codemirror/language"; import { Compartment, type Extension } from "@codemirror/state"; import { highlightSelectionMatches } from "@codemirror/search"; import { vim } from "@replit/codemirror-vim"; @@ -40,6 +40,7 @@ export default class CodeMirror extends EditorView { highlightSelectionMatches(), bracketMatching(), lineNumbers(), + foldGutter(), indentUnit.of(" ".repeat(4)), keymap.of([ ...defaultKeymap, From 4bac03570ce861f2799898c8b0ff1a950136cae4 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 17:39:10 +0300 Subject: [PATCH 043/112] chore(code): add smart tab behaviour --- .../codemirror/src/extensions/custom_tab.ts | 43 +++++++++++++++++++ .../src/{ => extensions}/eslint.spec.ts | 0 .../codemirror/src/{ => extensions}/eslint.ts | 0 packages/codemirror/src/index.ts | 3 +- .../codemirror/src/syntax_highlighting.ts | 2 +- 5 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 packages/codemirror/src/extensions/custom_tab.ts rename packages/codemirror/src/{ => extensions}/eslint.spec.ts (100%) rename packages/codemirror/src/{ => extensions}/eslint.ts (100%) diff --git a/packages/codemirror/src/extensions/custom_tab.ts b/packages/codemirror/src/extensions/custom_tab.ts new file mode 100644 index 0000000000..ae99e90a67 --- /dev/null +++ b/packages/codemirror/src/extensions/custom_tab.ts @@ -0,0 +1,43 @@ +import { indentLess, indentMore } from "@codemirror/commands"; +import type { KeyBinding } from "@codemirror/view"; + +const smartIndentWithTab: KeyBinding[] = [ + { + key: "Tab", + run({ state, dispatch}) { + const { selection } = state; + + for (const range of selection.ranges) { + if (!range.empty) { + // Allow default behaviour. + return false; + } + + const line = state.doc.lineAt(range.head); + const beforeCursor = state.doc.sliceString(line.from, range.head); + + if (/^\s*$/.test(beforeCursor)) { + // Only whitespace before cursor: indent line + return indentMore({state, dispatch}); + } else { + // Insert a tab character + const cursor = range.head; + dispatch(state.update({ + changes: { + from: cursor, + insert: "\t" + }, + selection: { anchor: cursor + 1 }, + scrollIntoView: true, + userEvent: "input" + })); + return true; + } + } + + return false; + }, + shift: indentLess + }, +] +export default smartIndentWithTab; diff --git a/packages/codemirror/src/eslint.spec.ts b/packages/codemirror/src/extensions/eslint.spec.ts similarity index 100% rename from packages/codemirror/src/eslint.spec.ts rename to packages/codemirror/src/extensions/eslint.spec.ts diff --git a/packages/codemirror/src/eslint.ts b/packages/codemirror/src/extensions/eslint.ts similarity index 100% rename from packages/codemirror/src/eslint.ts rename to packages/codemirror/src/extensions/eslint.ts diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 1fdd87109b..cbb268170b 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -5,6 +5,7 @@ import { Compartment, type Extension } from "@codemirror/state"; import { highlightSelectionMatches } from "@codemirror/search"; import { vim } from "@replit/codemirror-vim"; import byMimeType from "./syntax_highlighting.js"; +import smartIndentWithTab from "./extensions/custom_tab.js"; type ContentChangedListener = () => void; @@ -45,7 +46,7 @@ export default class CodeMirror extends EditorView { keymap.of([ ...defaultKeymap, ...historyKeymap, - indentWithTab + ...smartIndentWithTab ]) ] diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index 48704dc8c3..ca10bd9f27 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -4,7 +4,7 @@ import type { Extension } from "@codemirror/state"; async function buildJavaScript(mimeType: string) { const { javascript, esLint } = await import('@codemirror/lang-javascript'); - const lint = (await import("./eslint.js")).lint; + const lint = (await import("./extensions/eslint.js")).lint; const extensions: Extension[] = [ javascript() ]; const result = await lint(mimeType); From 8d18823608a79b12bd202565fa54a88256c15e84 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 17:59:44 +0300 Subject: [PATCH 044/112] chore(code): support multiple selections in tab --- .../codemirror/src/extensions/custom_tab.ts | 45 +++++++++++-------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/packages/codemirror/src/extensions/custom_tab.ts b/packages/codemirror/src/extensions/custom_tab.ts index ae99e90a67..9ba6020108 100644 --- a/packages/codemirror/src/extensions/custom_tab.ts +++ b/packages/codemirror/src/extensions/custom_tab.ts @@ -1,38 +1,45 @@ import { indentLess, indentMore } from "@codemirror/commands"; +import { EditorSelection, type ChangeSpec } from "@codemirror/state"; import type { KeyBinding } from "@codemirror/view"; const smartIndentWithTab: KeyBinding[] = [ { key: "Tab", - run({ state, dispatch}) { + run({ state, dispatch }) { const { selection } = state; - for (const range of selection.ranges) { - if (!range.empty) { - // Allow default behaviour. - return false; - } + // Handle selection indenting normally + if (selection.ranges.some(range => !range.empty)) { + return indentMore({ state, dispatch }); + } + const changes = []; + const newSelections = []; + + for (let range of selection.ranges) { const line = state.doc.lineAt(range.head); const beforeCursor = state.doc.sliceString(line.from, range.head); if (/^\s*$/.test(beforeCursor)) { - // Only whitespace before cursor: indent line - return indentMore({state, dispatch}); + // Only whitespace before cursor → indent line + return indentMore({ state, dispatch }); } else { - // Insert a tab character - const cursor = range.head; - dispatch(state.update({ - changes: { - from: cursor, - insert: "\t" - }, - selection: { anchor: cursor + 1 }, + // Insert a tab character at cursor + changes.push({ from: range.head, to: range.head, insert: "\t" }); + newSelections.push(EditorSelection.cursor(range.head + 1)); + } + } + + if (changes.length) { + dispatch( + state.update({ + changes, + selection: EditorSelection.create(newSelections), scrollIntoView: true, userEvent: "input" - })); - return true; - } + }) + ); + return true; } return false; From 44069b8ccbfede9cee0469b504e4a1b3d5527244 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 18:01:53 +0300 Subject: [PATCH 045/112] chore(code): replace tab if pressed while selected --- .../codemirror/src/extensions/custom_tab.ts | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/packages/codemirror/src/extensions/custom_tab.ts b/packages/codemirror/src/extensions/custom_tab.ts index 9ba6020108..2b93d7678b 100644 --- a/packages/codemirror/src/extensions/custom_tab.ts +++ b/packages/codemirror/src/extensions/custom_tab.ts @@ -2,20 +2,41 @@ import { indentLess, indentMore } from "@codemirror/commands"; import { EditorSelection, type ChangeSpec } from "@codemirror/state"; import type { KeyBinding } from "@codemirror/view"; +/** + * Custom key binding for indentation: + * + * - Tab while at the beginning of a line will indent the line. + * - Tab while not at the beginning of a line will insert a tab character. + * - Tab while not at the beginning of a line while text is selected will replace the txt with a tab character. + * - Shift+Tab will always unindent. + */ const smartIndentWithTab: KeyBinding[] = [ { key: "Tab", run({ state, dispatch }) { const { selection } = state; + const changes = []; + const newSelections = []; - // Handle selection indenting normally + // Step 1: Handle non-empty selections → replace with tab if (selection.ranges.some(range => !range.empty)) { - return indentMore({ state, dispatch }); - } + for (let range of selection.ranges) { + changes.push({ from: range.from, to: range.to, insert: "\t" }); + newSelections.push(EditorSelection.cursor(range.from + 1)); + } - const changes = []; - const newSelections = []; + dispatch( + state.update({ + changes, + selection: EditorSelection.create(newSelections), + scrollIntoView: true, + userEvent: "input" + }) + ); + return true; + } + // Step 2: Handle empty selections for (let range of selection.ranges) { const line = state.doc.lineAt(range.head); const beforeCursor = state.doc.sliceString(line.from, range.head); @@ -24,7 +45,7 @@ const smartIndentWithTab: KeyBinding[] = [ // Only whitespace before cursor → indent line return indentMore({ state, dispatch }); } else { - // Insert a tab character at cursor + // Insert tab character at cursor changes.push({ from: range.head, to: range.head, insert: "\t" }); newSelections.push(EditorSelection.cursor(range.head + 1)); } From efece397ad34295c42073c6f0d72dff790d39b88 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 18:30:32 +0300 Subject: [PATCH 046/112] chore(code): adapt stylesheet --- apps/client/src/stylesheets/style.css | 29 +++++-------------- apps/client/src/stylesheets/theme-dark.css | 2 +- .../src/stylesheets/theme-next-dark.css | 2 +- 3 files changed, 9 insertions(+), 24 deletions(-) diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index 544b6581be..175c3d1236 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -420,36 +420,21 @@ body.desktop #context-menu-container .dropdown-item > span { width: 100%; } -.CodeMirror { +.cm-editor { height: 100%; background: inherit; + outline: none !important; } -body .CodeMirror { +body .cm-editor { font-size: var(--monospace-font-size); } -.CodeMirror-gutters { +body .cm-editor .cm-gutters { background-color: inherit !important; border-right: none; } -.cm-matchhighlight { - background-color: #eeeeee; -} - -.cm-matchhighlight.ck-find-result{ - background: var(--ck-color-highlight-background); -} - -.cm-matchhighlight.ck-find-result_selected { - background-color: #ff9633; -} - -.CodeMirror pre.CodeMirror-placeholder { - color: #999 !important; -} - #sql-console-query { height: 150px; width: 100%; @@ -457,11 +442,11 @@ body .CodeMirror { margin-bottom: 10px; } -#sql-console-query .CodeMirror { +#sql-console-query .cm-editor { height: 150px; } -#sql-console-query .CodeMirror-scroll { +#sql-console-query .cm-editor .cm-scroller { min-height: inherit !important; } @@ -524,7 +509,7 @@ button.btn-sm { padding: 0; } -pre:not(.CodeMirror-line):not(.hljs) { +pre:not(.hljs) { color: var(--main-text-color) !important; white-space: pre-wrap; font-size: 100%; diff --git a/apps/client/src/stylesheets/theme-dark.css b/apps/client/src/stylesheets/theme-dark.css index cfabe2f156..d1125d0977 100644 --- a/apps/client/src/stylesheets/theme-dark.css +++ b/apps/client/src/stylesheets/theme-dark.css @@ -81,7 +81,7 @@ body ::-webkit-calendar-picker-indicator { filter: invert(1); } -body .CodeMirror { +body .cm-editor { filter: invert(90%) hue-rotate(180deg); } diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css index 98f379c6e5..967a4ee431 100644 --- a/apps/client/src/stylesheets/theme-next-dark.css +++ b/apps/client/src/stylesheets/theme-next-dark.css @@ -244,7 +244,7 @@ body ::-webkit-calendar-picker-indicator { filter: invert(1); } -body .CodeMirror { +body .cm-editor { filter: invert(90%) hue-rotate(180deg); } From f0ae5aeba6506b4af79432a6bb0e564886cdb5ef Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 18:33:45 +0300 Subject: [PATCH 047/112] chore(code): fix placeholder --- apps/client/src/stylesheets/style.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css index 175c3d1236..0d4ade2a88 100644 --- a/apps/client/src/stylesheets/style.css +++ b/apps/client/src/stylesheets/style.css @@ -435,6 +435,10 @@ body .cm-editor .cm-gutters { border-right: none; } +body .cm-editor .cm-placeholder { + color: #999 !important; +} + #sql-console-query { height: 150px; width: 100%; From b1f08b944aff81f4eb80e69941694e96ab4ab337 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 18:36:49 +0300 Subject: [PATCH 048/112] feat(code): remove unnecessary border in read-only code --- apps/client/src/widgets/type_widgets/read_only_code.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/read_only_code.ts b/apps/client/src/widgets/type_widgets/read_only_code.ts index 9bdeee1504..c120138a87 100644 --- a/apps/client/src/widgets/type_widgets/read_only_code.ts +++ b/apps/client/src/widgets/type_widgets/read_only_code.ts @@ -9,10 +9,6 @@ const TPL = /*html*/` min-height: 50px; position: relative; } - - .note-detail-readonly-code-content { - padding: 10px; - }


From c24e1f0ec50e1a5d2c48351448a9a730c6a44edf Mon Sep 17 00:00:00 2001
From: Elian Doran 
Date: Sun, 11 May 2025 18:37:53 +0300
Subject: [PATCH 049/112] fix(code): syntax highlighting not working in
 read-only code

---
 .../client/src/widgets/type_widgets/abstract_code_type_widget.ts | 1 +
 apps/client/src/widgets/type_widgets/editable_code.ts            | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts
index e769015777..6dd68139a0 100644
--- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts
+++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts
@@ -61,6 +61,7 @@ export default class AbstractCodeTypeWidget extends TypeWidget {
      */
     _update(note: FNote, content: string) {
         this.codeEditor.setText(content);
+        this.codeEditor.setMimeType(note.mime);
         this.codeEditor.clearHistory();
     }
 
diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts
index 339caada85..b60e8e422b 100644
--- a/apps/client/src/widgets/type_widgets/editable_code.ts
+++ b/apps/client/src/widgets/type_widgets/editable_code.ts
@@ -66,7 +66,6 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget {
             this._update(note, blob?.content ?? "");
         });
 
-        this.codeEditor.setMimeType(note.mime);
         this.show();
 
         if (this.parent && hasTouchBar) {

From 49838fb7738412b5d139193d58a31ad6d8909637 Mon Sep 17 00:00:00 2001
From: Elian Doran 
Date: Sun, 11 May 2025 18:41:10 +0300
Subject: [PATCH 050/112] refactor(code): stop exposing CodeMirror
 configuration

---
 packages/codemirror/src/index.ts      | 11 ++++-------
 packages/codemirror/tsconfig.lib.json |  3 +++
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts
index cbb268170b..3188f20acd 100644
--- a/packages/codemirror/src/index.ts
+++ b/packages/codemirror/src/index.ts
@@ -1,4 +1,4 @@
-import { defaultKeymap, history, historyKeymap, indentWithTab } from "@codemirror/commands";
+import { defaultKeymap, history, historyKeymap } from "@codemirror/commands";
 import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view";
 import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching, foldGutter } from "@codemirror/language";
 import { Compartment, type Extension } from "@codemirror/state";
@@ -9,7 +9,8 @@ import smartIndentWithTab from "./extensions/custom_tab.js";
 
 type ContentChangedListener = () => void;
 
-export interface EditorConfig extends EditorViewConfig {
+export interface EditorConfig {
+    parent: HTMLElement;
     placeholder?: string;
     lineWrapping?: boolean;
     vimKeybindings?: boolean;
@@ -50,10 +51,6 @@ export default class CodeMirror extends EditorView {
             ])
         ]
 
-        if (Array.isArray(config.extensions)) {
-            extensions = [...extensions, ...config.extensions];
-        }
-
         if (config.placeholder) {
             extensions.push(placeholder(config.placeholder));
         }
@@ -67,7 +64,7 @@ export default class CodeMirror extends EditorView {
         }
 
         super({
-            ...config,
+            parent: config.parent,
             extensions
         });
         this.config = config;
diff --git a/packages/codemirror/tsconfig.lib.json b/packages/codemirror/tsconfig.lib.json
index f46b85d22d..f3f86f56fc 100644
--- a/packages/codemirror/tsconfig.lib.json
+++ b/packages/codemirror/tsconfig.lib.json
@@ -9,6 +9,9 @@
     "forceConsistentCasingInFileNames": true,
     "noImplicitOverride": true,
     "noImplicitReturns": true,
+    "lib": [
+      "DOM"
+    ],
     "types": [
       "node",
       "vite/client"

From 3e5e19b8a50ec398cb9d96076151ac0a55ab2f88 Mon Sep 17 00:00:00 2001
From: Elian Doran 
Date: Sun, 11 May 2025 18:42:56 +0300
Subject: [PATCH 051/112] chore(code): reintroduce read-only mode

---
 apps/client/src/widgets/type_widgets/read_only_code.ts | 2 +-
 packages/codemirror/src/index.ts                       | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/apps/client/src/widgets/type_widgets/read_only_code.ts b/apps/client/src/widgets/type_widgets/read_only_code.ts
index c120138a87..fd74aaa5a7 100644
--- a/apps/client/src/widgets/type_widgets/read_only_code.ts
+++ b/apps/client/src/widgets/type_widgets/read_only_code.ts
@@ -39,7 +39,7 @@ export default class ReadOnlyCodeTypeWidget extends AbstractCodeTypeWidget {
         this.show();
     }
 
-    getExtraOpts(): Partial {
+    getExtraOpts() {
         return {
             readOnly: true
         };
diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts
index 3188f20acd..160140e23b 100644
--- a/packages/codemirror/src/index.ts
+++ b/packages/codemirror/src/index.ts
@@ -1,7 +1,7 @@
 import { defaultKeymap, history, historyKeymap } from "@codemirror/commands";
 import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view";
 import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching, foldGutter } from "@codemirror/language";
-import { Compartment, type Extension } from "@codemirror/state";
+import { Compartment, EditorState, type Extension } from "@codemirror/state";
 import { highlightSelectionMatches } from "@codemirror/search";
 import { vim } from "@replit/codemirror-vim";
 import byMimeType from "./syntax_highlighting.js";
@@ -14,6 +14,7 @@ export interface EditorConfig {
     placeholder?: string;
     lineWrapping?: boolean;
     vimKeybindings?: boolean;
+    readOnly?: boolean;
     onContentChanged?: ContentChangedListener;
 }
 
@@ -51,6 +52,10 @@ export default class CodeMirror extends EditorView {
             ])
         ]
 
+        if (config.readOnly) {
+            extensions.push(EditorState.readOnly.of(true));
+        }
+
         if (config.placeholder) {
             extensions.push(placeholder(config.placeholder));
         }

From a20a51fa754be59d2abd34bdce3a27d8fa211926 Mon Sep 17 00:00:00 2001
From: Elian Doran 
Date: Sun, 11 May 2025 18:45:37 +0300
Subject: [PATCH 052/112] fix(code): indentation working in read-only mode

---
 packages/codemirror/src/extensions/custom_tab.ts | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/packages/codemirror/src/extensions/custom_tab.ts b/packages/codemirror/src/extensions/custom_tab.ts
index 2b93d7678b..2355ce90f5 100644
--- a/packages/codemirror/src/extensions/custom_tab.ts
+++ b/packages/codemirror/src/extensions/custom_tab.ts
@@ -1,5 +1,5 @@
 import { indentLess, indentMore } from "@codemirror/commands";
-import { EditorSelection, type ChangeSpec } from "@codemirror/state";
+import { EditorSelection, EditorState, type ChangeSpec } from "@codemirror/state";
 import type { KeyBinding } from "@codemirror/view";
 
 /**
@@ -14,6 +14,10 @@ const smartIndentWithTab: KeyBinding[] = [
     {
         key: "Tab",
         run({ state, dispatch }) {
+            if (state.facet(EditorState.readOnly)) {
+                return false;
+            }
+
             const { selection } = state;
             const changes = [];
             const newSelections = [];

From 2704548eb8a88db1d3db25778b52d3a27b8e280c Mon Sep 17 00:00:00 2001
From: Elian Doran 
Date: Sun, 11 May 2025 18:51:44 +0300
Subject: [PATCH 053/112] chore(code): stop loading unnecessary extensions for
 read-only mode

---
 packages/codemirror/src/index.ts | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts
index 160140e23b..7307e9f88a 100644
--- a/packages/codemirror/src/index.ts
+++ b/packages/codemirror/src/index.ts
@@ -37,7 +37,6 @@ export default class CodeMirror extends EditorView {
         extensions = [
             ...extensions,
             languageCompartment.of([]),
-            historyCompartment.of(history()),
             syntaxHighlighting(defaultHighlightStyle, { fallback: true }),
             highlightActiveLine(),
             highlightSelectionMatches(),
@@ -52,22 +51,26 @@ export default class CodeMirror extends EditorView {
             ])
         ]
 
-        if (config.readOnly) {
-            extensions.push(EditorState.readOnly.of(true));
-        }
+        if (!config.readOnly) {
+            // Logic specific to editable notes
+            if (config.placeholder) {
+                extensions.push(placeholder(config.placeholder));
+            }
+
+            if (config.onContentChanged) {
+                extensions.push(EditorView.updateListener.of((v) => this.#onDocumentUpdated(v)));
+            }
 
-        if (config.placeholder) {
-            extensions.push(placeholder(config.placeholder));
+            extensions.push(historyCompartment.of(history()));
+        } else {
+            // Logic specific to read-only notes
+            extensions.push(EditorState.readOnly.of(true));
         }
 
         if (config.lineWrapping) {
             extensions.push(EditorView.lineWrapping);
         }
 
-        if (config.onContentChanged) {
-            extensions.push(EditorView.updateListener.of((v) => this.#onDocumentUpdated(v)));
-        }
-
         super({
             parent: config.parent,
             extensions
@@ -101,6 +104,10 @@ export default class CodeMirror extends EditorView {
      * Clears the history of undo/redo. Generally useful when changing to a new document.
      */
     clearHistory() {
+        if (this.config.readOnly) {
+            return;
+        }
+
         this.dispatch({
             effects: [ this.historyCompartment.reconfigure([]) ]
         });

From 58b9d9074e0e8176afe9a72c35a8681d74f5d47a Mon Sep 17 00:00:00 2001
From: Elian Doran 
Date: Sun, 11 May 2025 19:08:43 +0300
Subject: [PATCH 054/112] feat(mermaid): add basic syntax highlight

---
 .../type_widgets/abstract_split_type_widget.ts       |  3 ++-
 apps/client/src/widgets/type_widgets/mermaid.ts      |  1 +
 docs/Release Notes/Release Notes/v0.94.0.md          |  1 +
 packages/codemirror/package.json                     |  1 +
 packages/codemirror/src/syntax_highlighting.ts       |  7 +++++++
 pnpm-lock.yaml                                       | 12 ++++++++++++
 6 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts
index 3b1cb222b9..c3cd63272e 100644
--- a/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts
+++ b/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts
@@ -8,6 +8,7 @@ import options from "../../services/options.js";
 import type SwitchSplitOrientationButton from "../floating_buttons/switch_layout_button.js";
 import type { EventData } from "../../components/app_context.js";
 import type OnClickButtonWidget from "../buttons/onclick_button.js";
+import type { EditorConfig } from "@triliumnext/codemirror";
 
 const TPL = /*html*/`\
 
@@ -242,7 +243,7 @@ export default abstract class AbstractSplitTypeWidget extends TypeWidget { /** * Called upon when the code editor is being initialized. Can be used to add additional options to the editor. */ - buildEditorExtraOptions(): Partial { + buildEditorExtraOptions(): Partial { return { lineWrapping: false }; diff --git a/apps/client/src/widgets/type_widgets/mermaid.ts b/apps/client/src/widgets/type_widgets/mermaid.ts index 50353e230b..c8642c9932 100644 --- a/apps/client/src/widgets/type_widgets/mermaid.ts +++ b/apps/client/src/widgets/type_widgets/mermaid.ts @@ -1,3 +1,4 @@ +import type { EditorConfig } from "@triliumnext/codemirror"; import { getMermaidConfig, loadElkIfNeeded, postprocessMermaidSvg } from "../../services/mermaid.js"; import AbstractSvgSplitTypeWidget from "./abstract_svg_split_type_widget.js"; diff --git a/docs/Release Notes/Release Notes/v0.94.0.md b/docs/Release Notes/Release Notes/v0.94.0.md index 18062acc7b..ecc1e08c05 100644 --- a/docs/Release Notes/Release Notes/v0.94.0.md +++ b/docs/Release Notes/Release Notes/v0.94.0.md @@ -26,6 +26,7 @@ * [Make it show which node triggered the event when right-clicking on tree](https://github.com/TriliumNext/Notes/pull/1861) by @SiriusXT * [Only expand/collapse the left pane of the focused window](https://github.com/TriliumNext/Notes/pull/1905) by @SiriusXT * Code notes now have support for GDScript (Godot). +* Mermaid diagrams: basic syntax highlight (not all diagram types are supported) and code folding. ## 📖 Documentation diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 6982b5f29a..244b513ed3 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -35,6 +35,7 @@ "@ssddanbrown/codemirror-lang-smarty": "1.0.0", "@ssddanbrown/codemirror-lang-twig": "1.0.0", "codemirror-lang-hcl": "0.1.0", + "codemirror-lang-mermaid": "0.5.0", "eslint-linter-browserify": "9.26.0" } } diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index ca10bd9f27..eb04b4955a 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -17,6 +17,11 @@ async function buildJavaScript(mimeType: string) { return extensions; } +async function buildMermaid() { + const { mermaid, foldByIndent } = (await import('codemirror-lang-mermaid')); + return [ mermaid(), foldByIndent() ]; +} + const byMimeType: Record Promise | LanguageSupport | Extension[]>) | null> = { "text/plain": null, @@ -55,6 +60,8 @@ const byMimeType: Record Promise | Language "text/typescript-jsx": async () => (await import('@codemirror/lang-javascript')).javascript({ typescript: true, jsx: true }), "text/vbscript": async () => (await import('@codemirror/legacy-modes/mode/vbscript')).vbScript, "text/velocity": async () => (await import('@codemirror/legacy-modes/mode/velocity')).velocity, + "text/vnd.mermaid": async () => buildMermaid(), + "text/mermaid": async () => buildMermaid(), "text/x-asm-mips": null, "text/x-asterisk": async () => (await import('@codemirror/legacy-modes/mode/asterisk')).asterisk, "text/x-brainfuck": async () => (await import('@codemirror/legacy-modes/mode/brainfuck')).brainfuck, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ad7918e72..e2d16b2d4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1199,6 +1199,9 @@ importers: codemirror-lang-hcl: specifier: 0.1.0 version: 0.1.0 + codemirror-lang-mermaid: + specifier: 0.5.0 + version: 0.5.0 eslint-linter-browserify: specifier: 9.26.0 version: 9.26.0 @@ -6441,6 +6444,9 @@ packages: codemirror-lang-hcl@0.1.0: resolution: {integrity: sha512-duwKEaQDhkJWad4YQ9pv4282BS6hCdR+gS/qTAj3f9bypXNNZ42bIN43h9WK3DjyZRENtVlUQdrQM1sA44wHmA==} + codemirror-lang-mermaid@0.5.0: + resolution: {integrity: sha512-Taw/2gPCyNArQJCxIP/HSUif+3zrvD+6Ugt7KJZ2dUKou/8r3ZhcfG8krNTZfV2iu8AuGnymKuo7bLPFyqsh/A==} + codemirror@5.65.19: resolution: {integrity: sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==} @@ -22058,6 +22064,12 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 + codemirror-lang-mermaid@0.5.0: + dependencies: + '@codemirror/language': 6.11.0 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + codemirror@5.65.19: {} collect-v8-coverage@1.0.2: {} From e4f5e5473b641fb6a3dedcd1463dfeb3bd7129e1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 19:10:48 +0300 Subject: [PATCH 055/112] chore(release): update changelog --- docs/Release Notes/Release Notes/v0.94.0.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/Release Notes/Release Notes/v0.94.0.md b/docs/Release Notes/Release Notes/v0.94.0.md index ecc1e08c05..a54b7e855f 100644 --- a/docs/Release Notes/Release Notes/v0.94.0.md +++ b/docs/Release Notes/Release Notes/v0.94.0.md @@ -20,12 +20,15 @@ * Improved the text editor style, to match the TriliumNext. * Footnotes work in image captions by @werererer -* Improvements to text notes, thanks updates to the editor (see the in-app help for more details): +* Improvements to text notes (see the in-app help for more details): + * Updated to the latest version of the CKEditor which brings significant bugfixes and performance improvements. * Bookmarks, similar to HTML anchors. * Emojis. * [Make it show which node triggered the event when right-clicking on tree](https://github.com/TriliumNext/Notes/pull/1861) by @SiriusXT * [Only expand/collapse the left pane of the focused window](https://github.com/TriliumNext/Notes/pull/1905) by @SiriusXT -* Code notes now have support for GDScript (Godot). +* Code notes: + * Updated to a new generation of CodeMirror. Since it's a significant update, bug reports are welcome. + * Added the GDScript (Godot) language. * Mermaid diagrams: basic syntax highlight (not all diagram types are supported) and code folding. ## 📖 Documentation From ce5debd9bf45f7e2ebf1adfcc90cf0d0c16d1fa2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 19:24:05 +0300 Subject: [PATCH 056/112] fix(mermaid): diagram not updating --- .../widgets/type_widgets/abstract_split_type_widget.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts index c3cd63272e..3758229ea6 100644 --- a/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_split_type_widget.ts @@ -132,7 +132,14 @@ export default abstract class AbstractSplitTypeWidget extends TypeWidget { super(); this.editorTypeWidget = new EditableCodeTypeWidget(); this.editorTypeWidget.isEnabled = () => true; - this.editorTypeWidget.getExtraOpts = this.buildEditorExtraOptions; + + const defaultOptions = this.editorTypeWidget.getExtraOpts(); + this.editorTypeWidget.getExtraOpts = () => { + return { + ...defaultOptions, + ...this.buildEditorExtraOptions() + }; + }; } doRender(): void { From 2b192eb1b9dd5b3a7532eb8416628f5d1675d3ca Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 19:44:10 +0300 Subject: [PATCH 057/112] feat(code): add Nix language --- .../src/services/mime_type_definitions.ts | 1 + .../services/import/mime_type_definitions.ts | 1 + docs/Release Notes/Release Notes/v0.94.0.md | 1 + packages/codemirror/package.json | 1 + .../codemirror/src/syntax_highlighting.ts | 1 + pnpm-lock.yaml | 24 +++++++++++++++++++ 6 files changed, 29 insertions(+) diff --git a/apps/client/src/services/mime_type_definitions.ts b/apps/client/src/services/mime_type_definitions.ts index 1094e50071..546900c4d7 100644 --- a/apps/client/src/services/mime_type_definitions.ts +++ b/apps/client/src/services/mime_type_definitions.ts @@ -107,6 +107,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "msgenny", mime: "text/x-msgenny" }, { title: "MUMPS", mime: "text/x-mumps" }, { title: "MySQL", mime: "text/x-mysql", highlightJs: "sql" }, + { title: "Nix", mime: "text/x-nix" }, { title: "Nginx", mime: "text/x-nginx-conf", highlightJs: "nginx" }, { title: "NSIS", mime: "text/x-nsis", highlightJs: "nsis" }, { title: "NTriples", mime: "application/n-triples" }, diff --git a/apps/server/src/services/import/mime_type_definitions.ts b/apps/server/src/services/import/mime_type_definitions.ts index 55029914b5..b58bd8311d 100644 --- a/apps/server/src/services/import/mime_type_definitions.ts +++ b/apps/server/src/services/import/mime_type_definitions.ts @@ -107,6 +107,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "msgenny", mime: "text/x-msgenny" }, { title: "MUMPS", mime: "text/x-mumps" }, { title: "MySQL", mime: "text/x-mysql", highlightJs: "sql" }, + { title: "Nix", mime: "text/x-nix" }, { title: "Nginx", mime: "text/x-nginx-conf", highlightJs: "nginx" }, { title: "NSIS", mime: "text/x-nsis", highlightJs: "nsis" }, { title: "NTriples", mime: "application/n-triples" }, diff --git a/docs/Release Notes/Release Notes/v0.94.0.md b/docs/Release Notes/Release Notes/v0.94.0.md index a54b7e855f..78b68c32c5 100644 --- a/docs/Release Notes/Release Notes/v0.94.0.md +++ b/docs/Release Notes/Release Notes/v0.94.0.md @@ -29,6 +29,7 @@ * Code notes: * Updated to a new generation of CodeMirror. Since it's a significant update, bug reports are welcome. * Added the GDScript (Godot) language. + * Added the Nix language. * Mermaid diagrams: basic syntax highlight (not all diagram types are supported) and code folding. ## 📖 Documentation diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 244b513ed3..fa237956af 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -31,6 +31,7 @@ "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", + "@replit/codemirror-lang-nix": "6.0.1", "@replit/codemirror-vim": "6.3.0", "@ssddanbrown/codemirror-lang-smarty": "1.0.0", "@ssddanbrown/codemirror-lang-twig": "1.0.0", diff --git a/packages/codemirror/src/syntax_highlighting.ts b/packages/codemirror/src/syntax_highlighting.ts index eb04b4955a..9fffa31b30 100644 --- a/packages/codemirror/src/syntax_highlighting.ts +++ b/packages/codemirror/src/syntax_highlighting.ts @@ -127,6 +127,7 @@ const byMimeType: Record Promise | Language "text/x-mssql": async () => (await import('@codemirror/legacy-modes/mode/sql')).msSQL, "text/x-mumps": async () => (await import('@codemirror/legacy-modes/mode/mumps')).mumps, "text/x-mysql": async () => (await import('@codemirror/legacy-modes/mode/sql')).mySQL, + "text/x-nix": async () => (await import('@replit/codemirror-lang-nix')).nix(), "text/x-nginx-conf": async () => (await import('@codemirror/legacy-modes/mode/nginx')).nginx, "text/x-nsis": async () => (await import('@codemirror/legacy-modes/mode/nsis')).nsis, "text/x-objectivec": async () => (await import('@codemirror/legacy-modes/mode/clike')).objectiveC, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e2d16b2d4f..14493dcadb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1187,6 +1187,9 @@ importers: '@codemirror/view': specifier: 6.36.7 version: 6.36.7 + '@replit/codemirror-lang-nix': + specifier: 6.0.1 + version: 6.0.1(@codemirror/autocomplete@6.18.6)(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)(@lezer/common@1.2.3)(@lezer/highlight@1.2.1)(@lezer/lr@1.4.2) '@replit/codemirror-vim': specifier: 6.3.0 version: 6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.10)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7) @@ -4298,6 +4301,17 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@replit/codemirror-lang-nix@6.0.1': + resolution: {integrity: sha512-lvzjoYn9nfJzBD5qdm3Ut6G3+Or2wEacYIDJ49h9+19WSChVnxv4ojf+rNmQ78ncuxIt/bfbMvDLMeMP0xze6g==} + peerDependencies: + '@codemirror/autocomplete': ^6.0.0 + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/common': ^1.0.0 + '@lezer/highlight': ^1.0.0 + '@lezer/lr': ^1.0.0 + '@replit/codemirror-vim@6.3.0': resolution: {integrity: sha512-aTx931ULAMuJx6xLf7KQDOL7CxD+Sa05FktTDrtLaSy53uj01ll3Zf17JdKsriER248oS55GBzg0CfCTjEneAQ==} peerDependencies: @@ -19411,6 +19425,16 @@ snapshots: '@radix-ui/rect@1.1.0': {} + '@replit/codemirror-lang-nix@6.0.1(@codemirror/autocomplete@6.18.6)(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)(@lezer/common@1.2.3)(@lezer/highlight@1.2.1)(@lezer/lr@1.4.2)': + dependencies: + '@codemirror/autocomplete': 6.18.6 + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/common': 1.2.3 + '@lezer/highlight': 1.2.1 + '@lezer/lr': 1.4.2 + '@replit/codemirror-vim@6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.10)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)': dependencies: '@codemirror/commands': 6.8.1 From cf7c5d3cb417b29a060a3e6f362df879227ffdc4 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 19:45:37 +0300 Subject: [PATCH 058/112] feat(text): add Nix language --- apps/client/src/services/mime_type_definitions.ts | 2 +- apps/server/src/services/import/mime_type_definitions.ts | 2 +- docs/Release Notes/Release Notes/v0.94.0.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/client/src/services/mime_type_definitions.ts b/apps/client/src/services/mime_type_definitions.ts index 546900c4d7..10c73e1135 100644 --- a/apps/client/src/services/mime_type_definitions.ts +++ b/apps/client/src/services/mime_type_definitions.ts @@ -107,7 +107,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "msgenny", mime: "text/x-msgenny" }, { title: "MUMPS", mime: "text/x-mumps" }, { title: "MySQL", mime: "text/x-mysql", highlightJs: "sql" }, - { title: "Nix", mime: "text/x-nix" }, + { title: "Nix", mime: "text/x-nix", highlightJs: "nix" }, { title: "Nginx", mime: "text/x-nginx-conf", highlightJs: "nginx" }, { title: "NSIS", mime: "text/x-nsis", highlightJs: "nsis" }, { title: "NTriples", mime: "application/n-triples" }, diff --git a/apps/server/src/services/import/mime_type_definitions.ts b/apps/server/src/services/import/mime_type_definitions.ts index b58bd8311d..3e74581169 100644 --- a/apps/server/src/services/import/mime_type_definitions.ts +++ b/apps/server/src/services/import/mime_type_definitions.ts @@ -107,7 +107,7 @@ export const MIME_TYPES_DICT: readonly MimeTypeDefinition[] = Object.freeze([ { title: "msgenny", mime: "text/x-msgenny" }, { title: "MUMPS", mime: "text/x-mumps" }, { title: "MySQL", mime: "text/x-mysql", highlightJs: "sql" }, - { title: "Nix", mime: "text/x-nix" }, + { title: "Nix", mime: "text/x-nix", highlightJs: "nix" }, { title: "Nginx", mime: "text/x-nginx-conf", highlightJs: "nginx" }, { title: "NSIS", mime: "text/x-nsis", highlightJs: "nsis" }, { title: "NTriples", mime: "application/n-triples" }, diff --git a/docs/Release Notes/Release Notes/v0.94.0.md b/docs/Release Notes/Release Notes/v0.94.0.md index 78b68c32c5..533092ac1e 100644 --- a/docs/Release Notes/Release Notes/v0.94.0.md +++ b/docs/Release Notes/Release Notes/v0.94.0.md @@ -29,7 +29,7 @@ * Code notes: * Updated to a new generation of CodeMirror. Since it's a significant update, bug reports are welcome. * Added the GDScript (Godot) language. - * Added the Nix language. + * Added the Nix language (and also in code blocks for text notes). * Mermaid diagrams: basic syntax highlight (not all diagram types are supported) and code folding. ## 📖 Documentation From 36246104dd66d230af437a5dd08d8e2d7135109f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 20:19:40 +0300 Subject: [PATCH 059/112] feat(codemirror): add model for themes --- packages/codemirror/package.json | 2 + packages/codemirror/src/color_themes.ts | 19 +++++++ packages/codemirror/src/index.ts | 11 ++++ pnpm-lock.yaml | 70 +++++++++++++++++++------ 4 files changed, 85 insertions(+), 17 deletions(-) create mode 100644 packages/codemirror/src/color_themes.ts diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index fa237956af..105126a340 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -31,6 +31,8 @@ "@codemirror/legacy-modes": "6.5.1", "@codemirror/search": "6.5.10", "@codemirror/view": "6.36.7", + "@fsegurai/codemirror-theme-abcdef": "6.1.4", + "@fsegurai/codemirror-theme-abyss": "6.1.4", "@replit/codemirror-lang-nix": "6.0.1", "@replit/codemirror-vim": "6.3.0", "@ssddanbrown/codemirror-lang-smarty": "1.0.0", diff --git a/packages/codemirror/src/color_themes.ts b/packages/codemirror/src/color_themes.ts new file mode 100644 index 0000000000..1420e39ef5 --- /dev/null +++ b/packages/codemirror/src/color_themes.ts @@ -0,0 +1,19 @@ +import type { Extension } from '@codemirror/state'; + +export interface ThemeDefinition { + name: string; + load(): Promise; +} + +const themes: ThemeDefinition[] = [ + { + name: "abyss", + load: async () => (await import("@fsegurai/codemirror-theme-abyss")).abyss + }, + { + name: "abcdef", + load: async () => (await import("@fsegurai/codemirror-theme-abcdef")).abcdef + } +] + +export default themes; diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 7307e9f88a..7ca0004024 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -6,6 +6,9 @@ import { highlightSelectionMatches } from "@codemirror/search"; import { vim } from "@replit/codemirror-vim"; import byMimeType from "./syntax_highlighting.js"; import smartIndentWithTab from "./extensions/custom_tab.js"; +import type { ThemeDefinition } from "./color_themes.js"; + +export * from "./color_themes.js"; type ContentChangedListener = () => void; @@ -23,10 +26,12 @@ export default class CodeMirror extends EditorView { private config: EditorConfig; private languageCompartment: Compartment; private historyCompartment: Compartment; + private themeCompartment: Compartment; constructor(config: EditorConfig) { const languageCompartment = new Compartment(); const historyCompartment = new Compartment(); + const themeCompartment = new Compartment(); let extensions: Extension[] = []; @@ -38,6 +43,7 @@ export default class CodeMirror extends EditorView { ...extensions, languageCompartment.of([]), syntaxHighlighting(defaultHighlightStyle, { fallback: true }), + themeCompartment.of([]), highlightActiveLine(), highlightSelectionMatches(), bracketMatching(), @@ -78,6 +84,7 @@ export default class CodeMirror extends EditorView { this.config = config; this.languageCompartment = languageCompartment; this.historyCompartment = historyCompartment; + this.themeCompartment = themeCompartment; } #onDocumentUpdated(v: ViewUpdate) { @@ -100,6 +107,10 @@ export default class CodeMirror extends EditorView { }) } + async setTheme(theme: ThemeDefinition) { + this.themeCompartment.reconfigure(await theme.load()); + } + /** * Clears the history of undo/redo. Generally useful when changing to a new document. */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 14493dcadb..722ab32087 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1187,6 +1187,12 @@ importers: '@codemirror/view': specifier: 6.36.7 version: 6.36.7 + '@fsegurai/codemirror-theme-abcdef': + specifier: 6.1.4 + version: 6.1.4(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)(@lezer/highlight@1.2.1) + '@fsegurai/codemirror-theme-abyss': + specifier: 6.1.4 + version: 6.1.4(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)(@lezer/highlight@1.2.1) '@replit/codemirror-lang-nix': specifier: 6.0.1 version: 6.0.1(@codemirror/autocomplete@6.18.6)(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)(@lezer/common@1.2.3)(@lezer/highlight@1.2.1)(@lezer/lr@1.4.2) @@ -3095,6 +3101,22 @@ packages: '@floating-ui/utils@0.2.9': resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + '@fsegurai/codemirror-theme-abcdef@6.1.4': + resolution: {integrity: sha512-GN0+41KESPiMR87jwlNq7DTqNh7NlVe/DRZwXY1sfGoLGWFmFCmRshU44wfaW9BDMtLVdddFi9zhJyeEk3rfcw==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/highlight': ^1.0.0 + + '@fsegurai/codemirror-theme-abyss@6.1.4': + resolution: {integrity: sha512-Rr5LM7z3LSoeZobunHe3cxlpQ+FU+eo5hagxoAlW+UCl50VGK55h7M8tI/XF8Ry3H7G2PWwacGHjweYiRhhzlA==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/highlight': ^1.0.0 + '@fullcalendar/core@6.1.17': resolution: {integrity: sha512-0W7lnIrv18ruJ5zeWBeNZXO8qCWlzxDdp9COFEsZnyNjiEhUVnrW/dPbjRKYpL0edGG0/Lhs0ghp1z/5ekt8ZA==} @@ -15327,27 +15349,23 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-collaboration-core@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-collaboration-core@45.0.0': dependencies: '@ckeditor/ckeditor5-comments': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@types/luxon': 3.4.2 ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) luxon: 3.5.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-comments@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15368,7 +15386,7 @@ snapshots: '@ckeditor/ckeditor5-comments@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-engine': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-enter': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -15807,6 +15825,14 @@ snapshots: - supports-color - utf-8-validate + '@ckeditor/ckeditor5-highlight@45.0.0': + dependencies: + '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-icons': 45.0.0 + '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + '@ckeditor/ckeditor5-highlight@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: '@ckeditor/ckeditor5-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16189,7 +16215,7 @@ snapshots: '@ckeditor/ckeditor5-operations-compressor': 45.0.0 '@ckeditor/ckeditor5-revision-history': 45.0.0 '@ckeditor/ckeditor5-theme-lark': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-track-changes': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-track-changes': 45.0.0 '@ckeditor/ckeditor5-ui': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-utils': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) @@ -16390,7 +16416,7 @@ snapshots: - supports-color - utf-8-validate - '@ckeditor/ckeditor5-track-changes@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': + '@ckeditor/ckeditor5-track-changes@45.0.0': dependencies: '@ckeditor/ckeditor5-clipboard': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-code-block': 45.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95) @@ -16402,7 +16428,7 @@ snapshots: '@ckeditor/ckeditor5-find-and-replace': 45.0.0 '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0 '@ckeditor/ckeditor5-icons': 45.0.0 '@ckeditor/ckeditor5-image': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-link': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -16419,10 +16445,6 @@ snapshots: ckeditor5: 45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) ckeditor5-collaboration: 45.0.0 es-toolkit: 1.32.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate '@ckeditor/ckeditor5-typing@45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)': dependencies: @@ -17551,6 +17573,20 @@ snapshots: '@floating-ui/utils@0.2.9': {} + '@fsegurai/codemirror-theme-abcdef@6.1.4(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)(@lezer/highlight@1.2.1)': + dependencies: + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/highlight': 1.2.1 + + '@fsegurai/codemirror-theme-abyss@6.1.4(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.7)(@lezer/highlight@1.2.1)': + dependencies: + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.36.7 + '@lezer/highlight': 1.2.1 + '@fullcalendar/core@6.1.17': dependencies: preact: 10.12.1 @@ -21873,7 +21909,7 @@ snapshots: ckeditor5-collaboration@45.0.0: dependencies: - '@ckeditor/ckeditor5-collaboration-core': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-collaboration-core': 45.0.0 ckeditor5@45.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41): dependencies: @@ -21904,7 +21940,7 @@ snapshots: '@ckeditor/ckeditor5-font': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-fullscreen': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) '@ckeditor/ckeditor5-heading': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) - '@ckeditor/ckeditor5-highlight': 45.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + '@ckeditor/ckeditor5-highlight': 45.0.0 '@ckeditor/ckeditor5-horizontal-line': 45.0.0 '@ckeditor/ckeditor5-html-embed': 45.0.0 '@ckeditor/ckeditor5-html-support': 45.0.0 From 7475e94c53d0e4a4d32315924c2c0eb78a0e2e11 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 20:19:54 +0300 Subject: [PATCH 060/112] chore(settings): empty section for code notes color theme --- .../src/widgets/type_widgets/content_widget.ts | 2 ++ .../type_widgets/options/code_notes/code_theme.ts | 15 +++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts diff --git a/apps/client/src/widgets/type_widgets/content_widget.ts b/apps/client/src/widgets/type_widgets/content_widget.ts index 45af111e0f..1d2bb91b1b 100644 --- a/apps/client/src/widgets/type_widgets/content_widget.ts +++ b/apps/client/src/widgets/type_widgets/content_widget.ts @@ -44,6 +44,7 @@ import { t } from "i18next"; import LanguageOptions from "./options/i18n/language.js"; import type { EventData, EventNames } from "../../components/app_context.js"; import type BasicWidget from "../basic_widget.js"; +import CodeTheme from "./options/code_notes/code_theme.js"; const TPL = /*html*/`
`; export default class CodeTheme extends OptionsWidget { private $themeSelect!: JQuery; + private $sampleEl!: JQuery; + private editor?: CodeMirror; doRender() { this.$widget = $(TPL); @@ -34,6 +118,26 @@ export default class CodeTheme extends OptionsWidget { const newTheme = String(this.$themeSelect.val()); await server.put(`options/codeNoteTheme/${newTheme}`); }); + this.$sampleEl = this.$widget.find(".note-detail-readonly-code-content"); + } + + async #setupPreview(options: OptionMap) { + if (!this.editor) { + this.editor = new CodeMirror({ + parent: this.$sampleEl[0], + }); + } + this.editor.setMimeType(SAMPLE_MIME); + this.editor.setText(SAMPLE_CODE); + + // Load the theme. + const themeId = options.codeNoteTheme; + if (themeId?.startsWith(DEFAULT_PREFIX)) { + const theme = getThemeById(themeId.substring(DEFAULT_PREFIX.length)); + if (theme) { + await this.editor.setTheme(theme); + } + } } async optionsLoaded(options: OptionMap) { @@ -46,6 +150,7 @@ export default class CodeTheme extends OptionsWidget { } this.$themeSelect.val(options.codeNoteTheme); + this.#setupPreview(options); } } From 81a7133ab10c8ba814c8bdfc558c3b193013858d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 23:10:01 +0300 Subject: [PATCH 074/112] fix(code): apply syntax highlighting to preview --- .../src/widgets/type_widgets/options/code_notes/code_theme.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts index 808c582556..6d61ed2e47 100644 --- a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts +++ b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts @@ -12,7 +12,7 @@ interface Theme { type Response = Theme[]; -const SAMPLE_MIME = "text/typescript"; +const SAMPLE_MIME = "application/typescript"; const SAMPLE_CODE = `\ import { defaultKeymap, history, historyKeymap } from "@codemirror/commands"; import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; @@ -127,8 +127,8 @@ export default class CodeTheme extends OptionsWidget { parent: this.$sampleEl[0], }); } - this.editor.setMimeType(SAMPLE_MIME); this.editor.setText(SAMPLE_CODE); + this.editor.setMimeType(SAMPLE_MIME); // Load the theme. const themeId = options.codeNoteTheme; From 21a72ab2656efb8575a570f2435ecfbe43d6d71a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 23:15:19 +0300 Subject: [PATCH 075/112] style(code): improve margins for preview --- .../type_widgets/options/code_notes/code_theme.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts index 6d61ed2e47..9198d9d6f8 100644 --- a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts +++ b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts @@ -92,13 +92,15 @@ const TPL = /*html*/`\
-
-
-        
+
From 4e187988505856f76661a2f2d649db97e4cd3d47 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 00:07:41 +0300 Subject: [PATCH 076/112] feat(code): move preview to apperance --- .../type_widgets/options/code_notes/code_editor.ts | 11 ----------- .../type_widgets/options/code_notes/code_theme.ts | 11 +++++++++++ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/options/code_notes/code_editor.ts b/apps/client/src/widgets/type_widgets/options/code_notes/code_editor.ts index f99b12b503..8749024a9c 100644 --- a/apps/client/src/widgets/type_widgets/options/code_notes/code_editor.ts +++ b/apps/client/src/widgets/type_widgets/options/code_notes/code_editor.ts @@ -10,30 +10,19 @@ const TPL = /*html*/` ${t("vim_key_bindings.use_vim_keybindings_in_code_notes")}

${t("vim_key_bindings.enable_vim_keybindings")}

- - -

${t("wrap_lines.enable_line_wrap")}

`; export default class CodeEditorOptions extends OptionsWidget { private $vimKeymapEnabled!: JQuery; - private $codeLineWrapEnabled!: JQuery; doRender() { this.$widget = $(TPL); this.$vimKeymapEnabled = this.$widget.find(".vim-keymap-enabled"); this.$vimKeymapEnabled.on("change", () => this.updateCheckboxOption("vimKeymapEnabled", this.$vimKeymapEnabled)); - - this.$codeLineWrapEnabled = this.$widget.find(".line-wrap-enabled"); - this.$codeLineWrapEnabled.on("change", () => this.updateCheckboxOption("codeLineWrapEnabled", this.$codeLineWrapEnabled)); } async optionsLoaded(options: OptionMap) { this.setCheckboxState(this.$vimKeymapEnabled, options.vimKeymapEnabled); - this.setCheckboxState(this.$codeLineWrapEnabled, options.codeLineWrapEnabled); } } diff --git a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts index 9198d9d6f8..e9cf624261 100644 --- a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts +++ b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts @@ -90,6 +90,13 @@ const TPL = /*html*/`\ + +
+ +
@@ -111,6 +118,7 @@ export default class CodeTheme extends OptionsWidget { private $themeSelect!: JQuery; private $sampleEl!: JQuery; + private $lineWrapEnabled!: JQuery; private editor?: CodeMirror; doRender() { @@ -121,6 +129,8 @@ export default class CodeTheme extends OptionsWidget { await server.put(`options/codeNoteTheme/${newTheme}`); }); this.$sampleEl = this.$widget.find(".note-detail-readonly-code-content"); + this.$lineWrapEnabled = this.$widget.find(".word-wrap"); + this.$lineWrapEnabled.on("change", () => this.updateCheckboxOption("codeLineWrapEnabled", this.$lineWrapEnabled)); } async #setupPreview(options: OptionMap) { @@ -153,6 +163,7 @@ export default class CodeTheme extends OptionsWidget { this.$themeSelect.val(options.codeNoteTheme); this.#setupPreview(options); + this.setCheckboxState(this.$lineWrapEnabled, options.codeLineWrapEnabled); } } From d79977b9a41b2127a9790489f5352ad826c3926e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 00:23:47 +0300 Subject: [PATCH 077/112] feat(code): adjust word wrapping automatically in preview --- .../type_widgets/options/code_notes/code_theme.ts | 1 + packages/codemirror/src/index.ts | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts index e9cf624261..a47d9144cf 100644 --- a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts +++ b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts @@ -141,6 +141,7 @@ export default class CodeTheme extends OptionsWidget { } this.editor.setText(SAMPLE_CODE); this.editor.setMimeType(SAMPLE_MIME); + this.editor.setLineWrapping(options.codeLineWrapEnabled === "true"); // Load the theme. const themeId = options.codeNoteTheme; diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 7272d151e1..24a093caec 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -27,11 +27,13 @@ export default class CodeMirror extends EditorView { private languageCompartment: Compartment; private historyCompartment: Compartment; private themeCompartment: Compartment; + private lineWrappingCompartment: Compartment; constructor(config: EditorConfig) { const languageCompartment = new Compartment(); const historyCompartment = new Compartment(); const themeCompartment = new Compartment(); + const lineWrappingCompartment = new Compartment(); let extensions: Extension[] = []; @@ -42,6 +44,7 @@ export default class CodeMirror extends EditorView { extensions = [ ...extensions, languageCompartment.of([]), + lineWrappingCompartment.of(config.lineWrapping ? EditorView.lineWrapping : []), themeCompartment.of([ syntaxHighlighting(defaultHighlightStyle, { fallback: true }) ]), @@ -74,10 +77,6 @@ export default class CodeMirror extends EditorView { extensions.push(EditorState.readOnly.of(true)); } - if (config.lineWrapping) { - extensions.push(EditorView.lineWrapping); - } - super({ parent: config.parent, extensions @@ -86,6 +85,7 @@ export default class CodeMirror extends EditorView { this.languageCompartment = languageCompartment; this.historyCompartment = historyCompartment; this.themeCompartment = themeCompartment; + this.lineWrappingCompartment = lineWrappingCompartment; } #onDocumentUpdated(v: ViewUpdate) { @@ -115,6 +115,12 @@ export default class CodeMirror extends EditorView { }); } + setLineWrapping(wrapping: boolean) { + this.dispatch({ + effects: [ this.lineWrappingCompartment.reconfigure(wrapping ? EditorView.lineWrapping : []) ] + }); + } + /** * Clears the history of undo/redo. Generally useful when changing to a new document. */ From e3aa8afcad803befd06d750cd50ec73cccdd535e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 00:25:31 +0300 Subject: [PATCH 078/112] feat(code): adjust word wrapping automatically --- .../src/widgets/type_widgets/abstract_code_type_widget.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts index 8f081a7d78..c75d857477 100644 --- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts @@ -115,6 +115,10 @@ export default class AbstractCodeTypeWidget extends TypeWidget { } } } + + if (loadResults.isOptionReloaded("codeLineWrapEnabled")) { + this.codeEditor.setLineWrapping(options.is("codeLineWrapEnabled")); + } } } From fac16ffd2ab7393cf9def42d937b26bdaf6e0dc9 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 00:31:48 +0300 Subject: [PATCH 079/112] feat(code): add translations for settings change --- apps/client/src/translations/en/translation.json | 7 +++++-- .../widgets/type_widgets/options/code_notes/code_theme.ts | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 6ba46d7e2d..6bd1657f51 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1246,13 +1246,11 @@ "reprocessing_embeddings": "Reprocessing...", "reprocess_started": "Embedding reprocessing started in the background", "reprocess_error": "Error starting embedding reprocessing", - "reprocess_index": "Rebuild Search Index", "reprocess_index_description": "Optimize the search index for better performance. This uses existing embeddings without regenerating them (much faster than reprocessing all embeddings).", "reprocessing_index": "Rebuilding...", "reprocess_index_started": "Search index optimization started in the background", "reprocess_index_error": "Error rebuilding search index", - "index_rebuild_progress": "Index Rebuild Progress", "index_rebuilding": "Optimizing index ({{percentage}}%)", "index_rebuild_complete": "Index optimization complete", @@ -1952,5 +1950,10 @@ }, "svg": { "export_to_png": "The diagram could not be exported to PNG." + }, + "code_theme": { + "title": "Appearance", + "word_wrapping": "Word wrapping", + "color-scheme": "Color scheme" } } diff --git a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts index a47d9144cf..f56aff682e 100644 --- a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts +++ b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts @@ -3,6 +3,7 @@ import OptionsWidget from "../options_widget"; import server from "../../../../services/server"; import CodeMirror, { getThemeById } from "@triliumnext/codemirror"; import { DEFAULT_PREFIX } from "../../abstract_code_type_widget"; +import { t } from "../../../../services/i18n"; // TODO: Deduplicate interface Theme { @@ -83,18 +84,18 @@ export default class CodeMirror extends EditorView { const TPL = /*html*/`\
-

Color theme

+

${t("code_theme.title")}

- +
From 46c689e229522b223a92f9f3975ad7c2da5d5897 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 00:35:50 +0300 Subject: [PATCH 080/112] docs(release): update changelog --- docs/Release Notes/Release Notes/v0.94.0.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/Release Notes/Release Notes/v0.94.0.md b/docs/Release Notes/Release Notes/v0.94.0.md index 533092ac1e..1ce3e20537 100644 --- a/docs/Release Notes/Release Notes/v0.94.0.md +++ b/docs/Release Notes/Release Notes/v0.94.0.md @@ -11,6 +11,10 @@ * The goal is not to have basic API integration, but to really let the LLM understand the notes that are part of your knowledge base. * For more information, consult the in-app User Guide (F1) and look for the AI section. * Since this is highly experimental work, the LLM chat functionality might work well or it might have quite a few quirks, please keep this in mind. +* This release brings significant updates to our libraries: + * CKEditor, used by text notes is now updated to the latest version and that brings in new features (see below) and performance improvements. + * CodeMirror, used by code notes has been upgraded to a new generation. + * Code notes now also support themes, similar to code blocks. ## 🐞 Bugfixes @@ -21,20 +25,18 @@ * Improved the text editor style, to match the TriliumNext. * Footnotes work in image captions by @werererer * Improvements to text notes (see the in-app help for more details): - * Updated to the latest version of the CKEditor which brings significant bugfixes and performance improvements. * Bookmarks, similar to HTML anchors. * Emojis. * [Make it show which node triggered the event when right-clicking on tree](https://github.com/TriliumNext/Notes/pull/1861) by @SiriusXT * [Only expand/collapse the left pane of the focused window](https://github.com/TriliumNext/Notes/pull/1905) by @SiriusXT * Code notes: - * Updated to a new generation of CodeMirror. Since it's a significant update, bug reports are welcome. * Added the GDScript (Godot) language. * Added the Nix language (and also in code blocks for text notes). * Mermaid diagrams: basic syntax highlight (not all diagram types are supported) and code folding. ## 📖 Documentation -* \[…\] +* Documented the new text note features: bookmarks and emojis. ## 🌍 Internationalization From bedbc9373c977855c31c05c50bcccc595e027952 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 12:37:38 +0300 Subject: [PATCH 081/112] chore(code): reintroduce some commented-out behaviours --- .../type_widgets/abstract_code_type_widget.ts | 16 +++++----------- packages/codemirror/src/index.ts | 11 ++++++++++- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts index c75d857477..a2210081b2 100644 --- a/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts +++ b/apps/client/src/widgets/type_widgets/abstract_code_type_widget.ts @@ -80,28 +80,22 @@ export default class AbstractCodeTypeWidget extends TypeWidget { show() { this.$widget.show(); - - // if (this.codeEditor) { - // // show can be called before render - // this.codeEditor.refresh(); - // } } focus() { - this.$editor.focus(); this.codeEditor.focus(); } scrollToEnd() { - // this.codeEditor.setCursor(this.codeEditor.lineCount(), 0); - // this.codeEditor.focus(); + this.codeEditor.scrollToEnd(); + this.codeEditor.focus(); } cleanup() { if (this.codeEditor) { - // this.spacedUpdate.allowUpdateWithoutChange(() => { - // this.codeEditor.setValue(""); - // }); + this.spacedUpdate.allowUpdateWithoutChange(() => { + this.codeEditor.setText(""); + }); } } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 24a093caec..5661b4fc6a 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,7 +1,7 @@ import { defaultKeymap, history, historyKeymap } from "@codemirror/commands"; import { EditorView, highlightActiveLine, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig } from "@codemirror/view"; import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting, indentUnit, bracketMatching, foldGutter } from "@codemirror/language"; -import { Compartment, EditorState, type Extension } from "@codemirror/state"; +import { Compartment, EditorSelection, EditorState, type Extension } from "@codemirror/state"; import { highlightSelectionMatches } from "@codemirror/search"; import { vim } from "@replit/codemirror-vim"; import byMimeType from "./syntax_highlighting.js"; @@ -137,6 +137,15 @@ export default class CodeMirror extends EditorView { }); } + scrollToEnd() { + const endPos = this.state.doc.length; + this.dispatch({ + selection: EditorSelection.cursor(endPos), + effects: EditorView.scrollIntoView(endPos, { y: "end" }), + scrollIntoView: true + }); + } + async setMimeType(mime: string) { let newExtension: Extension[] = []; From 260e6ee991956ccb8b9843fc3dfbcc34a41967a7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 13:12:57 +0300 Subject: [PATCH 082/112] feat(options): move code block appearance settings to "Text notes" --- apps/client/src/widgets/type_widgets/content_widget.ts | 5 ++--- .../options/{appearance => text_notes}/code_block.ts | 0 2 files changed, 2 insertions(+), 3 deletions(-) rename apps/client/src/widgets/type_widgets/options/{appearance => text_notes}/code_block.ts (100%) diff --git a/apps/client/src/widgets/type_widgets/content_widget.ts b/apps/client/src/widgets/type_widgets/content_widget.ts index 1d2bb91b1b..48f64735b1 100644 --- a/apps/client/src/widgets/type_widgets/content_widget.ts +++ b/apps/client/src/widgets/type_widgets/content_widget.ts @@ -34,7 +34,7 @@ import AttachmentErasureTimeoutOptions from "./options/other/attachment_erasure_ import RibbonOptions from "./options/appearance/ribbon.js"; import MultiFactorAuthenticationOptions from './options/multi_factor_authentication.js'; import LocalizationOptions from "./options/i18n/i18n.js"; -import CodeBlockOptions from "./options/appearance/code_block.js"; +import CodeBlockOptions from "./options/text_notes/code_block.js"; import EditorOptions from "./options/text_notes/editor.js"; import ShareSettingsOptions from "./options/other/share_settings.js"; import AiSettingsOptions from "./options/ai_settings.js"; @@ -42,7 +42,6 @@ import type FNote from "../../entities/fnote.js"; import type NoteContextAwareWidget from "../note_context_aware_widget.js"; import { t } from "i18next"; import LanguageOptions from "./options/i18n/language.js"; -import type { EventData, EventNames } from "../../components/app_context.js"; import type BasicWidget from "../basic_widget.js"; import CodeTheme from "./options/code_notes/code_theme.js"; @@ -73,7 +72,6 @@ const CONTENT_WIDGETS: Record = { _optionsAppearance: [ ThemeOptions, FontsOptions, - CodeBlockOptions, ElectronIntegrationOptions, MaxContentWidthOptions, RibbonOptions @@ -84,6 +82,7 @@ const CONTENT_WIDGETS: Record = { _optionsTextNotes: [ EditorOptions, HeadingStyleOptions, + CodeBlockOptions, TableOfContentsOptions, HighlightsListOptions, TextAutoReadOnlySizeOptions diff --git a/apps/client/src/widgets/type_widgets/options/appearance/code_block.ts b/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts similarity index 100% rename from apps/client/src/widgets/type_widgets/options/appearance/code_block.ts rename to apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts From 5f2314f901ca7758608b5c2467ab6f69b1067f22 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 13:18:32 +0300 Subject: [PATCH 083/112] chore(options): change translations for code block appearance --- apps/client/src/translations/cn/translation.json | 2 +- apps/client/src/translations/de/translation.json | 2 +- apps/client/src/translations/en/translation.json | 2 +- apps/client/src/translations/es/translation.json | 2 +- apps/client/src/translations/fr/translation.json | 2 +- apps/client/src/translations/ro/translation.json | 2 +- apps/client/src/translations/tw/translation.json | 2 +- .../src/widgets/type_widgets/options/text_notes/code_block.ts | 2 -- 8 files changed, 7 insertions(+), 9 deletions(-) diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json index da17ebc9ec..bcc0bc269e 100644 --- a/apps/client/src/translations/cn/translation.json +++ b/apps/client/src/translations/cn/translation.json @@ -1616,7 +1616,7 @@ "auto-detect-language": "自动检测" }, "highlighting": { - "title": "文本笔记的代码语法高亮", + "title": "", "description": "控制文本笔记中代码块的语法高亮,代码笔记不会受到影响。", "color-scheme": "颜色方案" }, diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 108586d053..8ec5097aac 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -1568,7 +1568,7 @@ "auto-detect-language": "Automatisch erkannt" }, "highlighting": { - "title": "Code-Syntax-Hervorhebung für Textnotizen", + "title": "", "description": "Steuert die Syntaxhervorhebung für Codeblöcke in Textnotizen, Code-Notizen sind nicht betroffen.", "color-scheme": "Farbschema" }, diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index ebef11e051..24f1044419 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1822,7 +1822,7 @@ "auto-detect-language": "Auto-detected" }, "highlighting": { - "title": "Code Syntax Highlighting for Text Notes", + "title": "Code Blocks", "description": "Controls the syntax highlighting for code blocks inside text notes, code notes will not be affected.", "color-scheme": "Color Scheme" }, diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index 172ca8ea02..46be1d55fb 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -1584,7 +1584,7 @@ "auto-detect-language": "Detectado automáticamente" }, "highlighting": { - "title": "Resaltado de sintaxis de de código para Notas de Texto", + "title": "", "description": "Controla el resaltado de sintaxis para bloques de código dentro de las notas de texto, las notas de código no serán afectadas.", "color-scheme": "Esquema de color" }, diff --git a/apps/client/src/translations/fr/translation.json b/apps/client/src/translations/fr/translation.json index 91758b8d60..d7597a3ac9 100644 --- a/apps/client/src/translations/fr/translation.json +++ b/apps/client/src/translations/fr/translation.json @@ -1574,7 +1574,7 @@ "auto-detect-language": "Détecté automatiquement" }, "highlighting": { - "title": "Coloration syntaxique du code pour les notes texte", + "title": "", "description": "Contrôle la coloration syntaxique des blocs de code à l'intérieur des notes texte, les notes de code ne seront pas affectées.", "color-scheme": "Jeu de couleurs" }, diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json index 6e371c28ac..efaf270f2f 100644 --- a/apps/client/src/translations/ro/translation.json +++ b/apps/client/src/translations/ro/translation.json @@ -1581,7 +1581,7 @@ }, "highlighting": { "color-scheme": "Temă de culori", - "title": "Evidențiere de sintaxă pentru notițele de tip text", + "title": "", "description": "Controlează evidențierea de sintaxă pentru blocurile de cod în interiorul notițelor text, notițele de tip cod nu vor fi afectate de aceste setări." }, "code_block": { diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 2d2e256ade..4360fcdf49 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -1514,7 +1514,7 @@ "auto-detect-language": "自動檢測" }, "highlighting": { - "title": "文字筆記的程式碼語法高亮", + "title": "", "description": "控制文字筆記中程式碼塊的語法高亮,程式碼筆記不會受到影響。", "color-scheme": "顏色方案" }, diff --git a/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts b/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts index 7d0dea3818..f339d21e26 100644 --- a/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts +++ b/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts @@ -25,8 +25,6 @@ const TPL = /*html*/`

${t("highlighting.title")}

-

${t("highlighting.description")}

-
From 42ed6167c91bbb860010cb9a9765ec02fbd262f6 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 13:28:40 +0300 Subject: [PATCH 084/112] style(options): reduce margins for code block appearance --- .../type_widgets/options/text_notes/code_block.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts b/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts index f339d21e26..162499274b 100644 --- a/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts +++ b/apps/client/src/widgets/type_widgets/options/text_notes/code_block.ts @@ -39,16 +39,18 @@ const TPL = /*html*/`
-
-
-
${SAMPLE_CODE}
-
+
+
${SAMPLE_CODE}
`; From 1a7a65126e0d238996f1454781185f49a815044b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 15:26:49 +0300 Subject: [PATCH 085/112] feat(options): add a related settings option for Appearance --- .../widgets/type_widgets/content_widget.ts | 10 ++- .../type_widgets/options/appearance/theme.ts | 3 +- .../type_widgets/options/related_settings.ts | 76 +++++++++++++++++++ docs/Release Notes/Release Notes/v0.94.0.md | 1 + 4 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 apps/client/src/widgets/type_widgets/options/related_settings.ts diff --git a/apps/client/src/widgets/type_widgets/content_widget.ts b/apps/client/src/widgets/type_widgets/content_widget.ts index 48f64735b1..3283672a49 100644 --- a/apps/client/src/widgets/type_widgets/content_widget.ts +++ b/apps/client/src/widgets/type_widgets/content_widget.ts @@ -44,6 +44,7 @@ import { t } from "i18next"; import LanguageOptions from "./options/i18n/language.js"; import type BasicWidget from "../basic_widget.js"; import CodeTheme from "./options/code_notes/code_theme.js"; +import RelatedSettings from "./options/related_settings.js"; const TPL = /*html*/`
+
+`; + +interface RelatedSettingsConfig { + items: { + title: string; + targetPage: OptionPages; + }[]; +} + +const RELATED_SETTINGS: Record = { + "_optionsAppearance": { + items: [ + { + title: "Color scheme for code blocks in text notes", + targetPage: "_optionsTextNotes" + }, + { + title: "Color scheme for code notes", + targetPage: "_optionsCodeNotes" + } + ] + } +}; + +export default class RelatedSettings extends OptionsWidget { + + doRender() { + this.$widget = $(TPL); + + const config = this.noteId && RELATED_SETTINGS[this.noteId]; + if (!config) { + return; + } + + const $relatedSettings = this.$widget.find(".related-settings"); + $relatedSettings.empty(); + for (const item of config.items) { + const $item = $("
  • "); + const $link = $("").text(item.title); + + $item.append($link); + $link.attr("href", `#root/_hidden/_options/${item.targetPage}`); + $relatedSettings.append($item); + } + } + + isEnabled() { + return (!!this.noteId && this.noteId in RELATED_SETTINGS); + } + + async refreshWithNote(note: FNote | null | undefined) { + console.log("Got note ", note); + } + +} diff --git a/docs/Release Notes/Release Notes/v0.94.0.md b/docs/Release Notes/Release Notes/v0.94.0.md index 1fa332c77e..37d2ddc00d 100644 --- a/docs/Release Notes/Release Notes/v0.94.0.md +++ b/docs/Release Notes/Release Notes/v0.94.0.md @@ -34,6 +34,7 @@ * Added the GDScript (Godot) language. * Added the Nix language (and also in code blocks for text notes). * Mermaid diagrams: basic syntax highlight (not all diagram types are supported) and code folding. +* Slight organization in Appearance settings: code block themes are now in "Text Notes", added a "Related settings" section in Appearance. ## 📖 Documentation From 17194806db209cc23791775f698dd2107ae3871b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 15:47:21 +0300 Subject: [PATCH 086/112] chore(code): reintroduce tab index --- .../client/src/widgets/type_widgets/editable_code.ts | 12 ++---------- packages/codemirror/src/index.ts | 6 ++++++ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts index b60e8e422b..3f037ce34f 100644 --- a/apps/client/src/widgets/type_widgets/editable_code.ts +++ b/apps/client/src/widgets/type_widgets/editable_code.ts @@ -46,19 +46,11 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { return { placeholder: t("editable_code.placeholder"), vimKeybindings: options.is("vimKeymapEnabled"), - onContentChanged: () => this.spacedUpdate.scheduleUpdate() + onContentChanged: () => this.spacedUpdate.scheduleUpdate(), + tabIndex: 300 } } - // getExtraOpts(): Partial { - // return { - // lint: true, - // gutters: ["CodeMirror-lint-markers"], - // tabindex: 300, - // dragDrop: false, // with true the editor inlines dropped files which is not what we expect - // }; - // } - async doRefresh(note: FNote) { const blob = await this.note?.getBlob(); diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 5661b4fc6a..bb0f8c6089 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -18,6 +18,7 @@ export interface EditorConfig { lineWrapping?: boolean; vimKeybindings?: boolean; readOnly?: boolean; + tabIndex?: number; onContentChanged?: ContentChangedListener; } @@ -81,6 +82,11 @@ export default class CodeMirror extends EditorView { parent: config.parent, extensions }); + + if (config.tabIndex) { + this.dom.tabIndex = config.tabIndex; + } + this.config = config; this.languageCompartment = languageCompartment; this.historyCompartment = historyCompartment; From 36009307d1e265b5a6d0686773b87b826a88b109 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 18:07:50 +0300 Subject: [PATCH 087/112] refactor(server): remove dependency on codemirror --- apps/server/package.json | 1 - apps/server/src/routes/assets.ts | 6 ------ 2 files changed, 7 deletions(-) diff --git a/apps/server/package.json b/apps/server/package.json index 44f73942fb..a3c588db23 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -44,7 +44,6 @@ "@types/xml2js": "0.4.14", "autocomplete.js": "0.38.1", "boxicons": "2.1.4", - "codemirror": "5.65.19", "express-http-proxy": "2.1.1", "jquery": "3.7.1", "katex": "0.16.22", diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index ec6f8b4894..d41b4a4a97 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -91,12 +91,6 @@ async function register(app: express.Application) { app.use(`/${assetPath}/node_modules/jquery.fancytree/dist/`, persistentCacheStatic(path.join(nodeModulesDir, "jquery.fancytree/dist/"))); - // CodeMirror - app.use(`/${assetPath}/node_modules/codemirror/lib/`, persistentCacheStatic(path.join(nodeModulesDir, "codemirror/lib/"))); - app.use(`/${assetPath}/node_modules/codemirror/addon/`, persistentCacheStatic(path.join(nodeModulesDir, "codemirror/addon/"))); - app.use(`/${assetPath}/node_modules/codemirror/mode/`, persistentCacheStatic(path.join(nodeModulesDir, "codemirror/mode/"))); - app.use(`/${assetPath}/node_modules/codemirror/keymap/`, persistentCacheStatic(path.join(nodeModulesDir, "codemirror/keymap/"))); - app.use(`/${assetPath}/node_modules/@highlightjs/cdn-assets/`, persistentCacheStatic(path.join(nodeModulesDir, "@highlightjs/cdn-assets/"))); } From ac49c0f59b515f71bd932b83b9eb28774f56380c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 12 May 2025 18:15:19 +0300 Subject: [PATCH 088/112] refactor(server): remove dependency on codemirror project --- .../options/code_notes/code_theme.ts | 18 ++++++++++-------- apps/server/src/routes/api/options.ts | 9 --------- apps/server/src/routes/routes.ts | 1 - apps/server/tsconfig.app.json | 3 --- apps/server/tsconfig.json | 3 --- 5 files changed, 10 insertions(+), 24 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts index f56aff682e..52818e11b4 100644 --- a/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts +++ b/apps/client/src/widgets/type_widgets/options/code_notes/code_theme.ts @@ -4,6 +4,7 @@ import server from "../../../../services/server"; import CodeMirror, { getThemeById } from "@triliumnext/codemirror"; import { DEFAULT_PREFIX } from "../../abstract_code_type_widget"; import { t } from "../../../../services/i18n"; +import { ColorThemes } from "@triliumnext/codemirror"; // TODO: Deduplicate interface Theme { @@ -129,6 +130,15 @@ export default class CodeTheme extends OptionsWidget { const newTheme = String(this.$themeSelect.val()); await server.put(`options/codeNoteTheme/${newTheme}`); }); + + // Populate the list of themes. + for (const theme of ColorThemes) { + const option = $("

    Note that the list of languages is not immediately refreshed, you'd have to manually refresh the application.

    The list of languages is also shared with the Code blocks feature - of Text notes.

    \ No newline at end of file + of Text notes.

    +

    Color schemes

    +

    Since Trilium 0.94.0 the colors of code notes can be customized by going  + Options → Code Notes and looking for the Appearance section.

    + \ No newline at end of file diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks.html index ac999ac760..87ce90c0a1 100644 --- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks.html +++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks.html @@ -25,7 +25,7 @@

    Inserting a code block

  • -

    Syntax highlighting

    +

    Syntax highlighting & color schemes

    Since TriliumNext v0.90.12, Trilium will try to offer syntax highlighting to the code block. Note that the syntax highlighting mechanism is slightly different than the one in Code notes diff --git a/docs/Developer Guide/!!!meta.json b/docs/Developer Guide/!!!meta.json index 904a715d8a..6e9c247b96 100644 --- a/docs/Developer Guide/!!!meta.json +++ b/docs/Developer Guide/!!!meta.json @@ -88,18 +88,18 @@ "mime": "text/html", "attributes": [ { - "type": "label", - "name": "iconClass", - "value": "bx bx-package", + "type": "relation", + "name": "internalLink", + "value": "BRhQZHgwaGyw", "isInheritable": false, "position": 10 }, { - "type": "relation", - "name": "internalLink", - "value": "BRhQZHgwaGyw", + "type": "label", + "name": "iconClass", + "value": "bx bx-package", "isInheritable": false, - "position": 20 + "position": 10 } ], "format": "markdown", diff --git a/docs/User Guide/User Guide/Note Types/Code.md b/docs/User Guide/User Guide/Note Types/Code.md index 02bb63f890..2d45b95ce5 100644 --- a/docs/User Guide/User Guide/Note Types/Code.md +++ b/docs/User Guide/User Guide/Note Types/Code.md @@ -24,4 +24,12 @@ Trilium supports syntax highlighting for many languages, but by default displays Note that the list of languages is not immediately refreshed, you'd have to manually [refresh the application](../Troubleshooting/Refreshing%20the%20application.md). -The list of languages is also shared with the [Code blocks](Text/Developer-specific%20formatting/Code%20blocks.md) feature of [Text](Text.md) notes. \ No newline at end of file +The list of languages is also shared with the [Code blocks](Text/Developer-specific%20formatting/Code%20blocks.md) feature of [Text](Text.md) notes. + +## Color schemes + +Since Trilium 0.94.0 the colors of code notes can be customized by going Options → Code Notes and looking for the _Appearance_ section. + +> [!NOTE] +> **Why are there only a few themes whereas the code block themes for text notes have a lot?** +> The reason is that Code notes use a different technology than the one used in Text notes, and as such there is a more limited selection of themes. If you find a CodeMirror 6 (not 5) theme that you would like to use, let us know and we might consider adding it to the set of default themes. There is no possibility of adding new themes (at least for now), since the themes are defined in JavaScript and not at CSS level. \ No newline at end of file diff --git a/docs/User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks.md b/docs/User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks.md index e9e553e1a7..18960b3359 100644 --- a/docs/User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks.md +++ b/docs/User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks.md @@ -13,7 +13,7 @@ Note that this feature is meant for generally small snippets of code. For larger * Type ` ``` ` (as in Markdown). * Note that it's not possible to specify the language, as it will default to the last selected language. -## Syntax highlighting +## Syntax highlighting & color schemes Since TriliumNext v0.90.12, Trilium will try to offer syntax highlighting to the code block. Note that the syntax highlighting mechanism is slightly different than the one in Code notes as different technologies are involved.