mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-12-02 02:24:20 +01:00
Detector registering itself on load
This commit is contained in:
75
packages/mermaid-mindmap-detector/package.json
Normal file
75
packages/mermaid-mindmap-detector/package.json
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"name": "@mermaid-js/mermaid-mindmap",
|
||||
"version": "9.2.0-rc2",
|
||||
"description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
|
||||
"main": "dist/mermaid-mindmap.core.mjs",
|
||||
"module": "dist/mermaid-mindmap.core.mjs",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": {
|
||||
"require": "./dist/mermaid-mindmap.min.js",
|
||||
"import": "./dist/mermaid-mindmap.core.mjs"
|
||||
},
|
||||
"./*": "./*"
|
||||
},
|
||||
"keywords": [
|
||||
"diagram",
|
||||
"markdown",
|
||||
"mindmap",
|
||||
"mermaid"
|
||||
],
|
||||
"scripts": {
|
||||
"clean": "rimraf dist",
|
||||
"build:types": "tsc -p ./tsconfig.json --emitDeclarationOnly",
|
||||
"build:watch": "yarn build:code --watch",
|
||||
"build:esbuild": "concurrently \"yarn build:code\" \"yarn build:types\"",
|
||||
"build": "yarn clean; yarn build:esbuild",
|
||||
"dev": "node .esbuild/serve.cjs",
|
||||
"release": "yarn build",
|
||||
"lint": "eslint --cache --ignore-path .gitignore . && yarn lint:jison && prettier --check .",
|
||||
"lint:fix": "eslint --fix --ignore-path .gitignore . && prettier --write .",
|
||||
"lint:jison": "ts-node-esm src/jison/lint.mts",
|
||||
"ci": "vitest run",
|
||||
"test": "yarn lint && vitest run",
|
||||
"test:watch": "vitest --coverage --watch",
|
||||
"todo-prepublishOnly": "yarn build && yarn test",
|
||||
"todo-prepare": "concurrently \"husky install ../../.husky\" \"yarn build\"",
|
||||
"todo-pre-commit": "lint-staged"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mermaid-js/mermaid"
|
||||
},
|
||||
"author": "Knut Sveidqvist",
|
||||
"license": "MIT",
|
||||
"standard": {
|
||||
"ignore": [
|
||||
"**/parser/*.js",
|
||||
"dist/**/*.js",
|
||||
"cypress/**/*.js"
|
||||
],
|
||||
"globals": [
|
||||
"page"
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@braintree/sanitize-url": "^6.0.0",
|
||||
"d3": "^7.0.0",
|
||||
"mermaid": "workspace:*",
|
||||
"non-layered-tidy-tree-layout": "^2.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"concurrently": "^7.4.0",
|
||||
"rimraf": "^3.0.2"
|
||||
},
|
||||
"resolutions": {
|
||||
"d3": "^7.0.0"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"sideEffects": [
|
||||
"**/*.css",
|
||||
"**/*.scss"
|
||||
]
|
||||
}
|
||||
8
packages/mermaid-mindmap-detector/src/mindmapDetector.ts
Normal file
8
packages/mermaid-mindmap-detector/src/mindmapDetector.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
// import type { DiagramDetector } from '../../diagram-api/detectType';
|
||||
|
||||
// export const mindmapDetector: DiagramDetector = (txt) => {
|
||||
// return txt.match(/^\s*mindmap/) !== null;
|
||||
// };
|
||||
export const mindmapDetector = (txt: string) => {
|
||||
return txt.match(/^\s*mindmap/) !== null;
|
||||
};
|
||||
18
packages/mermaid-mindmap-detector/src/registry.ts
Normal file
18
packages/mermaid-mindmap-detector/src/registry.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// @ts-ignore: TODO Fix ts errors
|
||||
import { mindmapDetector } from './mindmapDetector';
|
||||
|
||||
if (typeof document !== 'undefined') {
|
||||
/*!
|
||||
* Wait for document loaded before starting the execution
|
||||
*/
|
||||
window.addEventListener(
|
||||
'load',
|
||||
() => {
|
||||
if (window.mermaid && typeof window.mermaid.detectors === 'object') {
|
||||
window.mermaid.detectors.push(mindmapDetector);
|
||||
console.log(window.mermaid.detectors); // eslint-disable-line no-console
|
||||
}
|
||||
},
|
||||
false
|
||||
);
|
||||
}
|
||||
9
packages/mermaid-mindmap-detector/tsconfig.json
Normal file
9
packages/mermaid-mindmap-detector/tsconfig.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "./dist"
|
||||
},
|
||||
"include": ["./src/**/*.ts"],
|
||||
"typeRoots": ["./src/types"]
|
||||
}
|
||||
26
packages/mermaid-mindmap/src/diagram.ts
Normal file
26
packages/mermaid-mindmap/src/diagram.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
// @ts-ignore: TODO Fix ts errors
|
||||
import mindmapParser from './parser/mindmap';
|
||||
import * as mindmapDb from './mindmapDb';
|
||||
import mindmapRenderer from './mindmapRenderer';
|
||||
import mindmapStyles from './styles';
|
||||
|
||||
// import mermaid from 'mermaid';
|
||||
|
||||
// console.log('mindmapDb', mindmapDb.getMindmap()); // eslint-disable-line no-console
|
||||
// registerDiagram()
|
||||
|
||||
if (typeof document !== 'undefined') {
|
||||
/*!
|
||||
* Wait for document loaded before starting the execution
|
||||
*/
|
||||
window.addEventListener(
|
||||
'load',
|
||||
() => {
|
||||
if (window.mermaid && typeof window.mermaid.detectors === 'object') {
|
||||
// window.mermaid.detectors.push(mindmapDetector);
|
||||
console.log(window.mermaid.detectors); // eslint-disable-line no-console
|
||||
}
|
||||
},
|
||||
false
|
||||
);
|
||||
}
|
||||
@@ -1,12 +1,27 @@
|
||||
// @ts-ignore: TODO Fix ts errors
|
||||
import mindmapParser from './parser/mindmap';
|
||||
// import mindmapParser from './parser/mindmap';
|
||||
// import * as mindmapDb from './mindmapDb';
|
||||
import { mindmapDetector } from './mindmapDetector';
|
||||
import mindmapRenderer from './mindmapRenderer';
|
||||
import mindmapStyles from './styles';
|
||||
// import mindmapRenderer from './mindmapRenderer';
|
||||
// import mindmapStyles from './styles';
|
||||
|
||||
import mermaid from 'mermaid';
|
||||
|
||||
console.log('Test of import', mermaid.mermaidAPI.getConfig()); // eslint-disable-line no-console
|
||||
// console.log('mindmapDb', mindmapDb.getMindmap()); // eslint-disable-line no-console
|
||||
console.log('mindmapDb', mermaid.mermaidAPI.getConfig()); // eslint-disable-line no-console
|
||||
// registerDiagram()
|
||||
|
||||
// if (typeof document !== 'undefined') {
|
||||
// /*!
|
||||
// * Wait for document loaded before starting the execution
|
||||
// */
|
||||
// window.addEventListener(
|
||||
// 'load',
|
||||
// () => {
|
||||
// if (window.mermaid && typeof window.mermaid.detectors === 'object') {
|
||||
// window.mermaid.detectors.push(mindmapDetector);
|
||||
// console.log(window.mermaid.detectors); // eslint-disable-line no-console
|
||||
// }
|
||||
// },
|
||||
// false
|
||||
// );
|
||||
// }
|
||||
|
||||
7
packages/mermaid-mindmap/src/types/index.d.ts
vendored
Normal file
7
packages/mermaid-mindmap/src/types/index.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export {};
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
mermaid: any; // 👈️ turn off type checking
|
||||
}
|
||||
}
|
||||
@@ -4,5 +4,6 @@
|
||||
"rootDir": "./src",
|
||||
"outDir": "./dist"
|
||||
},
|
||||
"include": ["./src/**/*.ts"]
|
||||
"include": ["./src/**/*.ts"],
|
||||
"typeRoots": ["./src/types"]
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid
|
||||
* functionality and to render the diagrams to svg code.
|
||||
* functionality and to render the diagrams to svg code!
|
||||
*/
|
||||
import { MermaidConfig } from './config.type';
|
||||
import { log } from './logger';
|
||||
@@ -210,6 +210,8 @@ const mermaid: {
|
||||
initialize: typeof initialize;
|
||||
contentLoaded: typeof contentLoaded;
|
||||
setParseErrorHandler: typeof setParseErrorHandler;
|
||||
// Array of functions to use for detecting diagram types
|
||||
detectors: Array<any>; // eslint-disable-line @typescript-eslint/no-explicit-any
|
||||
} = {
|
||||
startOnLoad: true,
|
||||
diagrams: {},
|
||||
@@ -222,6 +224,7 @@ const mermaid: {
|
||||
parseError: undefined,
|
||||
contentLoaded,
|
||||
setParseErrorHandler,
|
||||
detectors: [],
|
||||
};
|
||||
|
||||
export default mermaid;
|
||||
|
||||
Reference in New Issue
Block a user