diff --git a/apps/client/package.json b/apps/client/package.json index 9775842016..38cdd1291a 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -62,7 +62,7 @@ "leaflet-gpx": "2.2.0", "mark.js": "8.11.1", "marked": "17.0.5", - "mermaid": "11.13.0", + "mermaid": "11.14.0", "mind-elixir": "5.10.0", "panzoom": "9.4.4", "preact": "10.29.0", diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index e051f8f720..9605212f6e 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -2307,7 +2307,9 @@ "sample_user_journey": "User Journey", "sample_xy": "XY", "sample_venn": "Venn", - "sample_ishikawa": "Ishikawa" + "sample_ishikawa": "Ishikawa", + "sample_treeview": "TreeView", + "sample_wardley": "Wardley Map" }, "mind-map": { "addChild": "Add child", diff --git a/apps/client/src/widgets/type_widgets/helpers/SplitEditor.css b/apps/client/src/widgets/type_widgets/helpers/SplitEditor.css index 2c9a6a602e..c051eeb929 100644 --- a/apps/client/src/widgets/type_widgets/helpers/SplitEditor.css +++ b/apps/client/src/widgets/type_widgets/helpers/SplitEditor.css @@ -104,6 +104,6 @@ body.desktop .note-detail-split .note-detail-code-editor { .note-detail-split.svg-editor .render-container svg { width: 100%; height: 100%; - max-width: 100%; + max-width: 100% !important; } /* #endregion */ diff --git a/apps/client/src/widgets/type_widgets/mermaid/sample_diagrams.ts b/apps/client/src/widgets/type_widgets/mermaid/sample_diagrams.ts index 29b62b1e38..8d53bdec82 100644 --- a/apps/client/src/widgets/type_widgets/mermaid/sample_diagrams.ts +++ b/apps/client/src/widgets/type_widgets/mermaid/sample_diagrams.ts @@ -505,6 +505,47 @@ ishikawa-beta Environment Subject moved too quickly Too dark +` + }, + { + name: t("mermaid.sample_treeview"), + content: `\ +treeView-beta + "src" + "components" + "Button.tsx" + "Modal.tsx" + "services" + "api.ts" + "utils.ts" + "index.ts" + "package.json" + "README.md" +` + }, + { + name: t("mermaid.sample_wardley"), + content: `\ +wardley-beta + title Tea Shop + + anchor Customers [0.95, 0.63] + anchor Business [0.95, 0.27] + + component Cup of Tea [0.79, 0.61] + component Tea [0.63, 0.81] + component Cup [0.57, 0.46] + component Water [0.52, 0.89] + component Kettle [0.47, 0.53] + component Power [0.36, 0.72] + + Customers -> Cup of Tea + Business -> Cup of Tea + Cup of Tea -> Tea + Cup of Tea -> Cup + Cup of Tea -> Water + Water -> Kettle + Kettle -> Power ` } ]; diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 4a51c57ade..2780a67988 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -44,7 +44,7 @@ "@triliumnext/server": "workspace:*", "@types/electron-squirrel-startup": "1.0.2", "copy-webpack-plugin": "13.0.1", - "electron": "40.6.1", + "electron": "40.8.5", "prebuild-install": "7.1.3" } } \ No newline at end of file diff --git a/apps/desktop/scripts/build.ts b/apps/desktop/scripts/build.ts index d080036b11..2e5f82c506 100644 --- a/apps/desktop/scripts/build.ts +++ b/apps/desktop/scripts/build.ts @@ -16,7 +16,7 @@ async function main() { build.copy("/packages/share-theme/src/templates", "share-theme/templates/"); // Copy node modules dependencies - build.copyNodeModules([ "better-sqlite3", "bindings", "file-uri-to-path", "@electron/remote", "tesseract.js" ]); + build.copyNodeModules([ "better-sqlite3", "bindings", "file-uri-to-path", "@electron/remote" ]); build.copy("/node_modules/ckeditor5/dist/ckeditor5-content.css", "ckeditor5-content.css"); build.buildFrontend(); diff --git a/apps/edit-docs/package.json b/apps/edit-docs/package.json index 66ab77a1e1..b8e4e8665b 100644 --- a/apps/edit-docs/package.json +++ b/apps/edit-docs/package.json @@ -12,7 +12,7 @@ "@triliumnext/desktop": "workspace:*", "@types/fs-extra": "11.0.4", "copy-webpack-plugin": "14.0.0", - "electron": "41.1.0", + "electron": "41.1.1", "fs-extra": "11.3.4" }, "scripts": { diff --git a/apps/server/package.json b/apps/server/package.json index c48dfdcbce..2f233ddebd 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -89,7 +89,7 @@ "debounce": "3.0.0", "debug": "4.4.3", "ejs": "5.0.1", - "electron": "41.1.0", + "electron": "41.1.1", "electron-window-state": "5.0.3", "escape-html": "1.0.3", "express": "5.2.1", diff --git a/apps/server/scripts/build.ts b/apps/server/scripts/build.ts index e8a27f66c3..9fa1f9cb83 100644 --- a/apps/server/scripts/build.ts +++ b/apps/server/scripts/build.ts @@ -11,7 +11,7 @@ async function main() { build.copy("/packages/share-theme/src/templates", "share-theme/templates/"); // Copy node modules dependencies - build.copyNodeModules([ "better-sqlite3", "bindings", "file-uri-to-path", "tesseract.js" ]); + build.copyNodeModules([ "better-sqlite3", "bindings", "file-uri-to-path" ]); build.copy("/node_modules/ckeditor5/dist/ckeditor5-content.css", "ckeditor5-content.css"); build.buildFrontend(); diff --git a/package.json b/package.json index 5bf4b146e6..606371cce5 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "@codemirror/language": "6.12.3", "@lezer/highlight": "1.2.3", "@lezer/common": "1.5.1", - "mermaid": "11.13.0", + "mermaid": "11.14.0", "preact": "10.29.0", "roughjs": "4.6.6", "@types/express-serve-static-core": "5.1.1", diff --git a/packages/share-theme/package.json b/packages/share-theme/package.json index ca7b6aeb15..dd81ec5471 100644 --- a/packages/share-theme/package.json +++ b/packages/share-theme/package.json @@ -26,7 +26,7 @@ "dependencies": { "fuse.js": "7.1.0", "katex": "0.16.44", - "mermaid": "11.13.0" + "mermaid": "11.14.0" }, "devDependencies": { "@digitak/esrun": "3.2.26", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 33a6c905cf..32c2a13fba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,7 +8,7 @@ overrides: '@codemirror/language': 6.12.3 '@lezer/highlight': 1.2.3 '@lezer/common': 1.5.1 - mermaid: 11.13.0 + mermaid: 11.14.0 preact: 10.29.0 roughjs: 4.6.6 '@types/express-serve-static-core': 5.1.1 @@ -232,7 +232,7 @@ importers: version: 0.1.3(@types/leaflet@1.9.21)(leaflet@1.9.4)(maplibre-gl@5.6.1) '@mermaid-js/layout-elk': specifier: 0.2.1 - version: 0.2.1(mermaid@11.13.0) + version: 0.2.1(mermaid@11.14.0) '@mind-elixir/node-menu': specifier: 5.0.1 version: 5.0.1(mind-elixir@5.10.0) @@ -342,8 +342,8 @@ importers: specifier: 17.0.5 version: 17.0.5 mermaid: - specifier: 11.13.0 - version: 11.13.0 + specifier: 11.14.0 + version: 11.14.0 mind-elixir: specifier: 5.10.0 version: 5.10.0 @@ -434,7 +434,7 @@ importers: dependencies: '@electron/remote': specifier: 2.1.3 - version: 2.1.3(electron@40.6.1) + version: 2.1.3(electron@40.8.5) better-sqlite3: specifier: 12.8.0 version: 12.8.0 @@ -491,8 +491,8 @@ importers: specifier: 13.0.1 version: 13.0.1(webpack@5.105.4(esbuild@0.27.5)) electron: - specifier: 40.6.1 - version: 40.6.1 + specifier: 40.8.5 + version: 40.8.5 prebuild-install: specifier: 7.1.3 version: 7.1.3 @@ -547,8 +547,8 @@ importers: specifier: 14.0.0 version: 14.0.0(webpack@5.105.4(esbuild@0.27.5)) electron: - specifier: 41.1.0 - version: 41.1.0 + specifier: 41.1.1 + version: 41.1.1 fs-extra: specifier: 11.3.4 version: 11.3.4 @@ -603,7 +603,7 @@ importers: version: 7.1.2 '@electron/remote': specifier: 2.1.3 - version: 2.1.3(electron@41.1.0) + version: 2.1.3(electron@41.1.1) '@triliumnext/commons': specifier: workspace:* version: link:../../packages/commons @@ -737,8 +737,8 @@ importers: specifier: 5.0.1 version: 5.0.1 electron: - specifier: 41.1.0 - version: 41.1.0 + specifier: 41.1.1 + version: 41.1.1 electron-window-state: specifier: 5.0.3 version: 5.0.3 @@ -1419,8 +1419,8 @@ importers: specifier: 0.16.44 version: 0.16.44 mermaid: - specifier: 11.13.0 - version: 11.13.0 + specifier: 11.14.0 + version: 11.14.0 devDependencies: '@digitak/esrun': specifier: 3.2.26 @@ -3685,10 +3685,10 @@ packages: '@mermaid-js/layout-elk@0.2.1': resolution: {integrity: sha512-MX9jwhMyd5zDcFsYcl3duDUkKhjVRUCGEQrdCeNV5hCIR6+3FuDDbRbFmvVbAu15K1+juzsYGG+K8MDvCY1Amg==} peerDependencies: - mermaid: 11.13.0 + mermaid: 11.14.0 - '@mermaid-js/parser@1.0.1': - resolution: {integrity: sha512-opmV19kN1JsK0T6HhhokHpcVkqKpF+x2pPDKKM2ThHtZAB5F4PROopk0amuVYK5qMrIA4erzpNm8gmPNJgMDxQ==} + '@mermaid-js/parser@1.1.0': + resolution: {integrity: sha512-gxK9ZX2+Fex5zu8LhRQoMeMPEHbc73UKZ0FQ54YrQtUxE1VVhMwzeNtKRPAu5aXks4FasbMe4xB4bWrmq6Jlxw==} '@microsoft/api-extractor-model@7.30.6': resolution: {integrity: sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==} @@ -8334,13 +8334,13 @@ packages: resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} engines: {node: '>=8.0.0'} - electron@40.6.1: - resolution: {integrity: sha512-u9YfoixttdauciHV9Ut9Zf3YipJoU093kR1GSYTTXTAXqhiXI0G1A0NnL/f0O2m2UULCXaXMf2W71PloR6V9pQ==} + electron@40.8.5: + resolution: {integrity: sha512-pgTY/VPQKaiU4sTjfU96iyxCXrFm4htVPCMRT4b7q9ijNTRgtLmLvcmzp2G4e7xDrq9p7OLHSmu1rBKFf6Y1/A==} engines: {node: '>= 12.20.55'} hasBin: true - electron@41.1.0: - resolution: {integrity: sha512-0XRFyxRqetmqtkkBvV++wGbHYJ7bD++f6EgJW8y9kX4pPRagwlmKDtzqXZhKiu0DIQppm3sXxzHWK9GYP91OKQ==} + electron@41.1.1: + resolution: {integrity: sha512-8bgvDhBjli+3Z2YCKgzzoBPh6391pr7Xv2h/tTJG4ETgvPvUxZomObbZLs31mUzYb6VrlcDDd9cyWyNKtPm3tA==} engines: {node: '>= 12.20.55'} hasBin: true @@ -10644,8 +10644,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid@11.13.0: - resolution: {integrity: sha512-fEnci+Immw6lKMFI8sqzjlATTyjLkRa6axrEgLV2yHTfv8r+h1wjFbV6xeRtd4rUV1cS4EpR9rwp3Rci7TRWDw==} + mermaid@11.14.0: + resolution: {integrity: sha512-GSGloRsBs+JINmmhl0JDwjpuezCsHB4WGI4NASHxL3fHo3o/BRXTxhDLKnln8/Q0lRFRyDdEjmk1/d5Sn1Xz8g==} methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} @@ -16394,13 +16394,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@electron/remote@2.1.3(electron@40.6.1)': + '@electron/remote@2.1.3(electron@40.8.5)': dependencies: - electron: 40.6.1 + electron: 40.8.5 - '@electron/remote@2.1.3(electron@41.1.0)': + '@electron/remote@2.1.3(electron@41.1.1)': dependencies: - electron: 41.1.0 + electron: 41.1.1 '@electron/universal@2.0.2': dependencies: @@ -16799,7 +16799,7 @@ snapshots: '@excalidraw/mermaid-to-excalidraw@1.1.2': dependencies: '@excalidraw/markdown-to-text': 0.1.2 - mermaid: 11.13.0 + mermaid: 11.14.0 nanoid: 5.1.5 '@excalidraw/random-username@1.1.0': {} @@ -17664,13 +17664,13 @@ snapshots: '@mdn/browser-compat-data@5.7.6': {} - '@mermaid-js/layout-elk@0.2.1(mermaid@11.13.0)': + '@mermaid-js/layout-elk@0.2.1(mermaid@11.14.0)': dependencies: d3: 7.9.0 elkjs: 0.9.3 - mermaid: 11.13.0 + mermaid: 11.14.0 - '@mermaid-js/parser@1.0.1': + '@mermaid-js/parser@1.1.0': dependencies: langium: 4.2.1 @@ -23705,7 +23705,7 @@ snapshots: - supports-color optional: true - electron@40.6.1: + electron@40.8.5: dependencies: '@electron/get': 2.0.3 '@types/node': 24.12.0 @@ -23713,7 +23713,7 @@ snapshots: transitivePeerDependencies: - supports-color - electron@41.1.0: + electron@41.1.1: dependencies: '@electron/get': 2.0.3 '@types/node': 24.12.0 @@ -26554,11 +26554,11 @@ snapshots: merge2@1.4.1: {} - mermaid@11.13.0: + mermaid@11.14.0: dependencies: '@braintree/sanitize-url': 7.1.2 '@iconify/utils': 3.1.0 - '@mermaid-js/parser': 1.0.1 + '@mermaid-js/parser': 1.1.0 '@types/d3': 7.4.3 '@upsetjs/venn.js': 2.0.0 cytoscape: 3.33.1 diff --git a/scripts/build-utils.ts b/scripts/build-utils.ts index 7349cecb2b..23af1db90d 100644 --- a/scripts/build-utils.ts +++ b/scripts/build-utils.ts @@ -68,6 +68,14 @@ export default class BuildHelper { minify: true }); writeFileSync(join(this.outDir, "meta.json"), JSON.stringify(result.metafile)); + + // Tesseract.js is marked as external above because its worker runs in + // a separate worker_thread. Copy the worker source, WASM core and all + // transitive runtime deps so they are available in dist/node_modules. + this.copyNodeModules([ + "tesseract.js", "tesseract.js-core", "wasm-feature-detect", + "regenerator-runtime", "is-url", "bmp-js" + ]); } buildFrontend() {