feat: Remove direct file dependency of mermaid from elk, by using peerDependency.

This commit is contained in:
Sidharth Vinod
2024-05-22 17:01:34 +05:30
parent aa63f320f8
commit 5b66810646
12 changed files with 120 additions and 57 deletions

View File

@@ -0,0 +1,17 @@
import type { LayoutLoaderDefinition } from 'mermaid';
const loader = async () => await import(`./render.js`);
const algos = ['elk.stress', 'elk.force', 'elk.mrtree', 'elk.sporeOverlap'];
export const layouts: LayoutLoaderDefinition[] = [
{
name: 'elk',
loader,
algorithm: 'elk.layered',
},
...algos.map((algo) => ({
name: algo,
loader,
algorithm: algo,
})),
];

View File

@@ -1,21 +1,22 @@
// @ts-nocheck File not ready to check types
import { curveLinear } from 'd3';
import ELK from 'elkjs/lib/elk.bundled.js';
import { getConfig } from '../../mermaid/src/config.js';
import common from '../../mermaid/src/diagrams/common/common.js';
import { log } from '../../mermaid/src/logger.js';
import { insertCluster } from '../../mermaid/src/rendering-util/rendering-elements/clusters.js';
import {
import mermaid from 'mermaid';
import { findCommonAncestor } from './find-common-ancestor.js';
const {
common,
getConfig,
insertCluster,
insertEdge,
insertEdgeLabel,
insertMarkers,
insertNode,
interpolateToCurve,
labelHelper,
log,
positionEdgeLabel,
} from '../../mermaid/src/rendering-util/rendering-elements/edges.js';
import { curveLinear } from 'd3';
import { interpolateToCurve } from '../../mermaid/src/utils.js';
import insertMarkers from '../../mermaid/src/rendering-util/rendering-elements/markers.js';
import { insertNode } from '../../mermaid/src/rendering-util/rendering-elements/nodes.js';
import { labelHelper } from '../../mermaid/src/rendering-util/rendering-elements/shapes/util.js';
import { findCommonAncestor } from './find-common-ancestor.js';
} = mermaid.internalHelpers;
const nodeDb = {};
const portPos = {};