[WebProfilerBundle] Inline flowchart-only Mermaid version

This commit is contained in:
MatTheCat
2024-03-29 15:21:39 +01:00
parent 39ee96a19f
commit 183346e95c
5 changed files with 519 additions and 2 deletions

1
.gitattributes vendored
View File

@@ -2,3 +2,4 @@
/phpunit.xml.dist export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/Resources/views/Script/Mermaid/Makefile export-ignore

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
vendor/
composer.lock
phpunit.xml
/Resources/views/Script/Mermaid/repo-*

View File

@@ -132,8 +132,8 @@
<p>There are no workflows configured.</p>
</div>
{% else %}
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
<script>
{{ source('@WebProfiler/Script/Mermaid/mermaid-flowchart-v2.min.js') }}
const isDarkMode = document.querySelector('body').classList.contains('theme-dark');
mermaid.initialize({
flowchart: { useMaxWidth: false },

View File

@@ -0,0 +1,32 @@
define diagram-orchestration
import { diagram as flowchartV2 } from '../diagrams/flowchart/flowDiagram-v2.js';
import { registerDiagram } from './diagramAPI.js';
let hasLoadedDiagrams = false;
export const addDiagrams = () => {
if (hasLoadedDiagrams) {
return;
}
hasLoadedDiagrams = true;
registerDiagram('flowchart-v2', flowchartV2, () => true);
};
endef
override tag := v10.9.0
.PHONY: mermaid-flowchart-v2.min.js
mermaid-flowchart-v2.min.js: | repo-$(tag)/node_modules
$(file >repo-$(tag)/packages/mermaid/src/diagram-api/diagram-orchestration.ts,$(diagram-orchestration))
pnpm -C repo-$(tag) run build
cp repo-$(tag)/packages/mermaid/dist/mermaid.min.js $@
repo-$(tag)/node_modules: | repo-$(tag)
pnpm -C $(@D) install --ignore-scripts
.SECONDARY: repo-$(tag)
repo-$(tag):
curl -fL https://github.com/mermaid-js/mermaid/archive/refs/tags/$(tag).tar.gz | tar -xz --strip-components=1 --one-top-level=$@
.PHONY: clean
clean:
rm -rf ./repo-*

File diff suppressed because one or more lines are too long