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 000000000..34cc0ce78 --- /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 000000000..9ee1191ff --- /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 000000000..7c05151ea --- /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 000000000..ddc3d2ea4 --- /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 000000000..38b94faa0 --- /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 000000000..c23e61c80 --- /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 000000000..89ba670c3 --- /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 000000000..d68abd1b9 --- /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 074259842..45e1fd36a 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 e2c6d2fc4..60831037b 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 | 97 +++++--------- .../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, 172 insertions(+), 171 deletions(-) delete mode 100644 packages/codemirror/src/lib/codemirror.ts diff --git a/apps/client/package.json b/apps/client/package.json index 953324b37..a323c4657 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 0a466825a..70e51aede 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 69bc38bd7..9614a3881 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(); + // // 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"); - } + // 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.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 fbdee8244..0a3312edd 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 588ce728f..11ed3a1b4 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 433040798..05472be69 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 7c05151ea..61cdf5f3b 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 ddc3d2ea4..55191d8b1 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 38b94faa0..000000000 --- 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 45e1fd36a..ad51bda61 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 55191d8b1..8ee32032e 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 9614a3881..7324868b0 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 7324868b0..babe02f69 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 8ee32032e..20c76b227 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 babe02f69..4cd477eba 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 0a3312edd..91047876e 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 20c76b227..dd904817a 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 dd904817a..788e26e69 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 788e26e69..ef0459ebb 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 | 549 +++++++++--------- 3 files changed, 443 insertions(+), 274 deletions(-) create mode 100644 packages/codemirror/src/syntax_highlighting.ts diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 61cdf5f3b..556feebcd 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 000000000..2a59472ca --- /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 ad51bda61..873d9c073 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,7 +30494,46 @@ 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@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 + '@types/express': 4.17.21 + '@types/express-serve-static-core': 4.19.6 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.0 + connect-history-api-fallback: 2.0.0 + express: 4.21.2 + graceful-fs: 4.2.11 + http-proxy-middleware: 2.0.9(@types/express@4.17.21) + ipaddr.js: 2.2.0 + launch-editor: 2.10.0 + open: 10.1.1 + p-retry: 6.2.1 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + 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))) + 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-cli: 6.0.1(webpack@5.98.0) + transitivePeerDependencies: + - bufferutil + - debug + - 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): dependencies: @@ -30534,45 +30574,6 @@ 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)): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.21 - '@types/express-serve-static-core': 4.19.6 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.7 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.0 - connect-history-api-fallback: 2.0.0 - express: 4.21.2 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.21) - ipaddr.js: 2.2.0 - launch-editor: 2.10.0 - open: 10.1.1 - p-retry: 6.2.1 - schema-utils: 4.3.2 - selfsigned: 2.4.1 - 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)) - 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-cli: 6.0.1(webpack@5.98.0) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - webpack-merge@6.0.1: dependencies: clone-deep: 4.0.1 @@ -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 2a59472ca..0e679b762 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 91047876e..da33bcc0e 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 ef0459ebb..caf72234c 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 0e679b762..e69fe5825 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 cd52aa2ba..1f55d2286 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 e69fe5825..ea7169881 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 556feebcd..fdf431927 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 caf72234c..74e9a2ed4 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 ea7169881..562db0480 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 873d9c073..8fc0ba49c 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 562db0480..8b2e18372 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 26e7011b0..1094e5007 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 2ec96e276..55029914b 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 e745a70a7..18062acc7 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 000000000..fa230d826 --- /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 8b2e18372..f2c144afe 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 da33bcc0e..5bc9bc65e 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 74e9a2ed4..0a3b8989d 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 0a3b8989d..3555fd30c 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 4cd477eba..30684bdc5 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 3555fd30c..a56829a1e 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 fdf431927..f56d2affe 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 a56829a1e..1e821c535 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 8fc0ba49c..5fcec2fed 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 1e821c535..3edb2a148 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 3edb2a148..787c4a40e 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 787c4a40e..98548bab2 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 30684bdc5..e76901577 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 98548bab2..e3febc6bd 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 f2c144afe..81c171c88 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 f56d2affe..cb1d2ab95 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 e3febc6bd..13a4b65d2 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 81c171c88..490ce8606 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 5fcec2fed..a6d5cf32e 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 cb1d2ab95..43109981c 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 490ce8606..fb7f9e9f5 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 a6d5cf32e..b3648501f 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 43109981c..e95a3cc56 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 fb7f9e9f5..7f2e4c75b 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 b3648501f..4910773df 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 e95a3cc56..6de59e301 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 7f2e4c75b..81ef55ce4 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 4910773df..7822975da 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 6de59e301..8b88be002 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 000000000..ec543f798 --- /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 81ef55ce4..36a588a4c 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 7822975da..b293d5c20 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 8b88be002..06224408a 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 36a588a4c..1266bc94a 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 b293d5c20..d43b7aaaa 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 06224408a..9a0280ee7 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 1266bc94a..311e74932 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 d43b7aaaa..b0f2448ba 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 9a0280ee7..2f2207517 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 311e74932..395e07dbd 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 b0f2448ba..f412f6e9f 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 2f2207517..f932cafe2 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 395e07dbd..4637872ce 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 f412f6e9f..0af6a1d0d 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 4637872ce..3ba507773 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 | 567 +++++++++--------- 12 files changed, 324 insertions(+), 377 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 a323c4657..6b5a9807f 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 403cb4e54..000000000 --- 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 3dafc03fd..a1666b041 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 90a19cd72..dcb0497b0 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 f932cafe2..fb89dd21c 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 bdb2dcaee..d6082d23b 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 13a4b65d2..71168938c 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 3ba507773..c274dfee6 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 c23e61c80..7eeca5de7 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 89ba670c3..a65f6b306 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 0af6a1d0d..6ca6e8a21 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,46 +30724,7 @@ 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-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 - '@types/express': 4.17.21 - '@types/express-serve-static-core': 4.19.6 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.7 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.0 - connect-history-api-fallback: 2.0.0 - express: 4.21.2 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.21) - ipaddr.js: 2.2.0 - launch-editor: 2.10.0 - open: 10.1.1 - p-retry: 6.2.1 - schema-utils: 4.3.2 - selfsigned: 2.4.1 - 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))) - 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-cli: 6.0.1(webpack@5.98.0) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate + 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: @@ -30803,6 +30765,45 @@ 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)): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/express-serve-static-core': 4.19.6 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.0 + connect-history-api-fallback: 2.0.0 + express: 4.21.2 + graceful-fs: 4.2.11 + http-proxy-middleware: 2.0.9(@types/express@4.17.21) + ipaddr.js: 2.2.0 + launch-editor: 2.10.0 + open: 10.1.1 + p-retry: 6.2.1 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + 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)) + 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-cli: 6.0.1(webpack@5.98.0) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + webpack-merge@6.0.1: dependencies: clone-deep: 4.0.1 @@ -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 3b3d08b5f..0d73e81e2 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 7eeca5de7..fe54eef82 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 a65f6b306..f46b85d22 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 000000000..fbd68ed60 --- /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 d68abd1b9..c2ba7e860 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 0d73e81e2..aa77b88e2 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 d6082d23b..4a8e81580 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 | 581 +++++++++--------- 3 files changed, 302 insertions(+), 282 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index fb89dd21c..5fdace8a1 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 c274dfee6..ed8c61c52 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 6ca6e8a21..77578920c 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,7 +30743,46 @@ 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@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 + '@types/express': 4.17.21 + '@types/express-serve-static-core': 4.19.6 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.0 + connect-history-api-fallback: 2.0.0 + express: 4.21.2 + graceful-fs: 4.2.11 + http-proxy-middleware: 2.0.9(@types/express@4.17.21) + ipaddr.js: 2.2.0 + launch-editor: 2.10.0 + open: 10.1.1 + p-retry: 6.2.1 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + 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))) + 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-cli: 6.0.1(webpack@5.98.0) + transitivePeerDependencies: + - bufferutil + - debug + - 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): dependencies: @@ -30765,45 +30823,6 @@ 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)): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.21 - '@types/express-serve-static-core': 4.19.6 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.7 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.0 - connect-history-api-fallback: 2.0.0 - express: 4.21.2 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.21) - ipaddr.js: 2.2.0 - launch-editor: 2.10.0 - open: 10.1.1 - p-retry: 6.2.1 - schema-utils: 4.3.2 - selfsigned: 2.4.1 - 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)) - 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-cli: 6.0.1(webpack@5.98.0) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - webpack-merge@6.0.1: dependencies: clone-deep: 4.0.1 @@ -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 dcb0497b0..a5ad0e3fc 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 ed8c61c52..48704dc8c 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 5bc9bc65e..339caada8 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 5fdace8a1..6982b5f29 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 71168938c..6bf586437 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 77578920c..2ad7918e7 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 6bf586437..1fdd87109 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 000000000..ae99e90a6 --- /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 1fdd87109..cbb268170 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 48704dc8c..ca10bd9f2 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 ae99e90a6..9ba602010 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 | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/packages/codemirror/src/extensions/custom_tab.ts b/packages/codemirror/src/extensions/custom_tab.ts index 9ba602010..2b93d7678 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; - - // Handle selection indenting normally - if (selection.ranges.some(range => !range.empty)) { - return indentMore({ state, dispatch }); - } - const changes = []; const newSelections = []; + // Step 1: Handle non-empty selections → replace with tab + if (selection.ranges.some(range => !range.empty)) { + for (let range of selection.ranges) { + changes.push({ from: range.from, to: range.to, insert: "\t" }); + newSelections.push(EditorSelection.cursor(range.from + 1)); + } + + 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 544b6581b..175c3d123 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 cfabe2f15..d1125d097 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 98f379c6e..967a4ee43 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 175c3d123..0d4ade2a8 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 9bdeee150..c120138a8 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 e76901577..6dd68139a 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 339caada8..b60e8e422 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 cbb268170..3188f20ac 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 f46b85d22..f3f86f56f 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 c120138a8..fd74aaa5a 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 3188f20ac..160140e23 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 2b93d7678..2355ce90f 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 160140e23..7307e9f88 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.placeholder) {
-            extensions.push(placeholder(config.placeholder));
+            if (config.onContentChanged) {
+                extensions.push(EditorView.updateListener.of((v) => this.#onDocumentUpdated(v)));
+            }
+
+            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 3b1cb222b..c3cd63272 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 50353e230..c8642c993 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 18062acc7..ecc1e08c0 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 6982b5f29..244b513ed 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 ca10bd9f2..eb04b4955 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 2ad7918e7..e2d16b2d4 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 ecc1e08c0..a54b7e855 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 c3cd63272..3758229ea 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 1094e5007..546900c4d 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 55029914b..b58bd8311 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 a54b7e855..78b68c32c 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 244b513ed..fa237956a 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 eb04b4955..9fffa31b3 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 e2d16b2d4..14493dcad 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 546900c4d..10c73e113 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 b58bd8311..3e7458116 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 78b68c32c..533092ac1 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 fa237956a..105126a34 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 000000000..1420e39ef --- /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 7307e9f88..7ca000402 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 14493dcad..722ab3208 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 45af111e0..1d2bb91b1 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 808c58255..6d61ed2e4 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 6d61ed2e4..9198d9d6f 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 f99b12b50..8749024a9 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 9198d9d6f..e9cf62426 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 e9cf62426..a47d9144c 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 7272d151e..24a093cae 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 8f081a7d7..c75d85747 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 6ba46d7e2..6bd1657f5 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 a47d9144c..f56aff682 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 533092ac1..1ce3e2053 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 c75d85747..a2210081b 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 24a093cae..5661b4fc6 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 1d2bb91b1..48f64735b 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 da17ebc9e..bcc0bc269 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 108586d05..8ec5097aa 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 ebef11e05..24f104441 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 172ca8ea0..46be1d55f 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 91758b8d6..d7597a3ac 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 6e371c28a..efaf270f2 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 2d2e256ad..4360fcdf4 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 7d0dea381..f339d21e2 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 f339d21e2..162499274 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 48f64735b..3283672a4 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 1fa332c77..37d2ddc00 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 b60e8e422..3f037ce34 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 5661b4fc6..bb0f8c608 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 44f73942f..a3c588db2 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 ec6f8b489..d41b4a4a9 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 f56aff682..52818e11b 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 ac999ac76..87ce90c0a 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 @@
  • -

    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 904a715d8..6e9c247b9 100644 --- a/docs/Developer Guide/!!!meta.json +++ b/docs/Developer Guide/!!!meta.json @@ -87,19 +87,19 @@ "type": "text", "mime": "text/html", "attributes": [ + { + "type": "relation", + "name": "internalLink", + "value": "BRhQZHgwaGyw", + "isInheritable": false, + "position": 10 + }, { "type": "label", "name": "iconClass", "value": "bx bx-package", "isInheritable": false, "position": 10 - }, - { - "type": "relation", - "name": "internalLink", - "value": "BRhQZHgwaGyw", - "isInheritable": false, - "position": 20 } ], "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 02bb63f89..2d45b95ce 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 e9e553e1a..18960b335 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.