From 2033e9002f6d5ee305d11a454665e9ebfe3b8302 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Tue, 31 Jan 2023 22:04:56 +0530 Subject: [PATCH 01/17] 9.4.0-rc.1 --- .vscode/settings.json | 14 +++++++++++++- package.json | 2 +- yarn.lock | 30 +++++++++++++++++++++--------- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 925342c8..4ec65002 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,18 @@ { "editor.formatOnSave": true, - "cSpell.words": ["asyncable", "KROKI", "mindmap", "pako", "Serde", "serdes", "tailwindcss"], + "cSpell.words": [ + "asyncable", + "cssnano", + "daisyui", + "esserializer", + "KROKI", + "localstorage", + "mindmap", + "pako", + "Serde", + "serdes", + "tailwindcss" + ], "vitest.commandLine": "yarn test:unit", "vitest.enable": true, "testing.autoRun.mode": "rerun", diff --git a/package.json b/package.json index 038feb4c..be150f9d 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "analytics-plugin-plausible": "0.0.6", "daisyui": "2.49.0", "js-base64": "3.7.4", - "mermaid": "9.3.0", + "mermaid": "9.4.0-rc.1", "moment": "2.29.4", "monaco-editor": "0.34.1", "monaco-mermaid": "1.0.8", diff --git a/yarn.lock b/yarn.lock index 65d6bf17..0b8455f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2230,10 +2230,10 @@ domhandler@^5.0.1, domhandler@^5.0.2: dependencies: domelementtype "^2.3.0" -dompurify@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.1.tgz#f9cb1a275fde9af6f2d0a2644ef648dd6847b631" - integrity sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA== +dompurify@2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.3.tgz#f4133af0e6a50297fc8874e2eaedc13a3c308c03" + integrity sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ== domutils@^2.8.0: version "2.8.0" @@ -2281,6 +2281,11 @@ electron-to-chromium@^1.4.251: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.261.tgz#31f14ad60c6f95bec404a77a2fd5e1962248e112" integrity sha512-fVXliNUGJ7XUVJSAasPseBbVgJIeyw5M1xIkgXdTSRjlmCqBbiSTsEdLOCJS31Fc8B7CaloQ/BFAg8By3ODLdg== +elkjs@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.8.2.tgz#c37763c5a3e24e042e318455e0147c912a7c248e" + integrity sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -3607,20 +3612,22 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.3.0.tgz#8bd7c4a44b53e4e85c53a0a474442e9c273494ae" - integrity sha512-mGl0BM19TD/HbU/LmlaZbjBi//tojelg8P/mxD6pPZTAYaI+VawcyBdqRsoUHSc7j71PrMdJ3HBadoQNdvP5cg== +mermaid@9.4.0-rc.1: + version "9.4.0-rc.1" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.4.0-rc.1.tgz#57af152f276b0906e690352ef553373c20920046" + integrity sha512-ERxMN1sQEUdZIbrchEmDq63+5YzuaPfBCyFbMgpL/2NNPdwelUYuMr0f0XW9/7ohLf5JhAGErQ8ZpTV3GjPoEA== dependencies: "@braintree/sanitize-url" "^6.0.0" d3 "^7.0.0" dagre-d3-es "7.0.6" - dompurify "2.4.1" + dompurify "2.4.3" + elkjs "^0.8.2" khroma "^2.0.0" lodash-es "^4.17.21" moment-mini "^2.24.0" non-layered-tidy-tree-layout "^2.0.2" stylis "^4.1.2" + ts-dedent "^2.2.0" uuid "^9.0.0" micromatch@^4.0.4, micromatch@^4.0.5: @@ -5182,6 +5189,11 @@ tr46@^3.0.0: dependencies: punycode "^2.1.1" +ts-dedent@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" + integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== + tslib@^1.8.1: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" From 2fc032f58a01fd02421f0e8c19357cb0b6ec2bab Mon Sep 17 00:00:00 2001 From: sidharthv96 Date: Tue, 31 Jan 2023 16:36:15 +0000 Subject: [PATCH 02/17] Update Browserslist --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0b8455f7..f7977bc3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1195,9 +1195,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001439" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz" - integrity sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A== + version "1.0.30001449" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz" + integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw== caseless@~0.12.0: version "0.12.0" From af4f60874e7ccda8b01f79e45b0e9c13767920e7 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Feb 2023 15:31:31 +0530 Subject: [PATCH 03/17] 9.4.0 --- package.json | 2 +- yarn.lock | 40 +++++++++++++++++++--------------------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index be150f9d..7caaea27 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "analytics-plugin-plausible": "0.0.6", "daisyui": "2.49.0", "js-base64": "3.7.4", - "mermaid": "9.4.0-rc.1", + "mermaid": "9.4.0", "moment": "2.29.4", "monaco-editor": "0.34.1", "monaco-mermaid": "1.0.8", diff --git a/yarn.lock b/yarn.lock index f7977bc3..74268188 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1948,10 +1948,10 @@ d3@^7.0.0: d3-transition "3" d3-zoom "3" -d3@^7.7.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/d3/-/d3-7.7.0.tgz#e7779a74ea7c807b432fdfd8128de062b19c62eb" - integrity sha512-VEwHCMgMjD2WBsxeRGUE18RmzxT9Bn7ghDpzvTEvkLSBAKgTMydJjouZTjspgQfRHpPt/PB3EHWBa6SSyFQq4g== +d3@^7.8.2: + version "7.8.2" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.8.2.tgz#2bdb3c178d095ae03b107a18837ae049838e372d" + integrity sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ== dependencies: d3-array "3" d3-axis "3" @@ -1984,12 +1984,12 @@ d3@^7.7.0: d3-transition "3" d3-zoom "3" -dagre-d3-es@7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/dagre-d3-es/-/dagre-d3-es-7.0.6.tgz#8cab465ff95aca8a1ca2292d07e1fb31b5db83f2" - integrity sha512-CaaE/nZh205ix+Up4xsnlGmpog5GGm81Upi2+/SBHxwNwrccBb3K51LzjZ1U6hgvOlAEUsVWf1xSTzCyKpJ6+Q== +dagre-d3-es@7.0.8: + version "7.0.8" + resolved "https://registry.yarnpkg.com/dagre-d3-es/-/dagre-d3-es-7.0.8.tgz#14c309c3c08ba8329a7cf51000bd56a369c513d1" + integrity sha512-eykdoYQ4FwCJinEYS0gPL2f2w+BPbSLvnQSJ3Ye1vAoPjdkq6xIMKBv+UkICd3qZE26wBKIn3p+6n0QC7R1LyA== dependencies: - d3 "^7.7.0" + d3 "^7.8.2" lodash-es "^4.17.21" daisyui@2.49.0: @@ -3612,19 +3612,22 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@9.4.0-rc.1: - version "9.4.0-rc.1" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.4.0-rc.1.tgz#57af152f276b0906e690352ef553373c20920046" - integrity sha512-ERxMN1sQEUdZIbrchEmDq63+5YzuaPfBCyFbMgpL/2NNPdwelUYuMr0f0XW9/7ohLf5JhAGErQ8ZpTV3GjPoEA== +mermaid@9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.4.0.tgz#ff9afcac9f565a358fa8fc39135dec2c842c3b8f" + integrity sha512-4PWbOND7CNRbjHrdG3WUUGBreKAFVnMhdlPjttuUkeHbCQmAHkwzSh5dGwbrKmXGRaR4uTvfFVYzUcg++h0DkA== dependencies: "@braintree/sanitize-url" "^6.0.0" + cytoscape "^3.23.0" + cytoscape-cose-bilkent "^4.1.0" + cytoscape-fcose "^2.1.0" d3 "^7.0.0" - dagre-d3-es "7.0.6" + dagre-d3-es "7.0.8" dompurify "2.4.3" elkjs "^0.8.2" khroma "^2.0.0" lodash-es "^4.17.21" - moment-mini "^2.24.0" + moment "^2.29.4" non-layered-tidy-tree-layout "^2.0.2" stylis "^4.1.2" ts-dedent "^2.2.0" @@ -3709,12 +3712,7 @@ mlly@^1.1.0: pkg-types "^1.0.1" ufo "^1.0.1" -moment-mini@^2.24.0: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.29.4.tgz#cbbcdc58ce1b267506f28ea6668dbe060a32758f" - integrity sha512-uhXpYwHFeiTbY9KSgPPRoo1nt8OxNVdMVoTBYHfSEKeRkIkwGpO+gERmhuhBtzfaeOyTkykSrm2+noJBgqt3Hg== - -moment@2.29.4: +moment@2.29.4, moment@^2.29.4: version "2.29.4" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== From 3a1b8f87c3728a71b8db6320c2a1b950507fb920 Mon Sep 17 00:00:00 2001 From: sidharthv96 Date: Thu, 16 Feb 2023 10:02:52 +0000 Subject: [PATCH 04/17] Update Browserslist --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 74268188..327dbc86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1195,9 +1195,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426: - version "1.0.30001449" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz" - integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw== + version "1.0.30001453" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001453.tgz" + integrity sha512-R9o/uySW38VViaTrOtwfbFEiBFUh7ST3uIG4OEymIG3/uKdHDO4xk/FaqfUw0d+irSUyFPy3dZszf9VvSTPnsA== caseless@~0.12.0: version "0.12.0" From 8c07649b10c2e278f2b3fb8e0df4ca0b8fcdf0ba Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Feb 2023 15:48:02 +0530 Subject: [PATCH 05/17] Remove mindmap --- package.json | 1 - src/lib/util/mermaid.ts | 11 ----------- yarn.lock | 13 ------------- 3 files changed, 25 deletions(-) diff --git a/package.json b/package.json index 7caaea27..c3905810 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,6 @@ "vitest": "^0.28.0" }, "dependencies": { - "@mermaid-js/mermaid-mindmap": "9.3.0", "analytics": "0.8.1", "analytics-plugin-plausible": "0.0.6", "daisyui": "2.49.0", diff --git a/src/lib/util/mermaid.ts b/src/lib/util/mermaid.ts index f4d09e72..e3adc0f5 100644 --- a/src/lib/util/mermaid.ts +++ b/src/lib/util/mermaid.ts @@ -1,11 +1,4 @@ import mermaid, { type MermaidConfig } from 'mermaid'; -import mindmap from '@mermaid-js/mermaid-mindmap'; - -const initialize = mermaid.registerExternalDiagrams([mindmap]); - -export const init = async () => { - await initialize; -}; export const render = async ( config: MermaidConfig, @@ -15,13 +8,9 @@ export const render = async ( ): Promise => { // Should be able to call this multiple times without any issues. mermaid.initialize(config); - // console.log('Rendering', code); - // mermaid.mermaidAPI.render(id, code, callback); - await init(); await mermaid.mermaidAPI.renderAsync(id, code, callback); }; export const parse = async (code: string): Promise => { - await init(); return await mermaid.parseAsync(code); }; diff --git a/yarn.lock b/yarn.lock index 74268188..939b4334 100644 --- a/yarn.lock +++ b/yarn.lock @@ -350,19 +350,6 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@mermaid-js/mermaid-mindmap@9.3.0": - version "9.3.0" - resolved "https://registry.yarnpkg.com/@mermaid-js/mermaid-mindmap/-/mermaid-mindmap-9.3.0.tgz#cfe10329198a0f37e27eef1dcc4a1cf21f187e2b" - integrity sha512-IhtYSVBBRYviH1Ehu8gk69pMDF8DSRqXBRDMWrEfHoaMruHeaP2DXA3PBnuwsMaCdPQhlUUcy/7DBLAEIXvCAw== - dependencies: - "@braintree/sanitize-url" "^6.0.0" - cytoscape "^3.23.0" - cytoscape-cose-bilkent "^4.1.0" - cytoscape-fcose "^2.1.0" - d3 "^7.0.0" - khroma "^2.0.0" - non-layered-tidy-tree-layout "^2.0.2" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" From 71f4097fa0e8374223591dad23be5346e506ca84 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Feb 2023 15:51:53 +0530 Subject: [PATCH 06/17] Log SVG code --- src/lib/components/View.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/components/View.svelte b/src/lib/components/View.svelte index 8e0b6854..d3df5e40 100644 --- a/src/lib/components/View.svelte +++ b/src/lib/components/View.svelte @@ -87,7 +87,7 @@ if (svgCode.length > 0) { handlePanZoom(state); container.innerHTML = svgCode; - // console.log(container.innerHTML); + console.log({ svgCode }); const graphDiv = document.getElementById('graph-div'); if (!graphDiv) { throw new Error('graph-div not found'); @@ -133,7 +133,7 @@ : 'text-yellow-600'} bg-base-100 bg-opacity-80 text-center" id="errorContainer"> {#if error} - {@html $stateStore.error.toString().replace(/\n/g, '
')} + {@html $stateStore.error?.toString().replace(/\n/g, '
')} {:else} Diagram out of sync.
Press (Sync button) or {cmdKey} + Enter to sync. From 6ece0a8a94a293ae4913c595f163d5cda6fb6ab8 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Feb 2023 15:55:07 +0530 Subject: [PATCH 07/17] comment out consoles --- src/lib/components/Editor.svelte | 12 ++++++------ src/lib/components/View.svelte | 2 +- src/lib/util/state.ts | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lib/components/Editor.svelte b/src/lib/components/Editor.svelte index 5525afe9..c4fc11e6 100644 --- a/src/lib/components/Editor.svelte +++ b/src/lib/components/Editor.svelte @@ -21,7 +21,7 @@ let text = ''; stateStore.subscribe(({ errorMarkers, editorMode, code, mermaid }) => { - console.log('editor store subscription', { code, mermaid }); + // console.log('editor store subscription', { code, mermaid }); if (!editor || !Monaco) { return; } @@ -29,7 +29,7 @@ // Update editor text if it's different const newText = editorMode === 'code' ? code : mermaid; if (newText !== text) { - console.log('updating editor text', newText); + // console.log('updating editor text', newText); editor.setValue(newText); text = newText; } @@ -54,7 +54,7 @@ }); const handleUpdate = (text: string, mode: EditorMode) => { - console.log('editor HandleUpdate', { text, mode }); + // console.log('editor HandleUpdate', { text, mode }); if (mode === 'code') { updateCode(text); } else { @@ -91,7 +91,7 @@ editor = Monaco.editor.create(divEl, editorOptions); editor.onDidChangeModelContent(({ isFlush, changes }) => { const newText = editor?.getValue(); - console.log('editor onDidChangeModelContent', { text, newText, isFlush, changes }); + // console.log('editor onDidChangeModelContent', { text, newText, isFlush, changes }); if (!newText || text === newText || isFlush) { return; } @@ -120,9 +120,9 @@ if (divEl.parentElement) { resizeObserver.observe(divEl.parentElement); } - console.log(`editor mounted`); + // console.log(`editor mounted`); return () => { - console.log(`editor disposed`); + // console.log(`editor disposed`); editor?.dispose(); }; }); diff --git a/src/lib/components/View.svelte b/src/lib/components/View.svelte index d3df5e40..0fa6ab2c 100644 --- a/src/lib/components/View.svelte +++ b/src/lib/components/View.svelte @@ -122,7 +122,7 @@ pzoom.resize(); } }); - console.log('View mounted'); + // console.log('View mounted'); }); diff --git a/src/lib/util/state.ts b/src/lib/util/state.ts index 1dc7ed11..1c8c825e 100644 --- a/src/lib/util/state.ts +++ b/src/lib/util/state.ts @@ -146,7 +146,7 @@ export const updateCode = ( resetPanZoom = false }: { updateDiagram?: boolean; resetPanZoom?: boolean } = {} ): void => { - console.log('updateCode', code); + // console.log('updateCode', code); const lines = countLines(code); saveStatistics(code); errorDebug(); @@ -172,7 +172,7 @@ export const updateCode = ( }; export const updateConfig = (config: string): void => { - console.log('updateConfig', config); + // console.log('updateConfig', config); inputStateStore.update((state) => { return { ...state, mermaid: config }; }); From 20358bc2546813cbacae92a000fd5beed9d5b00f Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Thu, 16 Feb 2023 15:56:30 +0530 Subject: [PATCH 08/17] Remove mindmap --- src/lib/util/util.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/util/util.ts b/src/lib/util/util.ts index bf2c7606..d350223d 100644 --- a/src/lib/util/util.ts +++ b/src/lib/util/util.ts @@ -3,7 +3,6 @@ import { analytics, initAnalytics } from './stats'; import { loadDataFromUrl } from './fileLoaders/loader'; import { initLoading } from './loading'; import { applyMigrations } from './migrations'; -import { init } from './mermaid'; export const loadStateFromURL = (): void => { loadState(window.location.hash.slice(1)); @@ -17,7 +16,6 @@ export const syncDiagram = (): void => { export const initHandler = async (): Promise => { applyMigrations(); - await initLoading('Loading Mermaid...', init()); loadStateFromURL(); await initLoading('Loading Gist...', loadDataFromUrl().catch(console.error)); syncDiagram(); From 5925448ca4f21af8133e5161ea1d921634f45219 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sun, 19 Feb 2023 00:14:57 +0530 Subject: [PATCH 09/17] Replace moment with dayjs --- package.json | 4 +- src/lib/components/Actions.svelte | 4 +- src/lib/components/History/History.svelte | 9 ++- yarn.lock | 74 +++++++---------------- 4 files changed, 31 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index d22f62c1..1f71bcb4 100644 --- a/package.json +++ b/package.json @@ -71,9 +71,9 @@ "analytics": "0.8.1", "analytics-plugin-plausible": "0.0.6", "daisyui": "2.50.0", + "dayjs": "^1.11.7", "js-base64": "3.7.4", - "mermaid": "9.4.0", - "moment": "2.29.4", + "mermaid": "9.4.2-rc.1", "monaco-editor": "0.34.1", "monaco-mermaid": "1.0.8", "pako": "2.1.0", diff --git a/src/lib/components/Actions.svelte b/src/lib/components/Actions.svelte index 166a58cd..04fdb0cf 100644 --- a/src/lib/components/Actions.svelte +++ b/src/lib/components/Actions.svelte @@ -6,13 +6,13 @@ import { stateStore } from '$lib/util/state'; import { logEvent } from '$lib/util/stats'; import { toBase64 } from 'js-base64'; - import moment from 'moment'; + import dayjs from 'dayjs'; const { krokiRendererUrl, rendererUrl } = env; type Exporter = (context: CanvasRenderingContext2D, image: HTMLImageElement) => () => void; const getFileName = (ext: string) => - `mermaid-diagram-${moment().format('YYYY-MM-DD-HHmmss')}.${ext}`; + `mermaid-diagram-${dayjs().format('YYYY-MM-DD-HHmmss')}.${ext}`; const getBase64SVG = (svg?: HTMLElement, width?: number, height?: number): string => { height && svg?.setAttribute('height', `${height}px`); diff --git a/src/lib/components/History/History.svelte b/src/lib/components/History/History.svelte index 3663b71d..a943cc8a 100644 --- a/src/lib/components/History/History.svelte +++ b/src/lib/components/History/History.svelte @@ -13,10 +13,13 @@ import { notify, prompt } from '$lib/util/notify'; import { onMount } from 'svelte'; import { get } from 'svelte/store'; - import moment from 'moment'; + import dayjs from 'dayjs'; + import dayjsRelativeTime from 'dayjs/plugin/relativeTime'; import type { HistoryEntry, HistoryType, State, Tab } from '$lib/types'; import { logEvent } from '$lib/util/stats'; + dayjs.extend(dayjsRelativeTime); + const HISTORY_SAVE_INTERVAL = 60000; const tabSelectHandler = (message: CustomEvent) => { @@ -41,7 +44,7 @@ const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; - a.download = `mermaid-history-${moment().format('YYYY-MM-DD-HHmmss')}.json`; + a.download = `mermaid-history-${dayjs().format('YYYY-MM-DD-HHmmss')}.json`; a.click(); URL.revokeObjectURL(url); logEvent('history', { @@ -95,7 +98,7 @@ const relativeTime = (time: number) => { const t = new Date(time); - return `${new Date(t).toLocaleString()} (${moment(t).fromNow()})`; + return `${new Date(t).toLocaleString()} (${dayjs(t).fromNow()})`; }; onMount(() => { diff --git a/yarn.lock b/yarn.lock index ec228274..86659598 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1754,13 +1754,6 @@ d3-chord@3: resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.0.1.tgz#03316e595955d1fcd39d9f3610ad41bb90194d0a" integrity sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw== -d3-contour@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-3.0.1.tgz#2c64255d43059599cd0dba8fe4cc3d51ccdd9bbd" - integrity sha512-0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ== - dependencies: - d3-array "2 - 3" - d3-contour@4: version "4.0.0" resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.0.tgz#5a1337c6da0d528479acdb5db54bc81a0ff2ec6b" @@ -1934,43 +1927,7 @@ d3-zoom@3: d3-selection "2 - 3" d3-transition "2 - 3" -d3@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/d3/-/d3-7.1.1.tgz#77b9a0c9893b13643b8e52316ec65dca3a6a115e" - integrity sha512-8zkLMwSvUAnfN9pcJDfkuxU0Nvg4RLUD0A4BZN1KxJPtlnCGzMx3xM5cRl4m8fym/Vy8rlq52tl90UF3m91OnA== - dependencies: - d3-array "3" - d3-axis "3" - d3-brush "3" - d3-chord "3" - d3-color "3" - d3-contour "3" - d3-delaunay "6" - d3-dispatch "3" - d3-drag "3" - d3-dsv "3" - d3-ease "3" - d3-fetch "3" - d3-force "3" - d3-format "3" - d3-geo "3" - d3-hierarchy "3" - d3-interpolate "3" - d3-path "3" - d3-polygon "3" - d3-quadtree "3" - d3-random "3" - d3-scale "4" - d3-scale-chromatic "3" - d3-selection "3" - d3-shape "3" - d3-time "3" - d3-time-format "4" - d3-timer "3" - d3-transition "3" - d3-zoom "3" - -d3@^7.8.2: +d3@^7.4.0, d3@^7.8.2: version "7.8.2" resolved "https://registry.yarnpkg.com/d3/-/d3-7.8.2.tgz#2bdb3c178d095ae03b107a18837ae049838e372d" integrity sha512-WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ== @@ -2045,6 +2002,11 @@ dayjs@^1.10.4: resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz" integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw== +dayjs@^1.11.7: + version "1.11.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" + integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== + deasync@^0.1.0: version "0.1.21" resolved "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz" @@ -3714,26 +3676,27 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.4.0.tgz#ff9afcac9f565a358fa8fc39135dec2c842c3b8f" - integrity sha512-4PWbOND7CNRbjHrdG3WUUGBreKAFVnMhdlPjttuUkeHbCQmAHkwzSh5dGwbrKmXGRaR4uTvfFVYzUcg++h0DkA== +mermaid@9.4.2-rc.1: + version "9.4.2-rc.1" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.4.2-rc.1.tgz#60b8da41d09d7b2029e75d5054d297ebaee092a1" + integrity sha512-TWgp8Hl+sm/rmNjuwMBm8s1fES81bK7PyXmr5lSFS7YiHaIm6Xx+qG3pGFj47YqyJ4XEwcA3tZo6xLV9OYYwVg== dependencies: "@braintree/sanitize-url" "^6.0.0" cytoscape "^3.23.0" cytoscape-cose-bilkent "^4.1.0" cytoscape-fcose "^2.1.0" - d3 "^7.0.0" + d3 "^7.4.0" dagre-d3-es "7.0.8" dompurify "2.4.3" elkjs "^0.8.2" khroma "^2.0.0" lodash-es "^4.17.21" - moment "^2.29.4" + moment-mini "^2.29.4" non-layered-tidy-tree-layout "^2.0.2" stylis "^4.1.2" ts-dedent "^2.2.0" uuid "^9.0.0" + web-worker "^1.2.0" micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" @@ -3814,10 +3777,10 @@ mlly@^1.1.0: pkg-types "^1.0.1" ufo "^1.0.1" -moment@2.29.4, moment@^2.29.4: +moment-mini@^2.29.4: version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + resolved "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.29.4.tgz#cbbcdc58ce1b267506f28ea6668dbe060a32758f" + integrity sha512-uhXpYwHFeiTbY9KSgPPRoo1nt8OxNVdMVoTBYHfSEKeRkIkwGpO+gERmhuhBtzfaeOyTkykSrm2+noJBgqt3Hg== monaco-editor@0.34.1: version "0.34.1" @@ -5667,6 +5630,11 @@ w3c-xmlserializer@^4.0.0: dependencies: xml-name-validator "^4.0.0" +web-worker@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" + integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== + webidl-conversions@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" From e93641e41faf2b8c819da64cdbf23431b7a20af9 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sun, 19 Feb 2023 19:49:50 +0530 Subject: [PATCH 10/17] Release v10 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1f71bcb4..28ab2a99 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "daisyui": "2.50.0", "dayjs": "^1.11.7", "js-base64": "3.7.4", - "mermaid": "9.4.2-rc.1", + "mermaid": "10.0.0-rc.2", "monaco-editor": "0.34.1", "monaco-mermaid": "1.0.8", "pako": "2.1.0", diff --git a/yarn.lock b/yarn.lock index 86659598..f239fdda 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3676,10 +3676,10 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@9.4.2-rc.1: - version "9.4.2-rc.1" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.4.2-rc.1.tgz#60b8da41d09d7b2029e75d5054d297ebaee092a1" - integrity sha512-TWgp8Hl+sm/rmNjuwMBm8s1fES81bK7PyXmr5lSFS7YiHaIm6Xx+qG3pGFj47YqyJ4XEwcA3tZo6xLV9OYYwVg== +mermaid@10.0.0-rc.2: + version "10.0.0-rc.2" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.0.0-rc.2.tgz#e4fc043cfb4be4b887edc7638e505ffcb0eb0d68" + integrity sha512-L7ecv8yjNq2Mud7kwelzKuQiyxODOKVjTHcZnrvaJWVFfdlvIYt75bZjKn42cHA3GCJThRaEBc8Ow6la8WUscw== dependencies: "@braintree/sanitize-url" "^6.0.0" cytoscape "^3.23.0" From bbd637806504e762dd20dbc445ba961d8a137039 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Sun, 19 Feb 2023 20:09:42 +0530 Subject: [PATCH 11/17] v10 changes --- package.json | 2 +- src/lib/components/View.svelte | 36 +++++++++++++++++----------------- src/lib/util/mermaid.ts | 14 ++++++------- yarn.lock | 8 ++++---- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index 28ab2a99..a94c06d2 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "daisyui": "2.50.0", "dayjs": "^1.11.7", "js-base64": "3.7.4", - "mermaid": "10.0.0-rc.2", + "mermaid": "10.0.0-rc.3", "monaco-editor": "0.34.1", "monaco-mermaid": "1.0.8", "pako": "2.1.0", diff --git a/src/lib/components/View.svelte b/src/lib/components/View.svelte index 0fa6ab2c..5bdd20c3 100644 --- a/src/lib/components/View.svelte +++ b/src/lib/components/View.svelte @@ -79,27 +79,27 @@ panZoomEnabled = state.panZoom; const scroll = view.parentElement!.scrollTop; delete container.dataset.processed; - await renderDiagram( + const { svg, bindFunctions } = await renderDiagram( Object.assign({}, JSON.parse(state.mermaid)) as MermaidConfig, code, - 'graph-div', - (svgCode, bindFunctions) => { - if (svgCode.length > 0) { - handlePanZoom(state); - container.innerHTML = svgCode; - console.log({ svgCode }); - const graphDiv = document.getElementById('graph-div'); - if (!graphDiv) { - throw new Error('graph-div not found'); - } - graphDiv.setAttribute('height', '100%'); - graphDiv.style.maxWidth = '100%'; - if (bindFunctions) { - bindFunctions(graphDiv); - } - } - } + 'graph-div' ); + + if (svg.length > 0) { + handlePanZoom(state); + container.innerHTML = svg; + console.log({ svg }); + const graphDiv = document.getElementById('graph-div'); + if (!graphDiv) { + throw new Error('graph-div not found'); + } + graphDiv.setAttribute('height', '100%'); + graphDiv.style.maxWidth = '100%'; + if (bindFunctions) { + bindFunctions(graphDiv); + } + } + view.parentElement!.scrollTop = scroll; error = false; } else if (manualUpdate) { diff --git a/src/lib/util/mermaid.ts b/src/lib/util/mermaid.ts index e3adc0f5..53c00788 100644 --- a/src/lib/util/mermaid.ts +++ b/src/lib/util/mermaid.ts @@ -1,16 +1,16 @@ -import mermaid, { type MermaidConfig } from 'mermaid'; +import mermaid from 'mermaid'; +import type { MermaidConfig, RenderResult } from 'mermaid'; export const render = async ( config: MermaidConfig, code: string, - id: string, - callback: Parameters[2] -): Promise => { + id: string +): Promise => { // Should be able to call this multiple times without any issues. mermaid.initialize(config); - await mermaid.mermaidAPI.renderAsync(id, code, callback); + return await mermaid.render(id, code); }; -export const parse = async (code: string): Promise => { - return await mermaid.parseAsync(code); +export const parse = async (code: string): Promise => { + return await mermaid.parse(code); }; diff --git a/yarn.lock b/yarn.lock index f239fdda..dd81ef19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3676,10 +3676,10 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@10.0.0-rc.2: - version "10.0.0-rc.2" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.0.0-rc.2.tgz#e4fc043cfb4be4b887edc7638e505ffcb0eb0d68" - integrity sha512-L7ecv8yjNq2Mud7kwelzKuQiyxODOKVjTHcZnrvaJWVFfdlvIYt75bZjKn42cHA3GCJThRaEBc8Ow6la8WUscw== +mermaid@10.0.0-rc.3: + version "10.0.0-rc.3" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.0.0-rc.3.tgz#3ad25014902468b0a8bec9bab295ac7007c49475" + integrity sha512-gm9bnBOlJbB65trwT2nUiNw26wQ78HKINLua033bPDotjRc2iR6q1Owl8WClS4xM0Kd1n1N1oQFqSv3RFyKbCQ== dependencies: "@braintree/sanitize-url" "^6.0.0" cytoscape "^3.23.0" From ee1652e9f2b6e2ad085abcb55ce6695dfadb2885 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Tue, 21 Feb 2023 17:46:00 +0530 Subject: [PATCH 12/17] v10 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a94c06d2..e17f4a20 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "daisyui": "2.50.0", "dayjs": "^1.11.7", "js-base64": "3.7.4", - "mermaid": "10.0.0-rc.3", + "mermaid": "10.0.0", "monaco-editor": "0.34.1", "monaco-mermaid": "1.0.8", "pako": "2.1.0", diff --git a/yarn.lock b/yarn.lock index dd81ef19..e8de1597 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3676,10 +3676,10 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@10.0.0-rc.3: - version "10.0.0-rc.3" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.0.0-rc.3.tgz#3ad25014902468b0a8bec9bab295ac7007c49475" - integrity sha512-gm9bnBOlJbB65trwT2nUiNw26wQ78HKINLua033bPDotjRc2iR6q1Owl8WClS4xM0Kd1n1N1oQFqSv3RFyKbCQ== +mermaid@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.0.0.tgz#6f7ae2eda0ab221089dc1eb166938203f2a7b04d" + integrity sha512-syS1qyYCd3EPXCVSpYtefY4D9z9WZAK8hFgjeHR9PAtanybLO162Tu7o5i/nZkqRrJq0Rk8RqskQlhBPgT8eBw== dependencies: "@braintree/sanitize-url" "^6.0.0" cytoscape "^3.23.0" From 052665ef09cfb17593443bbe2da4be251309dddc Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 22 Feb 2023 10:01:16 +0530 Subject: [PATCH 13/17] Actions, default closed --- src/lib/components/Actions.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/Actions.svelte b/src/lib/components/Actions.svelte index 04fdb0cf..a038712e 100644 --- a/src/lib/components/Actions.svelte +++ b/src/lib/components/Actions.svelte @@ -180,7 +180,7 @@ }); - +
{#if isClipboardAvailable()}