fix excalidraw 0.17 integration

This commit is contained in:
zadam 2024-03-06 07:13:30 +01:00
parent 6fad5f2b51
commit 2bb4cccd82
3 changed files with 45 additions and 92 deletions

125
package-lock.json generated
View File

@ -12,7 +12,7 @@
"dependencies": { "dependencies": {
"@braintree/sanitize-url": "6.0.4", "@braintree/sanitize-url": "6.0.4",
"@electron/remote": "2.1.2", "@electron/remote": "2.1.2",
"@excalidraw/excalidraw": "0.16.1", "@excalidraw/excalidraw": "0.17.3",
"archiver": "7.0.0", "archiver": "7.0.0",
"async-mutex": "0.4.1", "async-mutex": "0.4.1",
"axios": "1.6.7", "axios": "1.6.7",
@ -53,10 +53,10 @@
"jsdom": "24.0.0", "jsdom": "24.0.0",
"katex": "0.16.9", "katex": "0.16.9",
"marked": "12.0.0", "marked": "12.0.0",
"mermaid": "10.6.1", "mermaid": "10.9.0",
"mime-types": "2.1.35", "mime-types": "2.1.35",
"multer": "1.4.5-lts.1", "multer": "1.4.5-lts.1",
"node-abi": "3.51.0", "node-abi": "3.56.0",
"normalize-strings": "1.1.1", "normalize-strings": "1.1.1",
"open": "8.4.1", "open": "8.4.1",
"panzoom": "9.4.3", "panzoom": "9.4.3",
@ -490,9 +490,9 @@
} }
}, },
"node_modules/@excalidraw/excalidraw": { "node_modules/@excalidraw/excalidraw": {
"version": "0.16.1", "version": "0.17.3",
"resolved": "https://registry.npmjs.org/@excalidraw/excalidraw/-/excalidraw-0.16.1.tgz", "resolved": "https://registry.npmjs.org/@excalidraw/excalidraw/-/excalidraw-0.17.3.tgz",
"integrity": "sha512-4zirHk7dNx6SVq2jQmYOLliqAa1h3WPVqHM5qtJyhD769VsOqwlkopAcnZMb3G1PeIMm6cf2F31quS5MVqvoOQ==", "integrity": "sha512-t+0sR30AboKcINt0WUJmSAC1cJy6npO37j/zONvuWvSh6XDOGoL1E0L+WYKJMBzp4wnOQhRIghQJmdfktQlO8w==",
"peerDependencies": { "peerDependencies": {
"react": "^17.0.2 || ^18.2.0", "react": "^17.0.2 || ^18.2.0",
"react-dom": "^17.0.2 || ^18.2.0" "react-dom": "^17.0.2 || ^18.2.0"
@ -4095,9 +4095,9 @@
} }
}, },
"node_modules/cytoscape": { "node_modules/cytoscape": {
"version": "3.27.0", "version": "3.28.1",
"resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.27.0.tgz", "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz",
"integrity": "sha512-pPZJilfX9BxESwujODz5pydeGi+FBrXq1rcaB1mfhFXXFJ9GjE6CNndAk+8jPzoXGD+16LtSS4xlYEIUiW4Abg==", "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==",
"dependencies": { "dependencies": {
"heap": "^0.2.6", "heap": "^0.2.6",
"lodash": "^4.17.21" "lodash": "^4.17.21"
@ -4117,30 +4117,6 @@
"cytoscape": "^3.2.0" "cytoscape": "^3.2.0"
} }
}, },
"node_modules/cytoscape-fcose": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz",
"integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==",
"dependencies": {
"cose-base": "^2.2.0"
},
"peerDependencies": {
"cytoscape": "^3.2.0"
}
},
"node_modules/cytoscape-fcose/node_modules/cose-base": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz",
"integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==",
"dependencies": {
"layout-base": "^2.0.0"
}
},
"node_modules/cytoscape-fcose/node_modules/layout-base": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz",
"integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg=="
},
"node_modules/d3": { "node_modules/d3": {
"version": "7.8.5", "version": "7.8.5",
"resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz",
@ -5826,9 +5802,9 @@
} }
}, },
"node_modules/elkjs": { "node_modules/elkjs": {
"version": "0.8.2", "version": "0.9.2",
"resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.2.tgz",
"integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==" "integrity": "sha512-2Y/RaA1pdgSHpY0YG4TYuYCD2wh97CRvu22eLG3Kz0pgQ/6KbIFTxsTnDc4MH/6hFlg2L/9qXrDMG0nMjP63iw=="
}, },
"node_modules/emitter-listener": { "node_modules/emitter-listener": {
"version": "1.1.2", "version": "1.1.2",
@ -10155,22 +10131,22 @@
"dev": true "dev": true
}, },
"node_modules/mermaid": { "node_modules/mermaid": {
"version": "10.6.1", "version": "10.9.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.1.tgz", "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.0.tgz",
"integrity": "sha512-Hky0/RpOw/1il9X8AvzOEChfJtVvmXm+y7JML5C//ePYMy0/9jCEmW1E1g86x9oDfW9+iVEdTV/i+M6KWRNs4A==", "integrity": "sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==",
"dependencies": { "dependencies": {
"@braintree/sanitize-url": "^6.0.1", "@braintree/sanitize-url": "^6.0.1",
"@types/d3-scale": "^4.0.3", "@types/d3-scale": "^4.0.3",
"@types/d3-scale-chromatic": "^3.0.0", "@types/d3-scale-chromatic": "^3.0.0",
"cytoscape": "^3.23.0", "cytoscape": "^3.28.1",
"cytoscape-cose-bilkent": "^4.1.0", "cytoscape-cose-bilkent": "^4.1.0",
"cytoscape-fcose": "^2.1.0",
"d3": "^7.4.0", "d3": "^7.4.0",
"d3-sankey": "^0.12.3", "d3-sankey": "^0.12.3",
"dagre-d3-es": "7.0.10", "dagre-d3-es": "7.0.10",
"dayjs": "^1.11.7", "dayjs": "^1.11.7",
"dompurify": "^3.0.5", "dompurify": "^3.0.5",
"elkjs": "^0.8.2", "elkjs": "^0.9.0",
"katex": "^0.16.9",
"khroma": "^2.0.0", "khroma": "^2.0.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"mdast-util-from-markdown": "^1.3.0", "mdast-util-from-markdown": "^1.3.0",
@ -10900,9 +10876,9 @@
"integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==" "integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ=="
}, },
"node_modules/node-abi": { "node_modules/node-abi": {
"version": "3.51.0", "version": "3.56.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz",
"integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==",
"dependencies": { "dependencies": {
"semver": "^7.3.5" "semver": "^7.3.5"
}, },
@ -15509,9 +15485,9 @@
"dev": true "dev": true
}, },
"@excalidraw/excalidraw": { "@excalidraw/excalidraw": {
"version": "0.16.1", "version": "0.17.3",
"resolved": "https://registry.npmjs.org/@excalidraw/excalidraw/-/excalidraw-0.16.1.tgz", "resolved": "https://registry.npmjs.org/@excalidraw/excalidraw/-/excalidraw-0.17.3.tgz",
"integrity": "sha512-4zirHk7dNx6SVq2jQmYOLliqAa1h3WPVqHM5qtJyhD769VsOqwlkopAcnZMb3G1PeIMm6cf2F31quS5MVqvoOQ==", "integrity": "sha512-t+0sR30AboKcINt0WUJmSAC1cJy6npO37j/zONvuWvSh6XDOGoL1E0L+WYKJMBzp4wnOQhRIghQJmdfktQlO8w==",
"requires": {} "requires": {}
}, },
"@gar/promisify": { "@gar/promisify": {
@ -18274,9 +18250,9 @@
} }
}, },
"cytoscape": { "cytoscape": {
"version": "3.27.0", "version": "3.28.1",
"resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.27.0.tgz", "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.28.1.tgz",
"integrity": "sha512-pPZJilfX9BxESwujODz5pydeGi+FBrXq1rcaB1mfhFXXFJ9GjE6CNndAk+8jPzoXGD+16LtSS4xlYEIUiW4Abg==", "integrity": "sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==",
"requires": { "requires": {
"heap": "^0.2.6", "heap": "^0.2.6",
"lodash": "^4.17.21" "lodash": "^4.17.21"
@ -18290,29 +18266,6 @@
"cose-base": "^1.0.0" "cose-base": "^1.0.0"
} }
}, },
"cytoscape-fcose": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz",
"integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==",
"requires": {
"cose-base": "^2.2.0"
},
"dependencies": {
"cose-base": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz",
"integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==",
"requires": {
"layout-base": "^2.0.0"
}
},
"layout-base": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz",
"integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg=="
}
}
},
"d3": { "d3": {
"version": "7.8.5", "version": "7.8.5",
"resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz",
@ -19616,9 +19569,9 @@
} }
}, },
"elkjs": { "elkjs": {
"version": "0.8.2", "version": "0.9.2",
"resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.2.tgz",
"integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==" "integrity": "sha512-2Y/RaA1pdgSHpY0YG4TYuYCD2wh97CRvu22eLG3Kz0pgQ/6KbIFTxsTnDc4MH/6hFlg2L/9qXrDMG0nMjP63iw=="
}, },
"emitter-listener": { "emitter-listener": {
"version": "1.1.2", "version": "1.1.2",
@ -22837,22 +22790,22 @@
"dev": true "dev": true
}, },
"mermaid": { "mermaid": {
"version": "10.6.1", "version": "10.9.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.1.tgz", "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.0.tgz",
"integrity": "sha512-Hky0/RpOw/1il9X8AvzOEChfJtVvmXm+y7JML5C//ePYMy0/9jCEmW1E1g86x9oDfW9+iVEdTV/i+M6KWRNs4A==", "integrity": "sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==",
"requires": { "requires": {
"@braintree/sanitize-url": "^6.0.1", "@braintree/sanitize-url": "^6.0.1",
"@types/d3-scale": "^4.0.3", "@types/d3-scale": "^4.0.3",
"@types/d3-scale-chromatic": "^3.0.0", "@types/d3-scale-chromatic": "^3.0.0",
"cytoscape": "^3.23.0", "cytoscape": "^3.28.1",
"cytoscape-cose-bilkent": "^4.1.0", "cytoscape-cose-bilkent": "^4.1.0",
"cytoscape-fcose": "^2.1.0",
"d3": "^7.4.0", "d3": "^7.4.0",
"d3-sankey": "^0.12.3", "d3-sankey": "^0.12.3",
"dagre-d3-es": "7.0.10", "dagre-d3-es": "7.0.10",
"dayjs": "^1.11.7", "dayjs": "^1.11.7",
"dompurify": "^3.0.5", "dompurify": "^3.0.5",
"elkjs": "^0.8.2", "elkjs": "^0.9.0",
"katex": "^0.16.9",
"khroma": "^2.0.0", "khroma": "^2.0.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"mdast-util-from-markdown": "^1.3.0", "mdast-util-from-markdown": "^1.3.0",
@ -23293,9 +23246,9 @@
"integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==" "integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ=="
}, },
"node-abi": { "node-abi": {
"version": "3.51.0", "version": "3.56.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz",
"integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==",
"requires": { "requires": {
"semver": "^7.3.5" "semver": "^7.3.5"
} }

View File

@ -37,7 +37,7 @@
"dependencies": { "dependencies": {
"@braintree/sanitize-url": "6.0.4", "@braintree/sanitize-url": "6.0.4",
"@electron/remote": "2.1.2", "@electron/remote": "2.1.2",
"@excalidraw/excalidraw": "0.16.1", "@excalidraw/excalidraw": "0.17.3",
"archiver": "7.0.0", "archiver": "7.0.0",
"async-mutex": "0.4.1", "async-mutex": "0.4.1",
"axios": "1.6.7", "axios": "1.6.7",

View File

@ -1,8 +1,8 @@
import libraryLoader from "../../services/library_loader.js"; import libraryLoader from '../../services/library_loader.js';
import TypeWidget from "./type_widget.js"; import TypeWidget from './type_widget.js';
import utils from '../../services/utils.js'; import utils from '../../services/utils.js';
import linkService from '../../services/link.js'; import linkService from '../../services/link.js';
import debounce from "../../services/debounce.js"; import debounce from '../../services/debounce.js';
const TPL = ` const TPL = `
<div class="canvas-widget note-detail-canvas note-detail-printable note-detail"> <div class="canvas-widget note-detail-canvas note-detail-printable note-detail">
@ -246,7 +246,7 @@ export default class ExcalidrawTypeWidget extends TypeWidget {
this.excalidrawApi.updateScene(sceneData); this.excalidrawApi.updateScene(sceneData);
this.excalidrawApi.addFiles(fileArray); this.excalidrawApi.addFiles(fileArray);
this.excalidrawRef.current.history.clear(); this.excalidrawApi.history.clear();
} }
Promise.all( Promise.all(
@ -283,7 +283,7 @@ export default class ExcalidrawTypeWidget extends TypeWidget {
const files = this.excalidrawApi.getFiles(); const files = this.excalidrawApi.getFiles();
// parallel svg export to combat bitrot and enable rendering image for note inclusion, preview, and share // parallel svg export to combat bitrot and enable rendering image for note inclusion, preview, and share
const svg = await this.excalidrawApi.exportToSvg({ const svg = await ExcalidrawLib.exportToSvg({
elements, elements,
appState, appState,
exportPadding: 5, // 5 px padding exportPadding: 5, // 5 px padding