From 7a086890fd180545f774a82ad08e15a0f2939894 Mon Sep 17 00:00:00 2001 From: MrCoder Date: Tue, 6 Dec 2022 19:44:14 +1100 Subject: [PATCH] Made mermaidConfig a local variable so that it cannot be shared cross rendering. --- .../mermaid/src/docs/.vitepress/theme/Mermaid.vue | 11 +++++------ packages/mermaid/src/docs/.vitepress/theme/mermaid.ts | 4 +--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/mermaid/src/docs/.vitepress/theme/Mermaid.vue b/packages/mermaid/src/docs/.vitepress/theme/Mermaid.vue index c99141601..566543001 100644 --- a/packages/mermaid/src/docs/.vitepress/theme/Mermaid.vue +++ b/packages/mermaid/src/docs/.vitepress/theme/Mermaid.vue @@ -20,11 +20,6 @@ const props = defineProps({ const svg = ref(null); let mut = null; -const mermaidConfig = { - securityLevel: 'loose', - startOnLoad: false, -}; - onMounted(async () => { mut = new MutationObserver(() => renderChart()); mut.observe(document.documentElement, { attributes: true }); @@ -58,7 +53,11 @@ onUnmounted(() => mut.disconnect()); const renderChart = async () => { console.log('rendering chart' + props.id + props.graph); const hasDarkClass = document.documentElement.classList.contains('dark'); - mermaidConfig.theme = hasDarkClass ? 'dark' : 'default'; + const mermaidConfig = { + securityLevel: 'loose', + startOnLoad: false, + theme: hasDarkClass ? 'dark' : 'default', + }; console.log({ mermaidConfig }); let svgCode = await render(props.id, decodeURIComponent(props.graph), mermaidConfig); diff --git a/packages/mermaid/src/docs/.vitepress/theme/mermaid.ts b/packages/mermaid/src/docs/.vitepress/theme/mermaid.ts index fef090ea9..b287346f9 100644 --- a/packages/mermaid/src/docs/.vitepress/theme/mermaid.ts +++ b/packages/mermaid/src/docs/.vitepress/theme/mermaid.ts @@ -8,9 +8,7 @@ try { } export const render = async (id: string, code: string, config: MermaidConfig): Promise => { - // make a clone of config, so we don't mutate the original - const mermaidConfig = { ...config }; - mermaid.initialize(mermaidConfig); + mermaid.initialize(config); const svg = await mermaid.renderAsync(id, code); return svg; };