- commit
- 1588ec7b5a2e436d6b9ad602e74e2230aff4c60e
- parent
- eb348748c9c9a073e2a01309526d0ba6aab5b570
- author
- Dami <dami.etoile@gmail.com>
@@ -3,12 +3,17 @@ import mermaid from 'mermaid'
33 const CHANNEL = 'diagram.zip:renderer:v1'44 const ENGINE = 'mermaid'55 const VERSION = 'mermaid@11.17.0'6-const BUILD = 'mermaid-11.17.0-client-unit-1'6+const BUILD = 'mermaid-11.17.0-client-unit-2'77 const MAX_SOURCE_LENGTH = 100_00088 99 mermaid.initialize({1010 startOnLoad: false,1111 securityLevel: 'strict',12+ htmlLabels: false,13+ secure: [14+ 'secure', 'securityLevel', 'startOnLoad', 'maxTextSize',15+ 'suppressErrorRendering', 'maxEdges', 'htmlLabels',16+ ],1217 suppressErrorRendering: true,1318 maxTextSize: MAX_SOURCE_LENGTH,1419 maxEdges: 5_000,@@ -1,3 +1,3 @@
11 import { createBrowserRendererUnit } from '../../../../shared/browser-unit.ts'22 3-export default createBrowserRendererUnit({ id: 'mermaid', kind: 'render', version: 'mermaid@11.17.0', build: 'mermaid-11.17.0-browser-run-unit-1', pipeline: ['mermaid'], frame: '/index.html?v=1', knownLosses: ['External links and resource-loading elements are removed; XHTML labels retain only safe text formatting.'] })3+export default createBrowserRendererUnit({ id: 'mermaid', kind: 'render', version: 'mermaid@11.17.0', build: 'mermaid-11.17.0-browser-run-unit-2', pipeline: ['mermaid'], frame: '/index.html?v=2', knownLosses: ['External links and resource-loading elements are removed; text labels retain only safe formatting.'] })@@ -4,7 +4,7 @@ export const ENGINES = ['mermaid', 'diagramsnet'] as const
44 export type Engine = (typeof ENGINES)[number]55 66 export const FRAME_URLS: Readonly<Record<Engine, string>> = Object.freeze({7- mermaid: 'https://mermaid.render.diagram.zip/index.html?v=1',7+ mermaid: 'https://mermaid.render.diagram.zip/index.html?v=2',88 diagramsnet: 'https://diagramsnet.render.diagram.zip/index.html?v=1',99 })1010 @@ -5,7 +5,7 @@ describe('browser-run render contract', () => {
55 it('accepts only the two pinned engines and validates the source', () => {66 const request = validateRenderRequest({ engine: 'mermaid', requestId: 'r-1', source: 'graph TD' })77 expect(request.engine).toBe('mermaid')8- expect(FRAME_URLS.mermaid).toBe('https://mermaid.render.diagram.zip/index.html?v=1')8+ expect(FRAME_URLS.mermaid).toBe('https://mermaid.render.diagram.zip/index.html?v=2')99 })1010 1111 it('rejects unknown engines, malformed ids, and oversized input', () => {