mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-10-31 19:04:16 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			bugfix/545
			...
			sidv/mindm
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 87cdc03e84 | 
| @@ -1,46 +0,0 @@ | |||||||
| export interface PackageOptions { |  | ||||||
|   name: string; |  | ||||||
|   packageName: string; |  | ||||||
|   file: string; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Shared common options for both ESBuild and Vite |  | ||||||
|  */ |  | ||||||
| export const packageOptions = { |  | ||||||
|   parser: { |  | ||||||
|     name: 'mermaid-parser', |  | ||||||
|     packageName: 'parser', |  | ||||||
|     file: 'index.ts', |  | ||||||
|   }, |  | ||||||
|   mermaid: { |  | ||||||
|     name: 'mermaid', |  | ||||||
|     packageName: 'mermaid', |  | ||||||
|     file: 'mermaid.ts', |  | ||||||
|   }, |  | ||||||
|   'mermaid-example-diagram': { |  | ||||||
|     name: 'mermaid-example-diagram', |  | ||||||
|     packageName: 'mermaid-example-diagram', |  | ||||||
|     file: 'detector.ts', |  | ||||||
|   }, |  | ||||||
|   'mermaid-zenuml': { |  | ||||||
|     name: 'mermaid-zenuml', |  | ||||||
|     packageName: 'mermaid-zenuml', |  | ||||||
|     file: 'detector.ts', |  | ||||||
|   }, |  | ||||||
|   'mermaid-layout-elk': { |  | ||||||
|     name: 'mermaid-layout-elk', |  | ||||||
|     packageName: 'mermaid-layout-elk', |  | ||||||
|     file: 'layouts.ts', |  | ||||||
|   }, |  | ||||||
|   'mermaid-layout-tidy-tree': { |  | ||||||
|     name: 'mermaid-layout-tidy-tree', |  | ||||||
|     packageName: 'mermaid-layout-tidy-tree', |  | ||||||
|     file: 'index.ts', |  | ||||||
|   }, |  | ||||||
|   examples: { |  | ||||||
|     name: 'mermaid-examples', |  | ||||||
|     packageName: 'examples', |  | ||||||
|     file: 'index.ts', |  | ||||||
|   }, |  | ||||||
| } as const satisfies Record<string, PackageOptions>; |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| import { generate } from 'langium-cli'; |  | ||||||
|  |  | ||||||
| export async function generateLangium() { |  | ||||||
|   await generate({ file: `./packages/parser/langium-config.json` }); |  | ||||||
| } |  | ||||||
| @@ -1,127 +0,0 @@ | |||||||
| import { load, JSON_SCHEMA } from 'js-yaml'; |  | ||||||
| import assert from 'node:assert'; |  | ||||||
| import Ajv2019, { type JSONSchemaType } from 'ajv/dist/2019.js'; |  | ||||||
| import type { MermaidConfig, BaseDiagramConfig } from '../packages/mermaid/src/config.type.js'; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * All of the keys in the mermaid config that have a mermaid diagram config. |  | ||||||
|  */ |  | ||||||
| const MERMAID_CONFIG_DIAGRAM_KEYS = [ |  | ||||||
|   'flowchart', |  | ||||||
|   'sequence', |  | ||||||
|   'gantt', |  | ||||||
|   'journey', |  | ||||||
|   'class', |  | ||||||
|   'state', |  | ||||||
|   'er', |  | ||||||
|   'pie', |  | ||||||
|   'quadrantChart', |  | ||||||
|   'xyChart', |  | ||||||
|   'requirement', |  | ||||||
|   'mindmap', |  | ||||||
|   'kanban', |  | ||||||
|   'timeline', |  | ||||||
|   'gitGraph', |  | ||||||
|   'c4', |  | ||||||
|   'sankey', |  | ||||||
|   'block', |  | ||||||
|   'packet', |  | ||||||
|   'architecture', |  | ||||||
|   'radar', |  | ||||||
| ] as const; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Generate default values from the JSON Schema. |  | ||||||
|  * |  | ||||||
|  * AJV does not support nested default values yet (or default values with $ref), |  | ||||||
|  * so we need to manually find them (this may be fixed in ajv v9). |  | ||||||
|  * |  | ||||||
|  * @param mermaidConfigSchema - The Mermaid JSON Schema to use. |  | ||||||
|  * @returns The default mermaid config object. |  | ||||||
|  */ |  | ||||||
| function generateDefaults(mermaidConfigSchema: JSONSchemaType<MermaidConfig>) { |  | ||||||
|   const ajv = new Ajv2019({ |  | ||||||
|     useDefaults: true, |  | ||||||
|     allowUnionTypes: true, |  | ||||||
|     strict: true, |  | ||||||
|   }); |  | ||||||
|  |  | ||||||
|   ajv.addKeyword({ |  | ||||||
|     keyword: 'meta:enum', // used by jsonschema2md |  | ||||||
|     errors: false, |  | ||||||
|   }); |  | ||||||
|   ajv.addKeyword({ |  | ||||||
|     keyword: 'tsType', // used by json-schema-to-typescript |  | ||||||
|     errors: false, |  | ||||||
|   }); |  | ||||||
|  |  | ||||||
|   // ajv currently doesn't support nested default values, see https://github.com/ajv-validator/ajv/issues/1718 |  | ||||||
|   // (may be fixed in v9) so we need to manually use sub-schemas |  | ||||||
|   const mermaidDefaultConfig = {}; |  | ||||||
|  |  | ||||||
|   assert.ok(mermaidConfigSchema.$defs); |  | ||||||
|   const baseDiagramConfig = mermaidConfigSchema.$defs.BaseDiagramConfig; |  | ||||||
|  |  | ||||||
|   for (const key of MERMAID_CONFIG_DIAGRAM_KEYS) { |  | ||||||
|     const subSchemaRef = mermaidConfigSchema.properties[key].$ref; |  | ||||||
|     const [root, defs, defName] = subSchemaRef.split('/'); |  | ||||||
|     assert.strictEqual(root, '#'); |  | ||||||
|     assert.strictEqual(defs, '$defs'); |  | ||||||
|     const subSchema = { |  | ||||||
|       $schema: mermaidConfigSchema.$schema, |  | ||||||
|       $defs: mermaidConfigSchema.$defs, |  | ||||||
|       ...mermaidConfigSchema.$defs[defName], |  | ||||||
|     } as JSONSchemaType<BaseDiagramConfig>; |  | ||||||
|  |  | ||||||
|     const validate = ajv.compile(subSchema); |  | ||||||
|  |  | ||||||
|     mermaidDefaultConfig[key] = {}; |  | ||||||
|  |  | ||||||
|     for (const required of subSchema.required ?? []) { |  | ||||||
|       if (subSchema.properties[required] === undefined && baseDiagramConfig.properties[required]) { |  | ||||||
|         mermaidDefaultConfig[key][required] = baseDiagramConfig.properties[required].default; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|     if (!validate(mermaidDefaultConfig[key])) { |  | ||||||
|       throw new Error( |  | ||||||
|         `schema for subconfig ${key} does not have valid defaults! Errors were ${JSON.stringify( |  | ||||||
|           validate.errors, |  | ||||||
|           undefined, |  | ||||||
|           2 |  | ||||||
|         )}` |  | ||||||
|       ); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   const validate = ajv.compile(mermaidConfigSchema); |  | ||||||
|  |  | ||||||
|   if (!validate(mermaidDefaultConfig)) { |  | ||||||
|     throw new Error( |  | ||||||
|       `Mermaid config JSON Schema does not have valid defaults! Errors were ${JSON.stringify( |  | ||||||
|         validate.errors, |  | ||||||
|         undefined, |  | ||||||
|         2 |  | ||||||
|       )}` |  | ||||||
|     ); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   return mermaidDefaultConfig; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| export const loadSchema = (src: string, filename: string): JSONSchemaType<MermaidConfig> => { |  | ||||||
|   const jsonSchema = load(src, { |  | ||||||
|     filename, |  | ||||||
|     // only allow JSON types in our YAML doc (will probably be default in YAML 1.3) |  | ||||||
|     // e.g. `true` will be parsed a boolean `true`, `True` will be parsed as string `"True"`. |  | ||||||
|     schema: JSON_SCHEMA, |  | ||||||
|   }) as JSONSchemaType<MermaidConfig>; |  | ||||||
|   return jsonSchema; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| export const getDefaults = (schema: JSONSchemaType<MermaidConfig>) => { |  | ||||||
|   return `export default ${JSON.stringify(generateDefaults(schema), undefined, 2)};`; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| export const getSchema = (schema: JSONSchemaType<MermaidConfig>) => { |  | ||||||
|   return `export default ${JSON.stringify(schema, undefined, 2)};`; |  | ||||||
| }; |  | ||||||
| @@ -1,28 +0,0 @@ | |||||||
| /* eslint-disable no-console */ |  | ||||||
| import { packageOptions } from './common.js'; |  | ||||||
| import { execSync } from 'child_process'; |  | ||||||
|  |  | ||||||
| const buildType = (packageName: string) => { |  | ||||||
|   console.log(`Building types for ${packageName}`); |  | ||||||
|   try { |  | ||||||
|     const out = execSync(`tsc -p ./packages/${packageName}/tsconfig.json --emitDeclarationOnly`); |  | ||||||
|     if (out.length > 0) { |  | ||||||
|       console.log(out.toString()); |  | ||||||
|     } |  | ||||||
|   } catch (e) { |  | ||||||
|     if (e.stdout.length > 0) { |  | ||||||
|       console.error(e.stdout.toString()); |  | ||||||
|     } |  | ||||||
|     if (e.stderr.length > 0) { |  | ||||||
|       console.error(e.stderr.toString()); |  | ||||||
|     } |  | ||||||
|     // Exit the build process if we are in CI |  | ||||||
|     if (process.env.CI) { |  | ||||||
|       throw new Error(`Failed to build types for ${packageName}`); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| for (const { packageName } of Object.values(packageOptions)) { |  | ||||||
|   buildType(packageName); |  | ||||||
| } |  | ||||||
| @@ -1,8 +0,0 @@ | |||||||
| # Changesets |  | ||||||
|  |  | ||||||
| Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works |  | ||||||
| with multi-package repos, or single-package repos to help you version and publish your code. You can |  | ||||||
| find the full documentation for it [in our repository](https://github.com/changesets/changesets) |  | ||||||
|  |  | ||||||
| We have a quick list of common questions to get you started engaging with this project in |  | ||||||
| [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| fix: Support edge animation in hand drawn look |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| fix: Resolved parsing error where direction TD was not recognized within subgraphs |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| fix: Correct viewBox casing and make SVGs responsive |  | ||||||
| @@ -1,12 +0,0 @@ | |||||||
| { |  | ||||||
|   "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json", |  | ||||||
|   "changelog": ["@changesets/changelog-github", { "repo": "mermaid-js/mermaid" }], |  | ||||||
|   "commit": false, |  | ||||||
|   "fixed": [], |  | ||||||
|   "linked": [], |  | ||||||
|   "access": "public", |  | ||||||
|   "baseBranch": "master", |  | ||||||
|   "updateInternalDependencies": "patch", |  | ||||||
|   "bumpVersionsWithWorkspaceProtocolOnly": true, |  | ||||||
|   "ignore": ["@mermaid-js/docs", "@mermaid-js/webpack-test", "@mermaid-js/mermaid-example-diagram"] |  | ||||||
| } |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| fix: Improve participant parsing and prevent recursive loops on invalid syntax |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| chore: Fix mindmap rendering in docs and apply tidytree layout |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| fix: Ensure edge label color is applied when using classDef with edge IDs |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': minor |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| feat: Add half-arrowheads (solid & stick) and central connection support |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| fix: Resolve gantt chart crash due to invalid array length |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': minor |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| feat: Add IDs in architecture diagrams |  | ||||||
| @@ -1,9 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| chore: revert marked dependency from ^15.0.7 to ^16.0.0 |  | ||||||
|  |  | ||||||
| - Reverted marked package version to ^16.0.0 for better compatibility |  | ||||||
| - This is a dependency update that maintains API compatibility |  | ||||||
| - All tests pass with the updated version |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| '@mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| fix: Mindmap breaking in ELK layout |  | ||||||
| @@ -1,5 +0,0 @@ | |||||||
| --- |  | ||||||
| 'mermaid': patch |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| fix(er-diagram): prevent syntax error when using 'u', numbers, and decimals in node names |  | ||||||
							
								
								
									
										3
									
								
								.commitlintrc.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.commitlintrc.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | { | ||||||
|  |   "extends": ["@commitlint/config-conventional"] | ||||||
|  | } | ||||||
| @@ -1,153 +0,0 @@ | |||||||
| # This file contains coding related terms |  | ||||||
| ALPHANUM |  | ||||||
| antiscript |  | ||||||
| APPLYCLASS |  | ||||||
| ARROWHEADSTYLE |  | ||||||
| ARROWTYPE |  | ||||||
| autonumber |  | ||||||
| axisl-line |  | ||||||
| Bigdecimal |  | ||||||
| birel |  | ||||||
| BIREL |  | ||||||
| bqstring |  | ||||||
| BQUOTE |  | ||||||
| bramp |  | ||||||
| BRKT |  | ||||||
| brotli |  | ||||||
| callbackargs |  | ||||||
| callbackname |  | ||||||
| classdef |  | ||||||
| classdefid |  | ||||||
| classentity |  | ||||||
| classname |  | ||||||
| COLONSEP |  | ||||||
| COMPOSIT_STATE |  | ||||||
| concat |  | ||||||
| controlx |  | ||||||
| controly |  | ||||||
| CSSCLASS |  | ||||||
| curv |  | ||||||
| CYLINDEREND |  | ||||||
| CYLINDERSTART |  | ||||||
| DAGA |  | ||||||
| datakey |  | ||||||
| DEND |  | ||||||
| descr |  | ||||||
| distp |  | ||||||
| distq |  | ||||||
| divs |  | ||||||
| docref |  | ||||||
| DOMID |  | ||||||
| doublecircle |  | ||||||
| DOUBLECIRCLEEND |  | ||||||
| DOUBLECIRCLESTART |  | ||||||
| DQUOTE |  | ||||||
| DSTART |  | ||||||
| edgesep |  | ||||||
| EMPTYSTR |  | ||||||
| enddate |  | ||||||
| ERDIAGRAM |  | ||||||
| eslint |  | ||||||
| flatmap |  | ||||||
| forwardable |  | ||||||
| frontmatter |  | ||||||
| funs |  | ||||||
| gantt |  | ||||||
| GENERICTYPE |  | ||||||
| grammr |  | ||||||
| graphtype |  | ||||||
| halign |  | ||||||
| iife |  | ||||||
| interp |  | ||||||
| introdcued |  | ||||||
| INVTRAPEND |  | ||||||
| INVTRAPSTART |  | ||||||
| JDBC |  | ||||||
| jison |  | ||||||
| Kaufmann |  | ||||||
| keyify |  | ||||||
| LABELPOS |  | ||||||
| LABELTYPE |  | ||||||
| layoutstop |  | ||||||
| lcov |  | ||||||
| LEFTOF |  | ||||||
| Lexa |  | ||||||
| linebreak |  | ||||||
| LINETYPE |  | ||||||
| LINKSTYLE |  | ||||||
| LLABEL |  | ||||||
| loglevel |  | ||||||
| LOGMSG |  | ||||||
| lookaheads |  | ||||||
| mdast |  | ||||||
| metafile |  | ||||||
| minlen |  | ||||||
| Mstartx |  | ||||||
| MULT |  | ||||||
| NODIR |  | ||||||
| NSTR |  | ||||||
| outdir |  | ||||||
| Qcontrolx |  | ||||||
| QSTR |  | ||||||
| reinit |  | ||||||
| rels |  | ||||||
| reqs |  | ||||||
| rewritelinks |  | ||||||
| rgba |  | ||||||
| RIGHTOF |  | ||||||
| roughjs |  | ||||||
| sankey |  | ||||||
| sequencenumber |  | ||||||
| shrc |  | ||||||
| signaltype |  | ||||||
| someclass |  | ||||||
| SPACELINE |  | ||||||
| SPACELIST |  | ||||||
| STADIUMEND |  | ||||||
| STADIUMSTART |  | ||||||
| startdate |  | ||||||
| startx |  | ||||||
| starty |  | ||||||
| STMNT |  | ||||||
| stopx |  | ||||||
| stopy |  | ||||||
| strikethrough |  | ||||||
| stringifying |  | ||||||
| struct |  | ||||||
| STYLECLASS |  | ||||||
| STYLEDEF |  | ||||||
| STYLEOPTS |  | ||||||
| subcomponent |  | ||||||
| subcomponents |  | ||||||
| subconfig |  | ||||||
| SUBROUTINEEND |  | ||||||
| SUBROUTINESTART |  | ||||||
| Subschemas |  | ||||||
| substr |  | ||||||
| SVGG |  | ||||||
| SVGSVG |  | ||||||
| TAGEND |  | ||||||
| TAGSTART |  | ||||||
| techn |  | ||||||
| TESTSTR |  | ||||||
| TEXTDATA |  | ||||||
| TEXTLENGTH |  | ||||||
| titlevalue |  | ||||||
| topbar |  | ||||||
| TRAPEND |  | ||||||
| TRAPSTART |  | ||||||
| treemap |  | ||||||
| ts-nocheck |  | ||||||
| tsdoc |  | ||||||
| typeof |  | ||||||
| typestr |  | ||||||
| unshift |  | ||||||
| urlsafe |  | ||||||
| verifymethod |  | ||||||
| VERIFYMTHD |  | ||||||
| WARN_DOCSDIR_DOESNT_MATCH |  | ||||||
| xhost |  | ||||||
| yaxis |  | ||||||
| yfunc |  | ||||||
| yytext |  | ||||||
| zenuml |  | ||||||
| @@ -1,12 +0,0 @@ | |||||||
| # Contributors to mermaidjs, one per line |  | ||||||
| Ashish Jain |  | ||||||
| cpettitt |  | ||||||
| Dong Cai |  | ||||||
| fourcube |  | ||||||
| knsv |  | ||||||
| Knut Sveidqvist |  | ||||||
| Nikolay Rozhkov |  | ||||||
| Peng Xiao |  | ||||||
| Per Brolin |  | ||||||
| Sidharth Vinod |  | ||||||
| subhash-halder |  | ||||||
| @@ -1,55 +0,0 @@ | |||||||
| # yaml-language-server: $schema=https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json |  | ||||||
|  |  | ||||||
| $schema: https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json |  | ||||||
|  |  | ||||||
| dictionaryDefinitions: |  | ||||||
|   - name: code-terms |  | ||||||
|     path: ./code-terms.txt |  | ||||||
|     description: A list of coding related terms. |  | ||||||
|     addWords: true |  | ||||||
|   - name: mermaid-terms |  | ||||||
|     path: ./mermaid-terms.txt |  | ||||||
|     description: A list of terms related to the mermaid project. |  | ||||||
|     addWords: true |  | ||||||
|   - name: misc-terms |  | ||||||
|     path: ./misc-terms.txt |  | ||||||
|     description: A list of miscellaneous terms. |  | ||||||
|   - name: 3rd-party-terms |  | ||||||
|     path: ./libraries.txt |  | ||||||
|     description: A list of 3rd party terms from dependencies. |  | ||||||
|     addWords: true |  | ||||||
|   - name: contributors |  | ||||||
|     path: ./contributors.txt |  | ||||||
|     description: A list of contributors to the mermaid project. |  | ||||||
|     type: 'W' |  | ||||||
|     addWords: true |  | ||||||
|  |  | ||||||
|   # cspell:disable |  | ||||||
|   - name: suggestions |  | ||||||
|     words: |  | ||||||
|       - none |  | ||||||
|       - disp |  | ||||||
|       - subproc |  | ||||||
|       - tria |  | ||||||
|     suggestWords: |  | ||||||
|       - seperator:separator |  | ||||||
|       - vertice:vertex |  | ||||||
|   # cspell:enable |  | ||||||
|  |  | ||||||
| patterns: |  | ||||||
|   - name: character-set-cyrillic |  | ||||||
|     pattern: '/\p{Script_Extensions=Cyrillic}+/gu' |  | ||||||
|   - name: svg-block |  | ||||||
|     pattern: '<svg[\S\s]+?</svg>' |  | ||||||
|   - name: json-property |  | ||||||
|     pattern: '/"[\w/@-]+":/g' |  | ||||||
|  |  | ||||||
| dictionaries: |  | ||||||
|   - mermaid-terms |  | ||||||
|   - suggestions |  | ||||||
|   - contributors |  | ||||||
|  |  | ||||||
| ignorePaths: |  | ||||||
|   - '*.txt' # do not spell check local dictionaries |  | ||||||
|  |  | ||||||
| # cspell:dictionary misc-terms |  | ||||||
| @@ -1,80 +0,0 @@ | |||||||
| # Add third party library terms below |  | ||||||
| acyclicer |  | ||||||
| Antlr |  | ||||||
| Appli |  | ||||||
| applitools |  | ||||||
| Asciidoctor |  | ||||||
| Astah |  | ||||||
| automerge |  | ||||||
| bilkent |  | ||||||
| bisheng |  | ||||||
| Blazor |  | ||||||
| codedoc |  | ||||||
| Codemia |  | ||||||
| codepaths |  | ||||||
| csstree |  | ||||||
| cytoscape |  | ||||||
| cytoscape-cose-bilkent |  | ||||||
| dagre |  | ||||||
| dagre-d3 |  | ||||||
| Deepdwn |  | ||||||
| Docsify |  | ||||||
| Docsy |  | ||||||
| Doctave |  | ||||||
| DokuWiki |  | ||||||
| dompurify |  | ||||||
| elkjs |  | ||||||
| fcose |  | ||||||
| fontawesome |  | ||||||
| Fonticons |  | ||||||
| Forgejo |  | ||||||
| Foswiki |  | ||||||
| Gitea |  | ||||||
| graphlib |  | ||||||
| Grav |  | ||||||
| icones |  | ||||||
| iconify |  | ||||||
| Inkdrop |  | ||||||
| jiti |  | ||||||
| jsdocs |  | ||||||
| jsfiddle |  | ||||||
| jsonschema |  | ||||||
| katex |  | ||||||
| khroma |  | ||||||
| langium |  | ||||||
| mathml |  | ||||||
| matplotlib |  | ||||||
| mdbook |  | ||||||
| Mermerd |  | ||||||
| mkdocs |  | ||||||
| Nextra |  | ||||||
| nodenext |  | ||||||
| npmjs |  | ||||||
| pageview |  | ||||||
| pathe |  | ||||||
| phpbb |  | ||||||
| pixelmatch |  | ||||||
| Podlite |  | ||||||
| presetAttributify |  | ||||||
| pyplot |  | ||||||
| redmine |  | ||||||
| rehype |  | ||||||
| roughjs |  | ||||||
| rscratch |  | ||||||
| shiki |  | ||||||
| Slidev |  | ||||||
| sparkline |  | ||||||
| sphinxcontrib |  | ||||||
| ssim |  | ||||||
| stylis |  | ||||||
| Swimm |  | ||||||
| tsbuildinfo |  | ||||||
| tseslint |  | ||||||
| Tuleap |  | ||||||
| Typora |  | ||||||
| unocss |  | ||||||
| unplugin |  | ||||||
| unstub |  | ||||||
| vite |  | ||||||
| vitest |  | ||||||
| Zune |  | ||||||
| @@ -1,45 +0,0 @@ | |||||||
| Adamiecki |  | ||||||
| arrowend |  | ||||||
| Bendpoints |  | ||||||
| bmatrix |  | ||||||
| braintree |  | ||||||
| catmull |  | ||||||
| compositTitleSize |  | ||||||
| cose |  | ||||||
| curv |  | ||||||
| doublecircle |  | ||||||
| elem |  | ||||||
| elems |  | ||||||
| gantt |  | ||||||
| gitgraph |  | ||||||
| gzipped |  | ||||||
| handDrawn |  | ||||||
| kanban |  | ||||||
| marginx |  | ||||||
| marginy |  | ||||||
| Markdownish |  | ||||||
| mermaidchart |  | ||||||
| mermaidjs |  | ||||||
| mindmap |  | ||||||
| mindmaps |  | ||||||
| mrtree |  | ||||||
| multigraph |  | ||||||
| nodesep |  | ||||||
| NOTEGROUP |  | ||||||
| Pinterest |  | ||||||
| procs |  | ||||||
| rankdir |  | ||||||
| ranksep |  | ||||||
| rect |  | ||||||
| rects |  | ||||||
| sandboxed |  | ||||||
| siebling |  | ||||||
| statediagram |  | ||||||
| substate |  | ||||||
| unfixable |  | ||||||
| Viewbox |  | ||||||
| viewports |  | ||||||
| visio |  | ||||||
| vitepress |  | ||||||
| xlink |  | ||||||
| xychart |  | ||||||
| @@ -1,8 +0,0 @@ | |||||||
| BRANDES |  | ||||||
| Buzan |  | ||||||
| circo |  | ||||||
| handDrawn |  | ||||||
| KOEPF |  | ||||||
| neato |  | ||||||
| newbranch |  | ||||||
| validify |  | ||||||
| @@ -1,107 +0,0 @@ | |||||||
| import { build } from 'esbuild'; |  | ||||||
| import { cp, mkdir, readFile, rename, writeFile } from 'node:fs/promises'; |  | ||||||
| import { packageOptions } from '../.build/common.js'; |  | ||||||
| import { generateLangium } from '../.build/generateLangium.js'; |  | ||||||
| import type { MermaidBuildOptions } from './util.js'; |  | ||||||
| import { defaultOptions, getBuildConfig } from './util.js'; |  | ||||||
|  |  | ||||||
| const shouldVisualize = process.argv.includes('--visualize'); |  | ||||||
|  |  | ||||||
| const buildPackage = async (entryName: keyof typeof packageOptions) => { |  | ||||||
|   const commonOptions: MermaidBuildOptions = { |  | ||||||
|     ...defaultOptions, |  | ||||||
|     options: packageOptions[entryName], |  | ||||||
|   } as const; |  | ||||||
|   const buildConfigs: MermaidBuildOptions[] = [ |  | ||||||
|     // package.mjs |  | ||||||
|     { ...commonOptions }, |  | ||||||
|     // package.min.mjs |  | ||||||
|     { |  | ||||||
|       ...commonOptions, |  | ||||||
|       minify: true, |  | ||||||
|       metafile: shouldVisualize, |  | ||||||
|     }, |  | ||||||
|     // package.core.mjs |  | ||||||
|     { ...commonOptions, core: true }, |  | ||||||
|   ]; |  | ||||||
|  |  | ||||||
|   if (entryName === 'mermaid') { |  | ||||||
|     const iifeOptions: MermaidBuildOptions = { ...commonOptions, format: 'iife' }; |  | ||||||
|     buildConfigs.push( |  | ||||||
|       // mermaid.js |  | ||||||
|       { ...iifeOptions }, |  | ||||||
|       // mermaid.min.js |  | ||||||
|       { ...iifeOptions, minify: true, metafile: shouldVisualize }, |  | ||||||
|       // mermaid.tiny.min.js |  | ||||||
|       { |  | ||||||
|         ...iifeOptions, |  | ||||||
|         minify: true, |  | ||||||
|         includeLargeFeatures: false, |  | ||||||
|         metafile: shouldVisualize, |  | ||||||
|         sourcemap: false, |  | ||||||
|       } |  | ||||||
|     ); |  | ||||||
|   } |  | ||||||
|   if (entryName === 'mermaid-zenuml') { |  | ||||||
|     const iifeOptions: MermaidBuildOptions = { |  | ||||||
|       ...commonOptions, |  | ||||||
|       format: 'iife', |  | ||||||
|       globalName: 'mermaid-zenuml', |  | ||||||
|     }; |  | ||||||
|     buildConfigs.push( |  | ||||||
|       // mermaid-zenuml.js |  | ||||||
|       { ...iifeOptions }, |  | ||||||
|       // mermaid-zenuml.min.js |  | ||||||
|       { ...iifeOptions, minify: true, metafile: shouldVisualize } |  | ||||||
|     ); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   const results = await Promise.all(buildConfigs.map((option) => build(getBuildConfig(option)))); |  | ||||||
|  |  | ||||||
|   if (shouldVisualize) { |  | ||||||
|     for (const { metafile } of results) { |  | ||||||
|       if (!metafile?.outputs) { |  | ||||||
|         continue; |  | ||||||
|       } |  | ||||||
|       const fileName = Object.keys(metafile.outputs) |  | ||||||
|         .find((file) => !file.includes('chunks') && file.endsWith('js'))! |  | ||||||
|         .replace('dist/', ''); |  | ||||||
|       // Upload metafile into https://esbuild.github.io/analyze/ |  | ||||||
|       await writeFile(`stats/${fileName}.meta.json`, JSON.stringify(metafile)); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| const handler = (e) => { |  | ||||||
|   // eslint-disable-next-line no-console |  | ||||||
|   console.error(e); |  | ||||||
|   process.exit(1); |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| const buildTinyMermaid = async () => { |  | ||||||
|   await mkdir('./packages/tiny/dist', { recursive: true }); |  | ||||||
|   await rename( |  | ||||||
|     './packages/mermaid/dist/mermaid.tiny.min.js', |  | ||||||
|     './packages/tiny/dist/mermaid.tiny.js' |  | ||||||
|   ); |  | ||||||
|   // Copy version from mermaid's package.json to tiny's package.json |  | ||||||
|   const mermaidPkg = JSON.parse(await readFile('./packages/mermaid/package.json', 'utf8')); |  | ||||||
|   const tinyPkg = JSON.parse(await readFile('./packages/tiny/package.json', 'utf8')); |  | ||||||
|   tinyPkg.version = mermaidPkg.version; |  | ||||||
|  |  | ||||||
|   await writeFile('./packages/tiny/package.json', JSON.stringify(tinyPkg, null, 2) + '\n'); |  | ||||||
|   await cp('./packages/mermaid/CHANGELOG.md', './packages/tiny/CHANGELOG.md'); |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| const main = async () => { |  | ||||||
|   await generateLangium(); |  | ||||||
|   await mkdir('stats', { recursive: true }); |  | ||||||
|   const packageNames = Object.keys(packageOptions) as (keyof typeof packageOptions)[]; |  | ||||||
|   // it should build `parser` before `mermaid` because it's a dependency |  | ||||||
|   for (const pkg of packageNames) { |  | ||||||
|     await buildPackage(pkg).catch(handler); |  | ||||||
|   } |  | ||||||
|   await buildTinyMermaid(); |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| void main(); |  | ||||||
| @@ -1,15 +0,0 @@ | |||||||
| import { readFile } from 'node:fs/promises'; |  | ||||||
| import { transformJison } from '../.build/jisonTransformer.js'; |  | ||||||
| import type { Plugin } from 'esbuild'; |  | ||||||
|  |  | ||||||
| export const jisonPlugin: Plugin = { |  | ||||||
|   name: 'jison', |  | ||||||
|   setup(build) { |  | ||||||
|     build.onLoad({ filter: /\.jison$/ }, async (args) => { |  | ||||||
|       // Load the file from the file system |  | ||||||
|       const source = await readFile(args.path, 'utf8'); |  | ||||||
|       const contents = transformJison(source); |  | ||||||
|       return { contents, warnings: [] }; |  | ||||||
|     }); |  | ||||||
|   }, |  | ||||||
| }; |  | ||||||
| @@ -1,35 +0,0 @@ | |||||||
| import type { JSONSchemaType } from 'ajv/dist/2019.js'; |  | ||||||
| import type { MermaidConfig } from '../packages/mermaid/src/config.type.js'; |  | ||||||
| import { readFile } from 'node:fs/promises'; |  | ||||||
| import { getDefaults, getSchema, loadSchema } from '../.build/jsonSchema.js'; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * ESBuild plugin that handles JSON Schemas saved as a `.schema.yaml` file. |  | ||||||
|  * |  | ||||||
|  * Use `my-example.schema.yaml?only-defaults=true` to only load the default values. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| export const jsonSchemaPlugin = { |  | ||||||
|   name: 'json-schema-plugin', |  | ||||||
|   setup(build) { |  | ||||||
|     let schema: JSONSchemaType<MermaidConfig> | undefined = undefined; |  | ||||||
|     let content = ''; |  | ||||||
|  |  | ||||||
|     build.onLoad({ filter: /config\.schema\.yaml$/ }, async (args) => { |  | ||||||
|       // Load the file from the file system |  | ||||||
|       const source = await readFile(args.path, 'utf8'); |  | ||||||
|       const resolvedSchema: JSONSchemaType<MermaidConfig> = |  | ||||||
|         content === source && schema ? schema : loadSchema(source, args.path); |  | ||||||
|       if (content !== source) { |  | ||||||
|         content = source; |  | ||||||
|         schema = resolvedSchema; |  | ||||||
|       } |  | ||||||
|       const contents = args.suffix.includes('only-defaults') |  | ||||||
|         ? getDefaults(resolvedSchema) |  | ||||||
|         : getSchema(resolvedSchema); |  | ||||||
|       return { contents, warnings: [] }; |  | ||||||
|     }); |  | ||||||
|   }, |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| export default jsonSchemaPlugin; |  | ||||||
| @@ -1,122 +0,0 @@ | |||||||
| /* eslint-disable no-console */ |  | ||||||
| import chokidar from 'chokidar'; |  | ||||||
| import cors from 'cors'; |  | ||||||
| import { context } from 'esbuild'; |  | ||||||
| import type { Request, Response } from 'express'; |  | ||||||
| import express from 'express'; |  | ||||||
| import { packageOptions } from '../.build/common.js'; |  | ||||||
| import { generateLangium } from '../.build/generateLangium.js'; |  | ||||||
| import { defaultOptions, getBuildConfig } from './util.js'; |  | ||||||
|  |  | ||||||
| const configs = Object.values(packageOptions).map(({ packageName }) => |  | ||||||
|   getBuildConfig({ |  | ||||||
|     ...defaultOptions, |  | ||||||
|     minify: false, |  | ||||||
|     core: false, |  | ||||||
|     options: packageOptions[packageName], |  | ||||||
|   }) |  | ||||||
| ); |  | ||||||
| const mermaidIIFEConfig = getBuildConfig({ |  | ||||||
|   ...defaultOptions, |  | ||||||
|   minify: false, |  | ||||||
|   core: false, |  | ||||||
|   options: packageOptions.mermaid, |  | ||||||
|   format: 'iife', |  | ||||||
| }); |  | ||||||
| configs.push(mermaidIIFEConfig); |  | ||||||
|  |  | ||||||
| const contexts = await Promise.all( |  | ||||||
|   configs.map(async (config) => ({ config, context: await context(config) })) |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| let rebuildCounter = 1; |  | ||||||
| const rebuildAll = async () => { |  | ||||||
|   const buildNumber = rebuildCounter++; |  | ||||||
|   const timeLabel = `Rebuild ${buildNumber} Time (total)`; |  | ||||||
|   console.time(timeLabel); |  | ||||||
|   await Promise.all( |  | ||||||
|     contexts.map(async ({ config, context }) => { |  | ||||||
|       const buildVariant = `Rebuild ${buildNumber} Time (${Object.keys(config.entryPoints!)[0]} ${config.format})`; |  | ||||||
|       console.time(buildVariant); |  | ||||||
|       await context.rebuild(); |  | ||||||
|       console.timeEnd(buildVariant); |  | ||||||
|     }) |  | ||||||
|   ).catch((e) => console.error(e)); |  | ||||||
|   console.timeEnd(timeLabel); |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| let clients: { id: number; response: Response }[] = []; |  | ||||||
| function eventsHandler(request: Request, response: Response) { |  | ||||||
|   const headers = { |  | ||||||
|     'Content-Type': 'text/event-stream', |  | ||||||
|     Connection: 'keep-alive', |  | ||||||
|     'Cache-Control': 'no-cache', |  | ||||||
|   }; |  | ||||||
|   response.writeHead(200, headers); |  | ||||||
|   const clientId = Date.now(); |  | ||||||
|   clients.push({ |  | ||||||
|     id: clientId, |  | ||||||
|     response, |  | ||||||
|   }); |  | ||||||
|   request.on('close', () => { |  | ||||||
|     clients = clients.filter((client) => client.id !== clientId); |  | ||||||
|   }); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| let timeoutID: NodeJS.Timeout | undefined = undefined; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Debounce file change events to avoid rebuilding multiple times. |  | ||||||
|  */ |  | ||||||
| function handleFileChange() { |  | ||||||
|   if (timeoutID !== undefined) { |  | ||||||
|     clearTimeout(timeoutID); |  | ||||||
|   } |  | ||||||
|   // eslint-disable-next-line @typescript-eslint/no-misused-promises |  | ||||||
|   timeoutID = setTimeout(async () => { |  | ||||||
|     await rebuildAll(); |  | ||||||
|     sendEventsToAll(); |  | ||||||
|     timeoutID = undefined; |  | ||||||
|   }, 100); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function sendEventsToAll() { |  | ||||||
|   clients.forEach(({ response }) => response.write(`data: ${Date.now()}\n\n`)); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| async function createServer() { |  | ||||||
|   await generateLangium(); |  | ||||||
|   handleFileChange(); |  | ||||||
|   const app = express(); |  | ||||||
|   chokidar |  | ||||||
|     .watch('**/src/**/*.{js,ts,langium,yaml,json}', { |  | ||||||
|       ignoreInitial: true, |  | ||||||
|       ignored: [/node_modules/, /dist/, /docs/, /coverage/], |  | ||||||
|     }) |  | ||||||
|     // eslint-disable-next-line @typescript-eslint/no-misused-promises |  | ||||||
|     .on('all', async (event, path) => { |  | ||||||
|       // Ignore other events. |  | ||||||
|       if (!['add', 'change'].includes(event)) { |  | ||||||
|         return; |  | ||||||
|       } |  | ||||||
|       console.log(`${path} changed. Rebuilding...`); |  | ||||||
|       if (path.endsWith('.langium')) { |  | ||||||
|         await generateLangium(); |  | ||||||
|       } |  | ||||||
|       handleFileChange(); |  | ||||||
|     }); |  | ||||||
|  |  | ||||||
|   app.use(cors()); |  | ||||||
|   app.get('/events', eventsHandler); |  | ||||||
|   for (const { packageName } of Object.values(packageOptions)) { |  | ||||||
|     app.use(express.static(`./packages/${packageName}/dist`)); |  | ||||||
|   } |  | ||||||
|   app.use(express.static('demos')); |  | ||||||
|   app.use(express.static('cypress/platform')); |  | ||||||
|  |  | ||||||
|   app.listen(9000, () => { |  | ||||||
|     console.log(`Listening on http://localhost:9000`); |  | ||||||
|   }); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| void createServer(); |  | ||||||
							
								
								
									
										119
									
								
								.esbuild/util.ts
									
									
									
									
									
								
							
							
						
						
									
										119
									
								
								.esbuild/util.ts
									
									
									
									
									
								
							| @@ -1,119 +0,0 @@ | |||||||
| import { resolve } from 'path'; |  | ||||||
| import { fileURLToPath } from 'url'; |  | ||||||
| import type { BuildOptions } from 'esbuild'; |  | ||||||
| import { readFileSync } from 'fs'; |  | ||||||
| import jsonSchemaPlugin from './jsonSchemaPlugin.js'; |  | ||||||
| import type { PackageOptions } from '../.build/common.js'; |  | ||||||
| import { jisonPlugin } from './jisonPlugin.js'; |  | ||||||
|  |  | ||||||
| const __dirname = fileURLToPath(new URL('.', import.meta.url)); |  | ||||||
|  |  | ||||||
| export interface MermaidBuildOptions extends BuildOptions { |  | ||||||
|   minify: boolean; |  | ||||||
|   core: boolean; |  | ||||||
|   metafile: boolean; |  | ||||||
|   format: 'esm' | 'iife'; |  | ||||||
|   options: PackageOptions; |  | ||||||
|   includeLargeFeatures: boolean; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| export const defaultOptions: Omit<MermaidBuildOptions, 'entryName' | 'options'> = { |  | ||||||
|   minify: false, |  | ||||||
|   metafile: false, |  | ||||||
|   core: false, |  | ||||||
|   format: 'esm', |  | ||||||
|   includeLargeFeatures: true, |  | ||||||
| } as const; |  | ||||||
|  |  | ||||||
| const buildOptions = (override: BuildOptions): BuildOptions => { |  | ||||||
|   return { |  | ||||||
|     bundle: true, |  | ||||||
|     minify: true, |  | ||||||
|     keepNames: true, |  | ||||||
|     platform: 'browser', |  | ||||||
|     tsconfig: 'tsconfig.json', |  | ||||||
|     resolveExtensions: ['.ts', '.js', '.json', '.jison', '.yaml'], |  | ||||||
|     external: ['require', 'fs', 'path'], |  | ||||||
|     outdir: 'dist', |  | ||||||
|     plugins: [jisonPlugin, jsonSchemaPlugin], |  | ||||||
|     sourcemap: 'external', |  | ||||||
|     ...override, |  | ||||||
|   }; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| const getFileName = ( |  | ||||||
|   fileName: string, |  | ||||||
|   { core, format, minify, includeLargeFeatures }: MermaidBuildOptions |  | ||||||
| ) => { |  | ||||||
|   if (core) { |  | ||||||
|     fileName += '.core'; |  | ||||||
|   } else if (format === 'esm') { |  | ||||||
|     fileName += '.esm'; |  | ||||||
|   } |  | ||||||
|   if (!includeLargeFeatures) { |  | ||||||
|     fileName += '.tiny'; |  | ||||||
|   } |  | ||||||
|   if (minify) { |  | ||||||
|     fileName += '.min'; |  | ||||||
|   } |  | ||||||
|   return fileName; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| export const getBuildConfig = (options: MermaidBuildOptions): BuildOptions => { |  | ||||||
|   const { |  | ||||||
|     core, |  | ||||||
|     format, |  | ||||||
|     options: { name, file, packageName }, |  | ||||||
|     globalName = 'mermaid', |  | ||||||
|     includeLargeFeatures, |  | ||||||
|     ...rest |  | ||||||
|   } = options; |  | ||||||
|  |  | ||||||
|   const external: string[] = ['require', 'fs', 'path']; |  | ||||||
|   const outFileName = getFileName(name, options); |  | ||||||
|   const output: BuildOptions = buildOptions({ |  | ||||||
|     ...rest, |  | ||||||
|     absWorkingDir: resolve(__dirname, `../packages/${packageName}`), |  | ||||||
|     entryPoints: { |  | ||||||
|       [outFileName]: `src/${file}`, |  | ||||||
|     }, |  | ||||||
|     globalName, |  | ||||||
|     logLevel: 'info', |  | ||||||
|     chunkNames: `chunks/${outFileName}/[name]-[hash]`, |  | ||||||
|     define: { |  | ||||||
|       // This needs to be stringified for esbuild |  | ||||||
|       includeLargeFeatures: `${includeLargeFeatures}`, |  | ||||||
|       'import.meta.vitest': 'undefined', |  | ||||||
|     }, |  | ||||||
|   }); |  | ||||||
|  |  | ||||||
|   if (core) { |  | ||||||
|     const { dependencies } = JSON.parse( |  | ||||||
|       readFileSync(resolve(__dirname, `../packages/${packageName}/package.json`), 'utf-8') |  | ||||||
|     ); |  | ||||||
|     // Core build is used to generate file without bundled dependencies. |  | ||||||
|     // This is used by downstream projects to bundle dependencies themselves. |  | ||||||
|     // Ignore dependencies and any dependencies of dependencies |  | ||||||
|     external.push(...Object.keys(dependencies)); |  | ||||||
|     output.external = external; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   if (format === 'iife') { |  | ||||||
|     output.format = 'iife'; |  | ||||||
|     output.splitting = false; |  | ||||||
|     const originalGlobalName = output.globalName ?? 'mermaid'; |  | ||||||
|     output.globalName = `__esbuild_esm_mermaid_nm[${JSON.stringify(originalGlobalName)}]`; |  | ||||||
|     // Workaround for removing the .default access in esbuild IIFE. |  | ||||||
|     // https://github.com/mermaid-js/mermaid/pull/4109#discussion_r1292317396 |  | ||||||
|     output.footer = { |  | ||||||
|       js: `globalThis[${JSON.stringify(originalGlobalName)}] = globalThis.${output.globalName}.default;`, |  | ||||||
|     }; |  | ||||||
|     output.outExtension = { '.js': '.js' }; |  | ||||||
|   } else { |  | ||||||
|     output.format = 'esm'; |  | ||||||
|     output.splitting = true; |  | ||||||
|     output.outExtension = { '.js': '.mjs' }; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   return output; |  | ||||||
| }; |  | ||||||
							
								
								
									
										6
									
								
								.eslintignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.eslintignore
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | dist/** | ||||||
|  | .github/** | ||||||
|  | docs/Setup.md | ||||||
|  | cypress.config.js | ||||||
|  | cypress/plugins/index.js | ||||||
|  | coverage | ||||||
							
								
								
									
										76
									
								
								.eslintrc.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								.eslintrc.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | |||||||
|  | { | ||||||
|  |   "env": { | ||||||
|  |     "browser": true, | ||||||
|  |     "es6": true, | ||||||
|  |     "jest/globals": true, | ||||||
|  |     "node": true | ||||||
|  |   }, | ||||||
|  |   "parser": "@typescript-eslint/parser", | ||||||
|  |   "parserOptions": { | ||||||
|  |     "ecmaFeatures": { | ||||||
|  |       "experimentalObjectRestSpread": true, | ||||||
|  |       "jsx": true | ||||||
|  |     }, | ||||||
|  |     "sourceType": "module" | ||||||
|  |   }, | ||||||
|  |   "extends": [ | ||||||
|  |     "eslint:recommended", | ||||||
|  |     "plugin:@typescript-eslint/recommended", | ||||||
|  |     "plugin:jsdoc/recommended", | ||||||
|  |     "plugin:json/recommended", | ||||||
|  |     "plugin:markdown/recommended", | ||||||
|  |     "prettier" | ||||||
|  |   ], | ||||||
|  |   "plugins": ["@typescript-eslint", "html", "jest", "jsdoc", "json"], | ||||||
|  |   "rules": { | ||||||
|  |     "no-console": "error", | ||||||
|  |     "no-prototype-builtins": "off", | ||||||
|  |     "no-unused-vars": "off", | ||||||
|  |     "jsdoc/check-indentation": "off", | ||||||
|  |     "jsdoc/check-alignment": "off", | ||||||
|  |     "jsdoc/check-line-alignment": "off", | ||||||
|  |     "jsdoc/multiline-blocks": "off", | ||||||
|  |     "jsdoc/newline-after-description": "off", | ||||||
|  |     "jsdoc/tag-lines": "off", | ||||||
|  |     "jsdoc/require-param-description": "off", | ||||||
|  |     "jsdoc/require-param-type": "off", | ||||||
|  |     "jsdoc/require-returns": "off", | ||||||
|  |     "jsdoc/require-returns-description": "off", | ||||||
|  |     "cypress/no-async-tests": "off", | ||||||
|  |     "@typescript-eslint/ban-ts-comment": [ | ||||||
|  |       "error", | ||||||
|  |       { | ||||||
|  |         "ts-expect-error": "allow-with-description", | ||||||
|  |         "ts-ignore": "allow-with-description", | ||||||
|  |         "ts-nocheck": "allow-with-description", | ||||||
|  |         "ts-check": "allow-with-description", | ||||||
|  |         "minimumDescriptionLength": 10 | ||||||
|  |       } | ||||||
|  |     ], | ||||||
|  |     "json/*": ["error", "allowComments"], | ||||||
|  |     "no-empty": ["error", { "allowEmptyCatch": true }] | ||||||
|  |   }, | ||||||
|  |   "overrides": [ | ||||||
|  |     { | ||||||
|  |       "files": ["cypress/**", "demos/**"], | ||||||
|  |       "rules": { | ||||||
|  |         "no-console": "off" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "files": ["*.spec.{ts,js}", "cypress/**", "demos/**", "**/docs/**"], | ||||||
|  |       "rules": { | ||||||
|  |         "jsdoc/require-jsdoc": "off", | ||||||
|  |         "@typescript-eslint/no-unused-vars": "off" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "files": ["*.html", "*.md", "**/*.md/*"], | ||||||
|  |       "rules": { | ||||||
|  |         "no-var": "error", | ||||||
|  |         "no-undef": "off", | ||||||
|  |         "@typescript-eslint/no-unused-vars": "off" | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
							
								
								
									
										4
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,8 +1,6 @@ | |||||||
| # These are supported funding model platforms | # These are supported funding model platforms | ||||||
|  |  | ||||||
| github: | github: [knsv] | ||||||
|   - knsv |  | ||||||
|   - sidharthv96 |  | ||||||
| #patreon: # Replace with a single Patreon username | #patreon: # Replace with a single Patreon username | ||||||
| #open_collective: # Replace with a single Open Collective username | #open_collective: # Replace with a single Open Collective username | ||||||
| #ko_fi: # Replace with a single Ko-fi username | #ko_fi: # Replace with a single Ko-fi username | ||||||
|   | |||||||
							
								
								
									
										43
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | |||||||
|  | --- | ||||||
|  | name: Bug report | ||||||
|  | about: Create a report to help us improve | ||||||
|  | title: '' | ||||||
|  | labels: 'Status: Triage, Type: Bug / Error' | ||||||
|  | assignees: '' | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | **Describe the bug** | ||||||
|  | A clear and concise description of what the bug is. | ||||||
|  |  | ||||||
|  | **To Reproduce** | ||||||
|  | Steps to reproduce the behavior: | ||||||
|  |  | ||||||
|  | 1. Go to '...' | ||||||
|  | 2. Click on '....' | ||||||
|  | 3. Scroll down to '....' | ||||||
|  | 4. See error | ||||||
|  |  | ||||||
|  | **Expected behavior** | ||||||
|  | A clear and concise description of what you expected to happen. | ||||||
|  |  | ||||||
|  | **Screenshots** | ||||||
|  | If applicable, add screenshots to help explain your problem. | ||||||
|  |  | ||||||
|  | **Code Sample** | ||||||
|  | If applicable, add the code sample or a link to the [live editor](https://mermaid.live). | ||||||
|  |  | ||||||
|  | **Desktop (please complete the following information):** | ||||||
|  |  | ||||||
|  | - OS: [e.g. iOS] | ||||||
|  | - Browser [e.g. chrome, safari] | ||||||
|  | - Version [e.g. 22] | ||||||
|  |  | ||||||
|  | **Smartphone (please complete the following information):** | ||||||
|  |  | ||||||
|  | - Device: [e.g. iPhone6] | ||||||
|  | - OS: [e.g. iOS8.1] | ||||||
|  | - Browser [e.g. stock browser, safari] | ||||||
|  | - Version [e.g. 22] | ||||||
|  |  | ||||||
|  | **Additional context** | ||||||
|  | Add any other context about the problem here. | ||||||
							
								
								
									
										73
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										73
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,73 +0,0 @@ | |||||||
| name: Bug Report |  | ||||||
| description: Create a report to help us improve |  | ||||||
| labels: |  | ||||||
|   - 'Status: Triage' |  | ||||||
|   - 'Type: Bug / Error' |  | ||||||
|  |  | ||||||
| body: |  | ||||||
|   - type: markdown |  | ||||||
|     attributes: |  | ||||||
|       value: |- |  | ||||||
|         ## Security vulnerabilities |  | ||||||
|         Please refer our [Security Policy](https://github.com/mermaid-js/.github/blob/main/SECURITY.md) and report to keep vulnerabilities confidential so we can release fixes first. |  | ||||||
|  |  | ||||||
|         ## Before you submit... |  | ||||||
|         We like to help you, but in order to do that should you make a few things first: |  | ||||||
|  |  | ||||||
|         - Use a clear and concise title |  | ||||||
|         - Fill out the text fields with as much detail as possible. |  | ||||||
|         - Never be shy to give us screenshots and/or code samples. It will help! |  | ||||||
|  |  | ||||||
|         There is a chance that the bug is already fixed in the git `develop` branch, but is not released yet.  |  | ||||||
|         So please check in [Live Editor - Develop](https://develop.git.mermaid.live) before raising an issue. |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Description |  | ||||||
|       description: Give a clear and concise description of what the bug is. |  | ||||||
|       placeholder: When I do ... does ... happen. |  | ||||||
|     validations: |  | ||||||
|       required: true |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Steps to reproduce |  | ||||||
|       description: Give a step-by-step example on how to reproduce the bug. |  | ||||||
|       placeholder: |- |  | ||||||
|         1. Do this |  | ||||||
|         2. Do that |  | ||||||
|         3. ... |  | ||||||
|         4. Bug! |  | ||||||
|     validations: |  | ||||||
|       required: true |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Screenshots |  | ||||||
|       description: If applicable, add screenshots to help explain your issue. |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Code Sample |  | ||||||
|       description: |- |  | ||||||
|         If applicable, add the code sample or a link to the [Live Editor - Develop](https://develop.git.mermaid.live). |  | ||||||
|         Any text pasted here will be rendered as a Code block. |  | ||||||
|       render: text |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Setup |  | ||||||
|       description: |- |  | ||||||
|         Please fill out the info below. |  | ||||||
|         Note that you only need to fill out the relevant section |  | ||||||
|       value: |- |  | ||||||
|         - Mermaid version: |  | ||||||
|         - Browser and Version: [Chrome, Edge, Firefox] |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Suggested Solutions |  | ||||||
|       description: > |  | ||||||
|         If applicable, suggest solutions that could resolve the bug. |  | ||||||
|         It would help maintainers/contributors to not waste time looking for the solution. Even pointing the line causing the bug would be great! |  | ||||||
|       placeholder: |- |  | ||||||
|         - Variable `parser` in file <filepath> is not initialised ... |  | ||||||
|         - Add a new type for ... |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Additional Context |  | ||||||
|       description: Anything else to add? |  | ||||||
							
								
								
									
										20
									
								
								.github/ISSUE_TEMPLATE/config.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/ISSUE_TEMPLATE/config.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | |||||||
| blank_issues_enabled: true |  | ||||||
| contact_links: |  | ||||||
|   - name: GitHub Discussions |  | ||||||
|     url: https://github.com/mermaid-js/mermaid/discussions |  | ||||||
|     about: Ask the Community questions or share your own graphs in our discussions. |  | ||||||
|   - name: Discord |  | ||||||
|     url: https://discord.gg/sKeNQX4Wtj |  | ||||||
|     about: Join our Community on Discord for Help and a casual chat. |  | ||||||
|   - name: Documentation |  | ||||||
|     url: https://mermaid.js.org |  | ||||||
|     about: Read our documentation for all that Mermaid.js can offer. |  | ||||||
|   - name: Live Editor |  | ||||||
|     url: https://mermaid.live |  | ||||||
|     about: Try the live editor to preview graphs in no time. |  | ||||||
|   - name: Live Editor - Develop |  | ||||||
|     url: https://develop.git.mermaid.live |  | ||||||
|     about: Try unreleased changes in the develop branch. |  | ||||||
|   - name: Live Editor - Next |  | ||||||
|     url: https://next.git.mermaid.live |  | ||||||
|     about: Try unreleased changes in the next branch. |  | ||||||
							
								
								
									
										60
									
								
								.github/ISSUE_TEMPLATE/diagram_proposal.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										60
									
								
								.github/ISSUE_TEMPLATE/diagram_proposal.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,60 +0,0 @@ | |||||||
| name: Diagram Proposal |  | ||||||
| description: Suggest a new Diagram Type to add to Mermaid. |  | ||||||
| labels: |  | ||||||
|   - 'Status: Triage' |  | ||||||
|   - 'Type: Enhancement' |  | ||||||
|   - 'Type: New Diagram' |  | ||||||
|  |  | ||||||
| body: |  | ||||||
|   - type: markdown |  | ||||||
|     attributes: |  | ||||||
|       value: |- |  | ||||||
|         ## Before you submit... |  | ||||||
|         First of all, thank you for proposing a new Diagram to us. |  | ||||||
|         We are always happy about new ideas to improve Mermaid.js wherever possible. |  | ||||||
|  |  | ||||||
|         To get the fastest and best response possible, make sure you do the following: |  | ||||||
|  |  | ||||||
|         - Use a clear and concise title |  | ||||||
|         - Fill out the text fields with as much detail as possible. |  | ||||||
|         - Never be shy to give us screenshots and/or code samples. It will help! |  | ||||||
|  |  | ||||||
|         ## Example issues |  | ||||||
|  |  | ||||||
|         Refer to the discussions here to get an idea of how the diagram syntax is created. |  | ||||||
|  |  | ||||||
|         - https://github.com/mermaid-js/mermaid/issues/4269 |  | ||||||
|         - https://github.com/mermaid-js/mermaid/issues/4282 |  | ||||||
|  |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Proposal |  | ||||||
|       description: A clear and concise description of what should be added to Mermaid.js. |  | ||||||
|       placeholder: Mermaid.js should add ... because ... |  | ||||||
|     validations: |  | ||||||
|       required: true |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Use Cases |  | ||||||
|       description: If applicable, give some use cases for where this diagram would be useful. |  | ||||||
|       placeholder: The Diagram could be used for ... |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Screenshots |  | ||||||
|       description: If applicable, add screenshots to show possible examples of how the diagram may look like. |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Syntax |  | ||||||
|       description: |- |  | ||||||
|         If possible, include a syntax which could be used to write the diagram. |  | ||||||
|         Try to add one or two examples of valid use-cases here. |  | ||||||
|   - type: dropdown |  | ||||||
|     id: implementation |  | ||||||
|     attributes: |  | ||||||
|       label: Implementation |  | ||||||
|       description: |- |  | ||||||
|         Would you like to implement this yourself, or is it a proposal for the community? |  | ||||||
|         If there is no corresponding PR from your side after 30 days, the diagram will be open for everyone to implement. |  | ||||||
|       options: |  | ||||||
|         - I will try and implement it myself. |  | ||||||
|         - This is a proposal which I'd love to see built into mermaid by the wonderful community. |  | ||||||
							
								
								
									
										19
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | --- | ||||||
|  | name: Feature request | ||||||
|  | about: Suggest an idea for this project | ||||||
|  | title: '' | ||||||
|  | labels: 'Status: Triage, Type: Enhancement' | ||||||
|  | assignees: '' | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | **Is your feature request related to a problem? Please describe.** | ||||||
|  | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] | ||||||
|  |  | ||||||
|  | **Describe the solution you'd like** | ||||||
|  | A clear and concise description of what you want to happen. | ||||||
|  |  | ||||||
|  | **Describe alternatives you've considered** | ||||||
|  | A clear and concise description of any alternative solutions or features you've considered. | ||||||
|  |  | ||||||
|  | **Additional context** | ||||||
|  | Add any other context or screenshots about the feature request here. | ||||||
							
								
								
									
										16
									
								
								.github/ISSUE_TEMPLATE/question.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								.github/ISSUE_TEMPLATE/question.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | --- | ||||||
|  | name: Question | ||||||
|  | about: Get some help from the community. | ||||||
|  | title: '' | ||||||
|  | labels: 'Help wanted!, Type: Other' | ||||||
|  | assignees: '' | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | ## Help us help you! | ||||||
|  |  | ||||||
|  | You want an answer. Here are some ways to get it quicker: | ||||||
|  |  | ||||||
|  | - Use a clear and concise title. | ||||||
|  | - Try to pose a clear and concise question. | ||||||
|  | - Include as much, or as little, code as necessary. | ||||||
|  | - Don't be shy to give us some screenshots, if it helps! | ||||||
							
								
								
									
										34
									
								
								.github/ISSUE_TEMPLATE/syntax_proposal.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								.github/ISSUE_TEMPLATE/syntax_proposal.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,34 +0,0 @@ | |||||||
| name: Syntax Proposal |  | ||||||
| description: Suggest a new Syntax to add to Mermaid.js. |  | ||||||
| labels: |  | ||||||
|   - 'Status: Triage' |  | ||||||
|   - 'Type: Enhancement' |  | ||||||
|  |  | ||||||
| body: |  | ||||||
|   - type: markdown |  | ||||||
|     attributes: |  | ||||||
|       value: |- |  | ||||||
|         ## Before you submit... |  | ||||||
|         First of all, thank you for proposing a new Syntax to us. |  | ||||||
|         We are always happy about new ideas to improve Mermaid.js wherever possible. |  | ||||||
|  |  | ||||||
|         To get the fastest and best response possible, make sure you do the following: |  | ||||||
|  |  | ||||||
|         - Use a clear and concise title |  | ||||||
|         - Fill out the text fields with as much detail as possible. Examples are always welcome. |  | ||||||
|         - Never be shy to give us screenshots and/or code samples. It will help! |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Proposal |  | ||||||
|       description: A clear and concise description of what Syntax should be added to Mermaid.js. |  | ||||||
|       placeholder: Mermaid.js should add ... because ... |  | ||||||
|     validations: |  | ||||||
|       required: true |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Example |  | ||||||
|       description: If applicable, provide an example of the new Syntax. |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Screenshots |  | ||||||
|       description: If applicable, add screenshots to show possible examples of how the theme may look like. |  | ||||||
							
								
								
									
										42
									
								
								.github/ISSUE_TEMPLATE/theme_proposal.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										42
									
								
								.github/ISSUE_TEMPLATE/theme_proposal.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,42 +0,0 @@ | |||||||
| name: Theme Proposal |  | ||||||
| description: Suggest a new theme to add to Mermaid.js. |  | ||||||
| labels: |  | ||||||
|   - 'Status: Triage' |  | ||||||
|   - 'Type: Enhancement' |  | ||||||
|  |  | ||||||
| body: |  | ||||||
|   - type: markdown |  | ||||||
|     attributes: |  | ||||||
|       value: |- |  | ||||||
|         ## Before you submit... |  | ||||||
|         First of all, thank you for proposing a new Theme to us. |  | ||||||
|         We are always happy about new ideas to improve Mermaid.js wherever possible. |  | ||||||
|  |  | ||||||
|         To get the fastest and best response possible, make sure you do the following: |  | ||||||
|  |  | ||||||
|         - Use a clear and concise title |  | ||||||
|         - Fill out the text fields with as much detail as possible. Examples are always welcome! |  | ||||||
|         - Never be shy to give us screenshots and/or code samples. It will help! |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Proposal |  | ||||||
|       description: A clear and concise description of what theme should be added to Mermaid.js. |  | ||||||
|       placeholder: Mermaid.js should add ... because ... |  | ||||||
|     validations: |  | ||||||
|       required: true |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Colors |  | ||||||
|       description: |- |  | ||||||
|         A detailed list of the different colour values to use. |  | ||||||
|         See the [list of currently used variable names](https://mermaid-js.github.io/mermaid/#/theming?id=theme-variables-reference-table) |  | ||||||
|       placeholder: |- |  | ||||||
|         - background: #f4f4f4 |  | ||||||
|         - primaryColor: #fff4dd |  | ||||||
|         - ... |  | ||||||
|     validations: |  | ||||||
|       required: true |  | ||||||
|   - type: textarea |  | ||||||
|     attributes: |  | ||||||
|       label: Screenshots |  | ||||||
|       description: If applicable, add screenshots to show possible examples of how the theme may look like. |  | ||||||
							
								
								
									
										18
									
								
								.github/codecov.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/codecov.yaml
									
									
									
									
										vendored
									
									
								
							| @@ -1,18 +0,0 @@ | |||||||
| codecov: |  | ||||||
|   branch: develop |  | ||||||
|  |  | ||||||
| comment: |  | ||||||
|   layout: 'reach, diff, flags, files' |  | ||||||
|   behavior: default |  | ||||||
|   require_changes: false # if true: only post the comment if coverage changes |  | ||||||
|   require_base: no # [yes :: must have a base report to post] |  | ||||||
|   require_head: yes # [yes :: must have a head report to post] |  | ||||||
|  |  | ||||||
| coverage: |  | ||||||
|   status: |  | ||||||
|     project: |  | ||||||
|       off |  | ||||||
|       # Turing off for now as code coverage isn't stable and causes unnecessary build failures. |  | ||||||
|       # default: |  | ||||||
|       #   threshold: 2% |  | ||||||
|     patch: off |  | ||||||
							
								
								
									
										18
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | version: 2 | ||||||
|  | updates: | ||||||
|  |   - package-ecosystem: npm | ||||||
|  |     open-pull-requests-limit: 10 | ||||||
|  |     directory: / | ||||||
|  |     target-branch: develop | ||||||
|  |     versioning-strategy: increase | ||||||
|  |     schedule: | ||||||
|  |       interval: weekly | ||||||
|  |       day: monday | ||||||
|  |       time: '07:00' | ||||||
|  |   - package-ecosystem: github-actions | ||||||
|  |     directory: / | ||||||
|  |     target-branch: develop | ||||||
|  |     schedule: | ||||||
|  |       interval: weekly | ||||||
|  |       day: monday | ||||||
|  |       time: '07:00' | ||||||
							
								
								
									
										69
									
								
								.github/lychee.toml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										69
									
								
								.github/lychee.toml
									
									
									
									
										vendored
									
									
								
							| @@ -1,69 +0,0 @@ | |||||||
| #############################  Display  ############################# |  | ||||||
|  |  | ||||||
| # Verbose program output |  | ||||||
| # Accepts log level: "error", "warn", "info", "debug", "trace" |  | ||||||
| verbose = "debug" |  | ||||||
|  |  | ||||||
| # Don't show interactive progress bar while checking links. |  | ||||||
| no_progress = true |  | ||||||
|  |  | ||||||
| #############################  Cache  ############################### |  | ||||||
|  |  | ||||||
| # Enable link caching. This can be helpful to avoid checking the same links on |  | ||||||
| # multiple runs. |  | ||||||
| cache = true |  | ||||||
|  |  | ||||||
| # Discard all cached requests older than this duration. |  | ||||||
| max_cache_age = "1d" |  | ||||||
|  |  | ||||||
| #############################  Requests  ############################ |  | ||||||
|  |  | ||||||
| # Comma-separated list of accepted status codes for valid links. |  | ||||||
| accept = [200, 429] |  | ||||||
|  |  | ||||||
| #############################  Exclusions  ########################## |  | ||||||
|  |  | ||||||
| # Exclude URLs and mail addresses from checking (supports regex). |  | ||||||
| exclude = [ |  | ||||||
| # Network error: Forbidden |  | ||||||
| "https://codepen.io", |  | ||||||
|  |  | ||||||
| # Timeout error, maybe Twitter has anti-bot defenses against GitHub's CI servers? |  | ||||||
| "https://twitter.com/mermaidjs_", |  | ||||||
|  |  | ||||||
| # Don't check files that are generated during the build via `pnpm docs:code` |  | ||||||
| 'packages/mermaid/src/docs/config/setup/*', |  | ||||||
|  |  | ||||||
| # Ignore Discord invite |  | ||||||
| "https://discord.gg", |  | ||||||
|  |  | ||||||
| # BundlePhobia has frequent downtime |  | ||||||
| "https://bundlephobia.com", |  | ||||||
|  |  | ||||||
| # Chrome webstore migration issue. Temporary |  | ||||||
| "https://chromewebstore.google.com", |  | ||||||
|  |  | ||||||
| # Drupal 403 |  | ||||||
| "https://(www.)?drupal.org", |  | ||||||
|  |  | ||||||
| # Phbpp 403 |  | ||||||
| "https://(www.)?phpbb.com", |  | ||||||
|  |  | ||||||
| # Swimm returns 404, even though the link is valid |  | ||||||
| "https://docs.swimm.io", |  | ||||||
|  |  | ||||||
| # Certificate Error |  | ||||||
| "https://noteshub.app", |  | ||||||
|  |  | ||||||
| # Timeout |  | ||||||
| "https://huehive.co", |  | ||||||
| "https://foswiki.org", |  | ||||||
| "https://www.gnu.org", |  | ||||||
| "https://redmine.org", |  | ||||||
| "https://mermaid-preview.com" |  | ||||||
| ] |  | ||||||
|  |  | ||||||
| # Exclude all private IPs from checking. |  | ||||||
| # Equivalent to setting `exclude_private`, `exclude_link_local`, and |  | ||||||
| # `exclude_loopback` to true. |  | ||||||
| exclude_all_private = true |  | ||||||
							
								
								
									
										25
									
								
								.github/pr-labeler.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/pr-labeler.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,22 +1,3 @@ | |||||||
| # yaml-language-server: $schema=https://raw.githubusercontent.com/release-drafter/release-drafter/master/schema.json | 'Type: Bug / Error': 'bug/*' | ||||||
| autolabeler: | 'Type: Enhancement': 'feature/*' | ||||||
|   - label: 'Type: Bug / Error' | 'Type: Other': 'other/*' | ||||||
|     branch: |  | ||||||
|       - '/bug\/.+/' |  | ||||||
|       - '/fix\/.+/' |  | ||||||
|   - label: 'Type: Enhancement' |  | ||||||
|     branch: |  | ||||||
|       - '/feature\/.+/' |  | ||||||
|       - '/feat\/.+/' |  | ||||||
|   - label: 'Type: Other' |  | ||||||
|     branch: |  | ||||||
|       - '/other\/.+/' |  | ||||||
|       - '/chore\/.+/' |  | ||||||
|       - '/test\/.+/' |  | ||||||
|       - '/refactor\/.+/' |  | ||||||
|   - label: 'Area: Documentation' |  | ||||||
|     branch: |  | ||||||
|       - '/docs\/.+/' |  | ||||||
|  |  | ||||||
| template: | |  | ||||||
|   This field is unused, as we only use this config file for labeling PRs. |  | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							| @@ -12,7 +12,6 @@ Describe the way your implementation works or what design decisions you made if | |||||||
|  |  | ||||||
| Make sure you | Make sure you | ||||||
|  |  | ||||||
| - [ ] :book: have read the [contribution guidelines](https://mermaid.js.org/community/contributing.html) | - [ ] :book: have read the [contribution guidelines](https://github.com/mermaid-js/mermaid/blob/develop/CONTRIBUTING.md) | ||||||
| - [ ] :computer: have added necessary unit/e2e tests. | - [ ] :computer: have added unit/e2e tests (if appropriate) | ||||||
| - [ ] :notebook: have added documentation. Make sure [`MERMAID_RELEASE_VERSION`](https://mermaid.js.org/community/contributing.html#update-documentation) is used for all new features. | - [ ] :bookmark: targeted `develop` branch | ||||||
| - [ ] :butterfly: If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running `pnpm changeset` and following the prompts. Changesets that add features should be `minor` and those that fix bugs should be `patch`. Please prefix changeset messages with `feat:`, `fix:`, or `chore:`. |  | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								.github/release-drafter.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								.github/release-drafter.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | name-template: '$NEXT_PATCH_VERSION' | ||||||
|  | tag-template: '$NEXT_PATCH_VERSION' | ||||||
|  | categories: | ||||||
|  |   - title: '🚀 Features' | ||||||
|  |     labels: | ||||||
|  |       - 'Type: Enhancement' | ||||||
|  |   - title: '🐛 Bug Fixes' | ||||||
|  |     labels: | ||||||
|  |       - 'Type: Bug / Error' | ||||||
|  |   - title: '🧰 Maintenance' | ||||||
|  |     label: 'Type: Other' | ||||||
|  | change-template: '- $TITLE (#$NUMBER) @$AUTHOR' | ||||||
|  | sort-by: title | ||||||
|  | sort-direction: ascending | ||||||
|  | branches: | ||||||
|  |   - develop | ||||||
|  | exclude-labels: | ||||||
|  |   - 'Skip changelog' | ||||||
|  | no-changes-template: 'This release contains minor changes and bugfixes.' | ||||||
|  | template: | | ||||||
|  |   # Release Notes | ||||||
|  |  | ||||||
|  |   $CHANGES | ||||||
|  |  | ||||||
|  |   🎉 **Thanks to all contributors helping with this release!** 🎉 | ||||||
							
								
								
									
										2
									
								
								.github/stale.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/stale.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,5 +15,5 @@ markComment: > | |||||||
|   If you are still interested in this issue and it is still relevant you can comment to revive it. |   If you are still interested in this issue and it is still relevant you can comment to revive it. | ||||||
| # Comment to post when closing a stale issue. Set to `false` to disable | # Comment to post when closing a stale issue. Set to `false` to disable | ||||||
| closeComment: > | closeComment: > | ||||||
|   This issue has been automatically closed due to a lack of activity.  |   This issue has been been automatically closed due to a lack of activity.  | ||||||
|   This is done to maintain a clean list of issues that the community is interested in developing. |   This is done to maintain a clean list of issues that the community is interested in developing. | ||||||
|   | |||||||
							
								
								
									
										45
									
								
								.github/workflows/autofix.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										45
									
								
								.github/workflows/autofix.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,45 +0,0 @@ | |||||||
| name: autofix.ci # needed to securely identify the workflow |  | ||||||
|  |  | ||||||
| on: |  | ||||||
|   pull_request: |  | ||||||
|     branches-ignore: |  | ||||||
|       - 'renovate/**' |  | ||||||
| permissions: |  | ||||||
|   contents: read |  | ||||||
|  |  | ||||||
| concurrency: ${{ github.workflow }}-${{ github.ref }} |  | ||||||
|  |  | ||||||
| jobs: |  | ||||||
|   autofix: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|         # uses version from "packageManager" field in package.json |  | ||||||
|  |  | ||||||
|       - name: Setup Node.js |  | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |  | ||||||
|         with: |  | ||||||
|           cache: pnpm |  | ||||||
|           node-version-file: '.node-version' |  | ||||||
|  |  | ||||||
|       - name: Install Packages |  | ||||||
|         run: | |  | ||||||
|           pnpm install --frozen-lockfile |  | ||||||
|         env: |  | ||||||
|           CYPRESS_CACHE_FOLDER: .cache/Cypress |  | ||||||
|  |  | ||||||
|       - name: Fix Linting |  | ||||||
|         shell: bash |  | ||||||
|         run: pnpm -w run lint:fix |  | ||||||
|  |  | ||||||
|       - name: Sync `./src/config.type.ts` with `./src/schemas/config.schema.yaml` |  | ||||||
|         shell: bash |  | ||||||
|         run: pnpm run --filter mermaid types:build-config |  | ||||||
|  |  | ||||||
|       - name: Build Docs |  | ||||||
|         working-directory: ./packages/mermaid |  | ||||||
|         run: pnpm run docs:build |  | ||||||
|  |  | ||||||
|       - uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27 # main |  | ||||||
							
								
								
									
										39
									
								
								.github/workflows/build-docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								.github/workflows/build-docs.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,39 +0,0 @@ | |||||||
| name: Build Vitepress docs |  | ||||||
|  |  | ||||||
| on: |  | ||||||
|   push: |  | ||||||
|     branches: |  | ||||||
|       - master |  | ||||||
|       - release/* |  | ||||||
|   pull_request: |  | ||||||
|   merge_group: |  | ||||||
|  |  | ||||||
| concurrency: ${{ github.workflow }}-${{ github.ref }} |  | ||||||
|  |  | ||||||
| permissions: |  | ||||||
|   contents: read |  | ||||||
|  |  | ||||||
| jobs: |  | ||||||
|   build-docs: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     steps: |  | ||||||
|       - name: Checkout |  | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|  |  | ||||||
|       - name: Setup Node.js |  | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |  | ||||||
|         with: |  | ||||||
|           cache: pnpm |  | ||||||
|           node-version-file: '.node-version' |  | ||||||
|  |  | ||||||
|       - name: Install Packages |  | ||||||
|         run: pnpm install --frozen-lockfile |  | ||||||
|  |  | ||||||
|       - name: Verify release version |  | ||||||
|         if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release')) }} |  | ||||||
|         run: pnpm --filter mermaid run docs:verify-version |  | ||||||
|  |  | ||||||
|       - name: Run Build |  | ||||||
|         run: pnpm --filter mermaid run docs:build:vitepress |  | ||||||
							
								
								
									
										51
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | |||||||
|  | name: Build | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   push: {} | ||||||
|  |   pull_request: | ||||||
|  |     types: | ||||||
|  |       - opened | ||||||
|  |       - synchronize | ||||||
|  |       - ready_for_review | ||||||
|  |  | ||||||
|  | permissions: | ||||||
|  |   contents: read | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         node-version: [18.x] | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|  |       - uses: pnpm/action-setup@v2 | ||||||
|  |         # uses version from "packageManager" field in package.json | ||||||
|  |  | ||||||
|  |       - name: Setup Node.js ${{ matrix.node-version }} | ||||||
|  |         uses: actions/setup-node@v3 | ||||||
|  |         with: | ||||||
|  |           cache: pnpm | ||||||
|  |           node-version: ${{ matrix.node-version }} | ||||||
|  |  | ||||||
|  |       - name: Install Packages | ||||||
|  |         run: | | ||||||
|  |           pnpm install --frozen-lockfile | ||||||
|  |         env: | ||||||
|  |           CYPRESS_CACHE_FOLDER: .cache/Cypress | ||||||
|  |  | ||||||
|  |       - name: Run Build | ||||||
|  |         run: pnpm run build | ||||||
|  |  | ||||||
|  |       - name: Upload Mermaid Build as Artifact | ||||||
|  |         uses: actions/upload-artifact@v3 | ||||||
|  |         with: | ||||||
|  |           name: mermaid-build | ||||||
|  |           path: packages/mermaid/dist | ||||||
|  |  | ||||||
|  |       - name: Upload Mermaid Mindmap Build as Artifact | ||||||
|  |         uses: actions/upload-artifact@v3 | ||||||
|  |         with: | ||||||
|  |           name: mermaid-mindmap-build | ||||||
|  |           path: packages/mermaid-mindmap/dist | ||||||
							
								
								
									
										4
									
								
								.github/workflows/check-readme-in-sync.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/check-readme-in-sync.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,11 +14,11 @@ permissions: | |||||||
|   contents: read |   contents: read | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   check-readme: |   check: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout repository |       - name: Checkout repository | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |         uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|       - name: Check for difference in README.md and docs/README.md |       - name: Check for difference in README.md and docs/README.md | ||||||
|         run: | |         run: | | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								.github/workflows/checks.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								.github/workflows/checks.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | on: | ||||||
|  |   push: {} | ||||||
|  |   pull_request: | ||||||
|  |     types: | ||||||
|  |       - opened | ||||||
|  |       - synchronize | ||||||
|  |       - ready_for_review | ||||||
|  |  | ||||||
|  | name: Static analysis | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   test: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     name: check tests | ||||||
|  |     if: github.repository_owner == 'mermaid-js' | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  |         with: | ||||||
|  |           fetch-depth: 0 | ||||||
|  |       - uses: testomatio/check-tests@stable | ||||||
|  |         with: | ||||||
|  |           framework: cypress | ||||||
|  |           tests: './cypress/e2e/**/**.spec.js' | ||||||
|  |           token: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |           has-tests-label: true | ||||||
							
								
								
									
										15
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -11,9 +11,6 @@ on: | |||||||
|       - synchronize |       - synchronize | ||||||
|       - ready_for_review |       - ready_for_review | ||||||
|  |  | ||||||
| permissions: # added using https://github.com/step-security/secure-repo |  | ||||||
|   contents: read |  | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   analyze: |   analyze: | ||||||
|     name: Analyze |     name: Analyze | ||||||
| @@ -26,17 +23,17 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         language: ['javascript', 'actions'] |         language: ['javascript'] | ||||||
|         # CodeQL supports [ 'actions', 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] |         # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] | ||||||
|         # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support |         # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support | ||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout repository |       - name: Checkout repository | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |         uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|       # Initializes the CodeQL tools for scanning. |       # Initializes the CodeQL tools for scanning. | ||||||
|       - name: Initialize CodeQL |       - name: Initialize CodeQL | ||||||
|         uses: github/codeql-action/init@5378192d256ef1302a6980fffe5ca04426d43091 # v3.28.21 |         uses: github/codeql-action/init@v2 | ||||||
|         with: |         with: | ||||||
|           config-file: ./.github/codeql/codeql-config.yml |           config-file: ./.github/codeql/codeql-config.yml | ||||||
|           languages: ${{ matrix.language }} |           languages: ${{ matrix.language }} | ||||||
| @@ -48,7 +45,7 @@ jobs: | |||||||
|       # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java). |       # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java). | ||||||
|       # If this step fails, then you should remove it and run the build manually (see below) |       # If this step fails, then you should remove it and run the build manually (see below) | ||||||
|       - name: Autobuild |       - name: Autobuild | ||||||
|         uses: github/codeql-action/autobuild@5378192d256ef1302a6980fffe5ca04426d43091 # v3.28.21 |         uses: github/codeql-action/autobuild@v2 | ||||||
|  |  | ||||||
|       # ℹ️ Command-line programs to run using the OS shell. |       # ℹ️ Command-line programs to run using the OS shell. | ||||||
|       # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun |       # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun | ||||||
| @@ -62,4 +59,4 @@ jobs: | |||||||
|       #   make release |       #   make release | ||||||
|  |  | ||||||
|       - name: Perform CodeQL Analysis |       - name: Perform CodeQL Analysis | ||||||
|         uses: github/codeql-action/analyze@5378192d256ef1302a6980fffe5ca04426d43091 # v3.28.21 |         uses: github/codeql-action/analyze@v2 | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								.github/workflows/dependency-review.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/dependency-review.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| # Dependency Review Action | # Dependency Review Action | ||||||
| # | # | ||||||
| # This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging. | # This Action will scan dependency manifest files that change as part of a Pull Reqest, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging. | ||||||
| # | # | ||||||
| # Source repository: https://github.com/actions/dependency-review-action | # Source repository: https://github.com/actions/dependency-review-action | ||||||
| # Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement | # Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement | ||||||
| @@ -15,6 +15,6 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: 'Checkout Repository' |       - name: 'Checkout Repository' | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |         uses: actions/checkout@v3 | ||||||
|       - name: 'Dependency Review' |       - name: 'Dependency Review' | ||||||
|         uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0 |         uses: actions/dependency-review-action@v2 | ||||||
|   | |||||||
							
								
								
									
										28
									
								
								.github/workflows/docs.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/docs.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | name: Documentation Checks | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |       - develop | ||||||
|  |     paths: | ||||||
|  |       - 'packages/mermaid/src/docs/**/*' | ||||||
|  |   pull_request: | ||||||
|  |     branches: | ||||||
|  |       - develop | ||||||
|  |     paths: | ||||||
|  |       - 'packages/mermaid/src/docs/**/*' | ||||||
|  | jobs: | ||||||
|  |   spellcheck: | ||||||
|  |     name: 'Docs: Spellcheck' | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v2 | ||||||
|  |         name: Check out the code | ||||||
|  |       - uses: actions/setup-node@v1 | ||||||
|  |         name: Setup node | ||||||
|  |         with: | ||||||
|  |           node-version: '16' | ||||||
|  |       - run: npm install -g cspell | ||||||
|  |         name: Install cSpell | ||||||
|  |       - run: cspell --config ./cSpell.json "packages/mermaid/src/docs/**/*.md" --no-progress | ||||||
|  |         name: Run cSpell | ||||||
							
								
								
									
										43
									
								
								.github/workflows/e2e-applitools.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/e2e-applitools.yml
									
									
									
									
										vendored
									
									
								
							| @@ -11,8 +11,6 @@ on: | |||||||
|         default: master |         default: master | ||||||
|         description: 'Parent branch to use for PRs' |         description: 'Parent branch to use for PRs' | ||||||
|  |  | ||||||
| concurrency: ${{ github.workflow }}-${{ github.ref }} |  | ||||||
|  |  | ||||||
| permissions: | permissions: | ||||||
|   contents: read |   contents: read | ||||||
|  |  | ||||||
| @@ -21,49 +19,54 @@ env: | |||||||
|   USE_APPLI: ${{ secrets.APPLITOOLS_API_KEY && 'true' || '' }} |   USE_APPLI: ${{ secrets.APPLITOOLS_API_KEY && 'true' || '' }} | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   e2e-applitools: |   test: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         node-version: [18.x] | ||||||
|     steps: |     steps: | ||||||
|       - if: ${{ ! env.USE_APPLI }} |       - if: ${{ ! env.USE_APPLI }} | ||||||
|         name: Warn if not using Applitools |         name: Warn if not using Applitools | ||||||
|         run: | |         run: | | ||||||
|           echo "::error,title=Not using Applitools::APPLITOOLS_API_KEY is empty, disabling Applitools for this run." |           echo "::error,title=Not using Applitols::APPLITOOLS_API_KEY is empty, disabling Applitools for this run." | ||||||
|  |  | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |       - uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |       - uses: pnpm/action-setup@v2 | ||||||
|         # uses version from "packageManager" field in package.json |         # uses version from "packageManager" field in package.json | ||||||
|  |  | ||||||
|       - name: Setup Node.js |       - name: Setup Node.js ${{ matrix.node-version }} | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |         uses: actions/setup-node@v3 | ||||||
|         with: |         with: | ||||||
|           node-version-file: '.node-version' |           cache: pnpm | ||||||
|  |           node-version: ${{ matrix.node-version }} | ||||||
|  |  | ||||||
|  |       - name: Install Packages | ||||||
|  |         run: | | ||||||
|  |           pnpm install --frozen-lockfile | ||||||
|  |         env: | ||||||
|  |           CYPRESS_CACHE_FOLDER: .cache/Cypress | ||||||
|  |  | ||||||
|       - if: ${{ env.USE_APPLI }} |       - if: ${{ env.USE_APPLI }} | ||||||
|         name: Notify applitools of new batch |         name: Notify applitools of new batch | ||||||
|         # Copied from docs https://applitools.com/docs/topics/integrations/github-integration-ci-setup.html |         # Copied from docs https://applitools.com/docs/topics/integrations/github-integration-ci-setup.html | ||||||
|  |         run: curl -L -d '' -X POST "$APPLITOOLS_SERVER_URL/api/externals/github/push?apiKey=$APPLITOOLS_API_KEY&CommitSha=$GITHUB_SHA&BranchName=${APPLITOOLS_BRANCH}$&ParentBranchName=$APPLITOOLS_PARENT_BRANCH" | ||||||
|         env: |         env: | ||||||
|           # e.g. mermaid-js/mermaid/my-branch |           # e.g. mermaid-js/mermaid/my-branch | ||||||
|           APPLITOOLS_BRANCH: ${{ github.repository }}/${{ github.ref_name }} |           APPLITOOLS_BRANCH: ${{ github.repository }}/${{ github.ref_name }} | ||||||
|           APPLITOOLS_PARENT_BRANCH: ${{ github.event.inputs.parent_branch }} |           APPLITOOLS_PARENT_BRANCH: ${{ github.inputs.parent_branch }} | ||||||
|           APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }} |           APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }} | ||||||
|           APPLITOOLS_SERVER_URL: 'https://eyesapi.applitools.com' |           APPLITOOLS_SERVER_URL: 'https://eyesapi.applitools.com' | ||||||
|         uses: wei/curl@012398a392d02480afa2720780031f8621d5f94c |  | ||||||
|         with: |  | ||||||
|           args: -X POST "$APPLITOOLS_SERVER_URL/api/externals/github/push?apiKey=$APPLITOOLS_API_KEY&CommitSha=$GITHUB_SHA&BranchName=${APPLITOOLS_BRANCH}$&ParentBranchName=$APPLITOOLS_PARENT_BRANCH" |  | ||||||
|  |  | ||||||
|       - name: Cypress run |       - name: Run E2E Tests | ||||||
|         uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f # v6.7.16 |         run: pnpm run e2e | ||||||
|         id: cypress |  | ||||||
|         with: |  | ||||||
|           start: pnpm run dev |  | ||||||
|           wait-on: 'http://localhost:9000' |  | ||||||
|         env: |         env: | ||||||
|  |           CYPRESS_CACHE_FOLDER: .cache/Cypress | ||||||
|           # Mermaid applitools.config.js uses this to pick batch name. |           # Mermaid applitools.config.js uses this to pick batch name. | ||||||
|           APPLI_BRANCH: ${{ github.ref_name }} |           APPLI_BRANCH: ${{ github.ref_name }} | ||||||
|           APPLITOOLS_BATCH_ID: ${{ github.sha }} |           APPLITOOLS_BATCH_ID: ${{ github.sha }} | ||||||
|           # e.g. mermaid-js/mermaid/my-branch |           # e.g. mermaid-js/mermaid/my-branch | ||||||
|           APPLITOOLS_BRANCH: ${{ github.repository }}/${{ github.ref_name }} |           APPLITOOLS_BRANCH: ${{ github.repository }}/${{ github.ref_name }} | ||||||
|           APPLITOOLS_PARENT_BRANCH: ${{ github.event.inputs.parent_branch }} |           APPLITOOLS_PARENT_BRANCH: ${{ github.inputs.parent_branch }} | ||||||
|           APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }} |           APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }} | ||||||
|           APPLITOOLS_SERVER_URL: 'https://eyesapi.applitools.com' |           APPLITOOLS_SERVER_URL: 'https://eyesapi.applitools.com' | ||||||
|   | |||||||
							
								
								
									
										70
									
								
								.github/workflows/e2e-timings.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								.github/workflows/e2e-timings.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,70 +0,0 @@ | |||||||
| name: E2E - Generate Timings |  | ||||||
|  |  | ||||||
| on: |  | ||||||
|   # run this workflow every night at 3am |  | ||||||
|   schedule: |  | ||||||
|     - cron: '28 3 * * *' |  | ||||||
|   # or when the user triggers it from GitHub Actions page |  | ||||||
|   workflow_dispatch: |  | ||||||
|  |  | ||||||
| concurrency: ${{ github.workflow }}-${{ github.ref }} |  | ||||||
|  |  | ||||||
| permissions: |  | ||||||
|   contents: write |  | ||||||
|   pull-requests: write |  | ||||||
|  |  | ||||||
| jobs: |  | ||||||
|   timings: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     container: |  | ||||||
|       image: cypress/browsers:node-20.11.0-chrome-121.0.6167.85-1-ff-120.0-edge-121.0.2277.83-1 |  | ||||||
|       options: --user 1001 |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|       - name: Setup Node.js |  | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |  | ||||||
|         with: |  | ||||||
|           node-version-file: '.node-version' |  | ||||||
|       - name: Install dependencies |  | ||||||
|         uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f # v6.7.16 |  | ||||||
|         with: |  | ||||||
|           runTests: false |  | ||||||
|  |  | ||||||
|       - name: Cypress run |  | ||||||
|         uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f # v6.7.16 |  | ||||||
|         id: cypress |  | ||||||
|         with: |  | ||||||
|           install: false |  | ||||||
|           start: pnpm run dev:coverage |  | ||||||
|           wait-on: 'http://localhost:9000' |  | ||||||
|           browser: chrome |  | ||||||
|           publish-summary: false |  | ||||||
|         env: |  | ||||||
|           VITEST_COVERAGE: true |  | ||||||
|           CYPRESS_COMMIT: ${{ github.sha }} |  | ||||||
|           SPLIT: 1 |  | ||||||
|           SPLIT_INDEX: 0 |  | ||||||
|           SPLIT_FILE: 'cypress/timings.json' |  | ||||||
|  |  | ||||||
|       - name: Compare timings |  | ||||||
|         id: compare |  | ||||||
|         run: | |  | ||||||
|           OUTPUT=$(pnpm tsx scripts/compare-timings.ts) |  | ||||||
|           echo "$OUTPUT" >> $GITHUB_STEP_SUMMARY |  | ||||||
|  |  | ||||||
|           echo "output<<EOF" >> $GITHUB_OUTPUT |  | ||||||
|           echo "$OUTPUT" >> $GITHUB_OUTPUT |  | ||||||
|           echo "EOF" >> $GITHUB_OUTPUT |  | ||||||
|  |  | ||||||
|       - name: Commit and create pull request |  | ||||||
|         uses: peter-evans/create-pull-request@915d841dae6a4f191bb78faf61a257411d7be4d2 |  | ||||||
|         with: |  | ||||||
|           add-paths: | |  | ||||||
|             cypress/timings.json |  | ||||||
|           commit-message: 'chore: update E2E timings' |  | ||||||
|           branch: update-timings |  | ||||||
|           title: Update E2E Timings |  | ||||||
|           body: ${{ steps.compare.outputs.output }} |  | ||||||
|           delete-branch: true |  | ||||||
|           sign-commits: true |  | ||||||
							
								
								
									
										147
									
								
								.github/workflows/e2e.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										147
									
								
								.github/workflows/e2e.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,151 +1,46 @@ | |||||||
| name: E2E | name: E2E | ||||||
|  |  | ||||||
| on: | on: [push, pull_request] | ||||||
|   push: |  | ||||||
|     branches: |  | ||||||
|       - develop |  | ||||||
|       - master |  | ||||||
|       - release/** |  | ||||||
|   pull_request: |  | ||||||
|   merge_group: |  | ||||||
|  |  | ||||||
| concurrency: ${{ github.workflow }}-${{ github.ref }} |  | ||||||
|  |  | ||||||
| permissions: | permissions: | ||||||
|   contents: read |   contents: read | ||||||
|  |  | ||||||
| env: |  | ||||||
|   # For PRs and MergeQueues, the target commit is used, and for push events to non-develop branches, github.event.previous is used if available. Otherwise, 'develop' is used. |  | ||||||
|   targetHash: >- |  | ||||||
|     ${{  |  | ||||||
|       github.event.pull_request.base.sha ||  |  | ||||||
|       github.event.merge_group.base_sha ||  |  | ||||||
|       ( |  | ||||||
|         ( |  | ||||||
|           (github.event_name == 'push' && github.ref == 'refs/heads/develop') ||  |  | ||||||
|           github.event.before == '0000000000000000000000000000000000000000' |  | ||||||
|         ) && 'develop' |  | ||||||
|       ) ||  |  | ||||||
|       github.event.before |  | ||||||
|     }} |  | ||||||
|   RUN_VISUAL_TEST: >- |  | ||||||
|     ${{ github.repository == 'mermaid-js/mermaid' && (github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/')) }} |  | ||||||
| jobs: | jobs: | ||||||
|   cache: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     container: |  | ||||||
|       image: cypress/browsers:node-20.11.0-chrome-121.0.6167.85-1-ff-120.0-edge-121.0.2277.83-1 |  | ||||||
|       options: --user 1001 |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|       - name: Setup Node.js |  | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |  | ||||||
|         with: |  | ||||||
|           node-version-file: '.node-version' |  | ||||||
|       - name: Cache snapshots |  | ||||||
|         id: cache-snapshot |  | ||||||
|         uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 |  | ||||||
|         with: |  | ||||||
|           path: ./cypress/snapshots |  | ||||||
|           key: ${{ runner.os }}-snapshots-${{ env.targetHash }} |  | ||||||
|  |  | ||||||
|       # If a snapshot for a given Hash is not found, we checkout that commit, run the tests and cache the snapshots. |  | ||||||
|       - name: Switch to base branch |  | ||||||
|         if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true' }} |  | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|         with: |  | ||||||
|           ref: ${{ env.targetHash }} |  | ||||||
|  |  | ||||||
|       - name: Install dependencies |  | ||||||
|         if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true' }} |  | ||||||
|         uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f # v6.7.16 |  | ||||||
|         with: |  | ||||||
|           # just perform install |  | ||||||
|           runTests: false |  | ||||||
|  |  | ||||||
|       - name: Calculate bundle size |  | ||||||
|         if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true'}} |  | ||||||
|         run: | |  | ||||||
|           pnpm run build:viz |  | ||||||
|           mkdir -p cypress/snapshots/stats/base |  | ||||||
|           mv stats cypress/snapshots/stats/base |  | ||||||
|  |  | ||||||
|   e2e: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     container: |  | ||||||
|       image: cypress/browsers:node-20.11.0-chrome-121.0.6167.85-1-ff-120.0-edge-121.0.2277.83-1 |  | ||||||
|       options: --user 1001 |  | ||||||
|     needs: cache |  | ||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         containers: [1, 2, 3, 4, 5] |         node-version: [18.x] | ||||||
|  |         containers: [1, 2, 3, 4] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |       - uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |       - uses: pnpm/action-setup@v2 | ||||||
|         # uses version from "packageManager" field in package.json |         # uses version from "packageManager" field in package.json | ||||||
|  |  | ||||||
|       - name: Setup Node.js |       - name: Setup Node.js ${{ matrix.node-version }} | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |         uses: actions/setup-node@v3 | ||||||
|  |         # Need to skip setup if Cypress run is skipped, otherwise an error | ||||||
|  |         # is thrown since the pnpm cache step fails | ||||||
|  |         if: ${{ ( env.CYPRESS_RECORD_KEY != '' ) || ( matrix.containers == 1 ) }} | ||||||
|         with: |         with: | ||||||
|           node-version-file: '.node-version' |           cache: pnpm | ||||||
|  |           node-version: ${{ matrix.node-version }} | ||||||
|       # These cached snapshots are downloaded, providing the reference snapshots. |  | ||||||
|       - name: Cache snapshots |  | ||||||
|         id: cache-snapshot |  | ||||||
|         uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 |  | ||||||
|         with: |  | ||||||
|           path: ./cypress/snapshots |  | ||||||
|           key: ${{ runner.os }}-snapshots-${{ env.targetHash }} |  | ||||||
|  |  | ||||||
|       - name: Install dependencies |  | ||||||
|         uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f # v6.7.16 |  | ||||||
|         with: |  | ||||||
|           runTests: false |  | ||||||
|  |  | ||||||
|       - name: Output size diff |  | ||||||
|         if: ${{ matrix.containers == 1 }} |  | ||||||
|         run: | |  | ||||||
|           pnpm run build:viz |  | ||||||
|           mv stats cypress/snapshots/stats/head |  | ||||||
|           echo '## Bundle size difference' >> "$GITHUB_STEP_SUMMARY" |  | ||||||
|           echo '' >> "$GITHUB_STEP_SUMMARY" |  | ||||||
|           npx tsx scripts/size.ts >> "$GITHUB_STEP_SUMMARY" |  | ||||||
|  |  | ||||||
|       # Install NPM dependencies, cache them correctly |       # Install NPM dependencies, cache them correctly | ||||||
|       # and run all Cypress tests |       # and run all Cypress tests | ||||||
|       - name: Cypress run |       - name: Cypress run | ||||||
|         uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f # v6.7.16 |         uses: cypress-io/github-action@v4 | ||||||
|         id: cypress |         # If CYPRESS_RECORD_KEY is set, run in parallel on all containers | ||||||
|  |         # Otherwise (e.g. if running from fork), we run on a single container only | ||||||
|  |         if: ${{ ( env.CYPRESS_RECORD_KEY != '' ) || ( matrix.containers == 1 ) }} | ||||||
|         with: |         with: | ||||||
|           install: false |           start: pnpm run dev | ||||||
|           start: pnpm run dev:coverage |  | ||||||
|           wait-on: 'http://localhost:9000' |           wait-on: 'http://localhost:9000' | ||||||
|           browser: chrome |  | ||||||
|           # Disable recording if we don't have an API key |           # Disable recording if we don't have an API key | ||||||
|           # e.g. if this action was run from a fork |           # e.g. if this action was run from a fork | ||||||
|           record: ${{ env.RUN_VISUAL_TEST == 'true' && secrets.CYPRESS_RECORD_KEY != '' }} |           record: ${{ secrets.CYPRESS_RECORD_KEY != '' }} | ||||||
|  |           parallel: ${{ secrets.CYPRESS_RECORD_KEY != '' }} | ||||||
|         env: |         env: | ||||||
|           ARGOS_PARALLEL: ${{ env.RUN_VISUAL_TEST == 'true' }} |           CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | ||||||
|           ARGOS_PARALLEL_TOTAL: ${{ env.RUN_VISUAL_TEST == 'true' && strategy.job-total || 1 }} |  | ||||||
|           ARGOS_PARALLEL_INDEX: ${{ env.RUN_VISUAL_TEST == 'true' && matrix.containers || 1 }} |  | ||||||
|           CYPRESS_COMMIT: ${{ github.sha }} |  | ||||||
|           CYPRESS_RECORD_KEY: ${{ env.RUN_VISUAL_TEST == 'true' && secrets.CYPRESS_RECORD_KEY || ''}} |  | ||||||
|           SPLIT: ${{ strategy.job-total }} |  | ||||||
|           SPLIT_INDEX: ${{ strategy.job-index }} |  | ||||||
|           SPLIT_FILE: 'cypress/timings.json' |  | ||||||
|           VITEST_COVERAGE: true |  | ||||||
|  |  | ||||||
|       - name: Upload Coverage to Codecov |  | ||||||
|         uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1 |  | ||||||
|         # Run step only pushes to develop and pull_requests |  | ||||||
|         if: ${{ steps.cypress.conclusion == 'success' && (github.event_name == 'pull_request' || github.ref == 'refs/heads/develop')}} |  | ||||||
|         with: |  | ||||||
|           files: coverage/cypress/lcov.info |  | ||||||
|           flags: e2e |  | ||||||
|           name: mermaid-codecov |  | ||||||
|           fail_ci_if_error: false |  | ||||||
|           verbose: true |  | ||||||
|           token: 6845cc80-77ee-4e17-85a1-026cd95e0766 |  | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								.github/workflows/issue-triage.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/issue-triage.yml
									
									
									
									
										vendored
									
									
								
							| @@ -4,17 +4,11 @@ on: | |||||||
|   issues: |   issues: | ||||||
|     types: [opened] |     types: [opened] | ||||||
|  |  | ||||||
| permissions: # added using https://github.com/step-security/secure-repo |  | ||||||
|   contents: read |  | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   triage: |   triage: | ||||||
|     permissions: |  | ||||||
|       issues: write # for andymckay/labeler to label issues |  | ||||||
|       pull-requests: write # for andymckay/labeler to label PRs |  | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # 1.0.4 |       - uses: andymckay/labeler@1.0.4 | ||||||
|         with: |         with: | ||||||
|           repo-token: '${{ secrets.GITHUB_TOKEN }}' |           repo-token: '${{ secrets.GITHUB_TOKEN }}' | ||||||
|           add-labels: 'Status: Triage' |           add-labels: 'Status: Triage' | ||||||
|   | |||||||
							
								
								
									
										52
									
								
								.github/workflows/link-checker.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										52
									
								
								.github/workflows/link-checker.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,52 +0,0 @@ | |||||||
| # This Link Checker is run on all documentation files once per week. |  | ||||||
|  |  | ||||||
| # references: |  | ||||||
| # - https://github.com/lycheeverse/lychee-action |  | ||||||
| # - https://github.com/lycheeverse/lychee |  | ||||||
|  |  | ||||||
| name: Link Checker |  | ||||||
|  |  | ||||||
| on: |  | ||||||
|   push: |  | ||||||
|     branches: |  | ||||||
|       - develop |  | ||||||
|       - master |  | ||||||
|   pull_request: |  | ||||||
|     branches: |  | ||||||
|       - master |  | ||||||
|   workflow_dispatch: |  | ||||||
|   schedule: |  | ||||||
|     # * is a special character in YAML so you have to quote this string |  | ||||||
|     - cron: '30 8 * * *' |  | ||||||
|  |  | ||||||
| permissions: # added using https://github.com/step-security/secure-repo |  | ||||||
|   contents: read |  | ||||||
|  |  | ||||||
| jobs: |  | ||||||
|   link-checker: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     permissions: |  | ||||||
|       # lychee only uses the GITHUB_TOKEN to avoid rate-limiting |  | ||||||
|       contents: read |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|  |  | ||||||
|       - name: Restore lychee cache |  | ||||||
|         uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 |  | ||||||
|         with: |  | ||||||
|           path: .lycheecache |  | ||||||
|           key: cache-lychee-${{ github.sha }} |  | ||||||
|           restore-keys: cache-lychee- |  | ||||||
|  |  | ||||||
|       - name: Link Checker |  | ||||||
|         uses: lycheeverse/lychee-action@f613c4a64e50d792e0b31ec34bbcbba12263c6a6 # v2.3.0 |  | ||||||
|         with: |  | ||||||
|           args: >- |  | ||||||
|             --config .github/lychee.toml |  | ||||||
|             packages/mermaid/src/docs/**/*.md |  | ||||||
|             README.md |  | ||||||
|             README.zh-CN.md |  | ||||||
|           fail: true |  | ||||||
|           jobSummary: true |  | ||||||
|         env: |  | ||||||
|           GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} |  | ||||||
							
								
								
									
										85
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										85
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,38 +1,33 @@ | |||||||
| name: Lint | name: Lint | ||||||
|  |  | ||||||
| on: | on: | ||||||
|   push: |   push: {} | ||||||
|   merge_group: |  | ||||||
|   pull_request: |   pull_request: | ||||||
|   workflow_dispatch: |     types: | ||||||
|  |       - opened | ||||||
| concurrency: ${{ github.workflow }}-${{ github.ref }} |       - synchronize | ||||||
|  |       - ready_for_review | ||||||
|  |  | ||||||
| permissions: | permissions: | ||||||
|   contents: write |   contents: read | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   docker-lint: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|  |  | ||||||
|       - uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf # v3.1.0 |  | ||||||
|         with: |  | ||||||
|           verbose: true |  | ||||||
|   lint: |   lint: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         node-version: [18.x] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |       - uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |       - uses: pnpm/action-setup@v2 | ||||||
|         # uses version from "packageManager" field in package.json |         # uses version from "packageManager" field in package.json | ||||||
|  |  | ||||||
|       - name: Setup Node.js |       - name: Setup Node.js ${{ matrix.node-version }} | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |         uses: actions/setup-node@v3 | ||||||
|         with: |         with: | ||||||
|           cache: pnpm |           cache: pnpm | ||||||
|           node-version-file: '.node-version' |           node-version: ${{ matrix.node-version }} | ||||||
|  |  | ||||||
|       - name: Install Packages |       - name: Install Packages | ||||||
|         run: | |         run: | | ||||||
| @@ -41,57 +36,7 @@ jobs: | |||||||
|           CYPRESS_CACHE_FOLDER: .cache/Cypress |           CYPRESS_CACHE_FOLDER: .cache/Cypress | ||||||
|  |  | ||||||
|       - name: Run Linting |       - name: Run Linting | ||||||
|         shell: bash |         run: pnpm run lint | ||||||
|         run: | |  | ||||||
|           if ! pnpm run lint; then |  | ||||||
|               # print a nice error message on lint failure |  | ||||||
|               ERROR_MESSAGE='Running `pnpm run lint` failed.' |  | ||||||
|               ERROR_MESSAGE+=' Running `pnpm -w run lint:fix` may fix this issue. ' |  | ||||||
|               ERROR_MESSAGE+=" If this error doesn't occur on your local machine," |  | ||||||
|               ERROR_MESSAGE+=' make sure your packages are up-to-date by running `pnpm install`.' |  | ||||||
|               ERROR_MESSAGE+=' You may also need to delete your prettier cache by running' |  | ||||||
|               ERROR_MESSAGE+=' `rm ./node_modules/.cache/prettier/.prettier-cache`.' |  | ||||||
|               echo "::error title=Lint failure::${ERROR_MESSAGE}" |  | ||||||
|               # make sure to return an error exitcode so that GitHub actions shows a red-cross |  | ||||||
|               exit 1 |  | ||||||
|           fi |  | ||||||
|  |  | ||||||
|       - name: Verify `./src/config.type.ts` is in sync with `./src/schemas/config.schema.yaml` |  | ||||||
|         shell: bash |  | ||||||
|         run: | |  | ||||||
|           if ! pnpm run --filter mermaid types:verify-config; then |  | ||||||
|             ERROR_MESSAGE='Running `pnpm run --filter mermaid types:verify-config` failed.' |  | ||||||
|             ERROR_MESSAGE+=' This should be fixed by running' |  | ||||||
|             ERROR_MESSAGE+=' `pnpm run --filter mermaid types:build-config`' |  | ||||||
|             ERROR_MESSAGE+=' on your local machine.' |  | ||||||
|             echo "::error title=Lint failure::${ERROR_MESSAGE}" |  | ||||||
|             # make sure to return an error exitcode so that GitHub actions shows a red-cross |  | ||||||
|             exit 1 |  | ||||||
|           fi |  | ||||||
|  |  | ||||||
|       - name: Verify no circular dependencies |  | ||||||
|         working-directory: ./packages/mermaid |  | ||||||
|         shell: bash |  | ||||||
|         run: | |  | ||||||
|           if ! pnpm run --filter mermaid checkCircle; then |  | ||||||
|             ERROR_MESSAGE='Circular dependency detected.' |  | ||||||
|             ERROR_MESSAGE+=' This should be fixed by removing the circular dependency.' |  | ||||||
|             ERROR_MESSAGE+=' Run `pnpm run --filter mermaid checkCircle` on your local machine' |  | ||||||
|             ERROR_MESSAGE+=' to see the circular dependency.' |  | ||||||
|             echo "::error title=Lint failure::${ERROR_MESSAGE}" |  | ||||||
|             # make sure to return an error exitcode so that GitHub actions shows a red-cross |  | ||||||
|             exit 1 |  | ||||||
|           fi |  | ||||||
|  |  | ||||||
|       - name: Verify Docs |       - name: Verify Docs | ||||||
|         id: verifyDocs |  | ||||||
|         working-directory: ./packages/mermaid |  | ||||||
|         continue-on-error: ${{ github.event_name == 'push' }} |  | ||||||
|         run: pnpm run docs:verify |         run: pnpm run docs:verify | ||||||
|  |  | ||||||
|       - uses: testomatio/check-tests@0ea638fcec1820cf2e7b9854fdbdd04128a55bd4 # stable |  | ||||||
|         with: |  | ||||||
|           framework: cypress |  | ||||||
|           tests: './cypress/e2e/**/**.spec.js' |  | ||||||
|           token: ${{ secrets.GITHUB_TOKEN }} |  | ||||||
|           has-tests-label: true |  | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								.github/workflows/pr-labeler-config-validator.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/pr-labeler-config-validator.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | name: Validate PR Labeler Configuration | ||||||
|  | on: | ||||||
|  |   push: {} | ||||||
|  |   pull_request: | ||||||
|  |     types: | ||||||
|  |       - opened | ||||||
|  |       - synchronize | ||||||
|  |       - ready_for_review | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   pr-labeler: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout Repository | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - name: Validate Configuration | ||||||
|  |         uses: Yash-Singh1/pr-labeler-config-validator@releases/v0.0.3 | ||||||
|  |         with: | ||||||
|  |           configuration-path: .github/pr-labeler.yml | ||||||
							
								
								
									
										48
									
								
								.github/workflows/pr-labeler.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								.github/workflows/pr-labeler.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,57 +1,13 @@ | |||||||
| name: Apply labels to PR | name: Apply labels to PR | ||||||
| on: | on: | ||||||
|   pull_request_target: |   pull_request_target: | ||||||
|     # required for pr-labeler to support PRs from forks |     types: [opened] | ||||||
|     # ===================== ⛔ ☢️ 🚫 ⚠️ Warning ⚠️ 🚫 ☢️ ⛔ ======================= |  | ||||||
|     # Be very careful what you put in this GitHub Action workflow file to avoid |  | ||||||
|     # malicious PRs from getting access to the Mermaid-js repo. |  | ||||||
|     # |  | ||||||
|     # Please read the following first before reviewing/merging: |  | ||||||
|     # - https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target |  | ||||||
|     # - https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ |  | ||||||
|     types: [opened, reopened, synchronize] |  | ||||||
|  |  | ||||||
| permissions: |  | ||||||
|   contents: read |  | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   pr-labeler: |   pr-labeler: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     permissions: |  | ||||||
|       contents: read # read permission is required to read config file |  | ||||||
|       pull-requests: write # write permission is required to label PRs |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Label PR |       - name: Label PR | ||||||
|         uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6.1.0 |         uses: TimonVS/pr-labeler-action@v3 | ||||||
|         with: |  | ||||||
|           config-name: pr-labeler.yml |  | ||||||
|           disable-autolabeler: false |  | ||||||
|           disable-releaser: true |  | ||||||
|         env: |         env: | ||||||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |  | ||||||
|       - name: Add "Sponsored by MermaidChart" label |  | ||||||
|         uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 |  | ||||||
|         with: |  | ||||||
|           github-token: ${{ secrets.GITHUB_TOKEN }} |  | ||||||
|           script: | |  | ||||||
|             const prNumber = context.payload.pull_request.number; |  | ||||||
|             const { data: commits } = await github.rest.pulls.listCommits({ |  | ||||||
|               owner: context.repo.owner, |  | ||||||
|               repo: context.repo.repo, |  | ||||||
|               pull_number: prNumber, |  | ||||||
|             }); |  | ||||||
|  |  | ||||||
|             const isSponsored = commits.every( |  | ||||||
|               (c) => c.commit.author.email?.endsWith('@mermaidchart.com') |  | ||||||
|             ); |  | ||||||
|  |  | ||||||
|             if (isSponsored) { |  | ||||||
|               console.log('PR is sponsored. Adding label.'); |  | ||||||
|               await github.rest.issues.addLabels({ |  | ||||||
|                 owner: context.repo.owner, |  | ||||||
|                 repo: context.repo.repo, |  | ||||||
|                 issue_number: prNumber, |  | ||||||
|                 labels: ['Sponsored by MermaidChart'], |  | ||||||
|               }); |  | ||||||
|             } |  | ||||||
|   | |||||||
							
								
								
									
										59
									
								
								.github/workflows/publish-docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										59
									
								
								.github/workflows/publish-docs.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,59 +0,0 @@ | |||||||
| name: Deploy Vitepress docs to Pages |  | ||||||
|  |  | ||||||
| on: |  | ||||||
|   # Runs on pushes targeting the default branch |  | ||||||
|   push: |  | ||||||
|     branches: |  | ||||||
|       - master |  | ||||||
|  |  | ||||||
| # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages |  | ||||||
| permissions: |  | ||||||
|   contents: read |  | ||||||
|   pages: write |  | ||||||
|   id-token: write |  | ||||||
|  |  | ||||||
| # Allow one concurrent deployment |  | ||||||
| concurrency: |  | ||||||
|   group: 'pages' |  | ||||||
|   cancel-in-progress: true |  | ||||||
|  |  | ||||||
| jobs: |  | ||||||
|   # Build job |  | ||||||
|   build-docs: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     steps: |  | ||||||
|       - name: Checkout |  | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|  |  | ||||||
|       - name: Setup Node.js |  | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |  | ||||||
|         with: |  | ||||||
|           cache: pnpm |  | ||||||
|           node-version-file: '.node-version' |  | ||||||
|  |  | ||||||
|       - name: Install Packages |  | ||||||
|         run: pnpm install --frozen-lockfile |  | ||||||
|  |  | ||||||
|       - name: Setup Pages |  | ||||||
|         uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0 |  | ||||||
|  |  | ||||||
|       - name: Run Build |  | ||||||
|         run: pnpm --filter mermaid run docs:build:vitepress |  | ||||||
|  |  | ||||||
|       - name: Upload artifact |  | ||||||
|         uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1 |  | ||||||
|         with: |  | ||||||
|           path: packages/mermaid/src/vitepress/.vitepress/dist |  | ||||||
|  |  | ||||||
|   # Deployment job |  | ||||||
|   deploy-docs: |  | ||||||
|     environment: |  | ||||||
|       name: github-pages |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     needs: build-docs |  | ||||||
|     steps: |  | ||||||
|       - name: Deploy to GitHub Pages |  | ||||||
|         id: deployment |  | ||||||
|         uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5 |  | ||||||
							
								
								
									
										15
									
								
								.github/workflows/release-draft.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.github/workflows/release-draft.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | name: Draft Release | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |       - develop | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   draft-release: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Draft Release | ||||||
|  |         uses: toolmantim/release-drafter@v5 | ||||||
|  |         env: | ||||||
|  |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
							
								
								
									
										30
									
								
								.github/workflows/release-preview-publish.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										30
									
								
								.github/workflows/release-preview-publish.yml
									
									
									
									
										vendored
									
									
								
							| @@ -6,34 +6,26 @@ on: | |||||||
|       - 'release/**' |       - 'release/**' | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   publish-preview: |   publish: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |       - uses: actions/checkout@v3 | ||||||
|         with: |  | ||||||
|           fetch-depth: 0 |  | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|  |  | ||||||
|       - name: Setup Node.js |       - name: Setup Node.js | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |         uses: actions/setup-node@v3 | ||||||
|         with: |         with: | ||||||
|           cache: pnpm |           node-version: 18.x | ||||||
|           node-version-file: '.node-version' |       - name: Install Yarn | ||||||
|  |         run: npm i yarn --global | ||||||
|       - name: Install Packages |  | ||||||
|         run: | |  | ||||||
|           pnpm install --frozen-lockfile |  | ||||||
|         env: |  | ||||||
|           CYPRESS_CACHE_FOLDER: .cache/Cypress |  | ||||||
|  |  | ||||||
|       - name: Install Json |       - name: Install Json | ||||||
|         run: npm i json@11.0.0 --global |         run: npm i json --global | ||||||
|  |  | ||||||
|  |       - name: Install Packages | ||||||
|  |         run: yarn install --frozen-lockfile | ||||||
|  |  | ||||||
|       - name: Publish |       - name: Publish | ||||||
|         working-directory: ./packages/mermaid |  | ||||||
|         run: | |         run: | | ||||||
|           PREVIEW_VERSION=$(git log --oneline "origin/$GITHUB_REF_NAME" ^"origin/master" | wc -l) |           PREVIEW_VERSION=8 | ||||||
|           VERSION=$(echo ${{github.ref}} | tail -c +20)-preview.$PREVIEW_VERSION |           VERSION=$(echo ${{github.ref}} | tail -c +20)-preview.$PREVIEW_VERSION | ||||||
|           echo $VERSION |           echo $VERSION | ||||||
|           npm version --no-git-tag-version --allow-same-version $VERSION |           npm version --no-git-tag-version --allow-same-version $VERSION | ||||||
|   | |||||||
							
								
								
									
										43
									
								
								.github/workflows/release-preview.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/release-preview.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,43 +0,0 @@ | |||||||
| name: Preview release |  | ||||||
|  |  | ||||||
| on: |  | ||||||
|   pull_request: |  | ||||||
|     branches: [develop] |  | ||||||
|     types: [opened, synchronize, labeled, ready_for_review] |  | ||||||
|  |  | ||||||
| concurrency: |  | ||||||
|   group: ${{ github.workflow }}-${{ github.event.number }} |  | ||||||
|   cancel-in-progress: true |  | ||||||
|  |  | ||||||
| permissions: |  | ||||||
|   contents: read |  | ||||||
|   actions: write |  | ||||||
|  |  | ||||||
| jobs: |  | ||||||
|   preview: |  | ||||||
|     if: ${{ github.repository_owner == 'mermaid-js' }} |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     permissions: |  | ||||||
|       contents: read |  | ||||||
|       id-token: write |  | ||||||
|       issues: write |  | ||||||
|       pull-requests: write |  | ||||||
|     name: Publish preview release |  | ||||||
|     timeout-minutes: 5 |  | ||||||
|     steps: |  | ||||||
|       - name: Checkout Repo |  | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|  |  | ||||||
|       - name: Setup Node.js |  | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |  | ||||||
|         with: |  | ||||||
|           cache: pnpm |  | ||||||
|           node-version-file: '.node-version' |  | ||||||
|  |  | ||||||
|       - name: Install Packages |  | ||||||
|         run: pnpm install --frozen-lockfile |  | ||||||
|  |  | ||||||
|       - name: Publish packages |  | ||||||
|         run: pnpx pkg-pr-new publish --pnpm './packages/*' |  | ||||||
							
								
								
									
										44
									
								
								.github/workflows/release-publish.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								.github/workflows/release-publish.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | name: Publish release | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   release: | ||||||
|  |     types: [published] | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   publish: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  |       - uses: fregante/setup-git-user@v1 | ||||||
|  |  | ||||||
|  |       - name: Setup Node.js | ||||||
|  |         uses: actions/setup-node@v3 | ||||||
|  |         with: | ||||||
|  |           node-version: 18.x | ||||||
|  |       - name: Install Yarn | ||||||
|  |         run: npm i yarn --global | ||||||
|  |  | ||||||
|  |       - name: Install Json | ||||||
|  |         run: npm i json --global | ||||||
|  |  | ||||||
|  |       - name: Install Packages | ||||||
|  |         run: yarn install --frozen-lockfile | ||||||
|  |  | ||||||
|  |       - name: Prepare release | ||||||
|  |         run: | | ||||||
|  |           VERSION=${GITHUB_REF:10} | ||||||
|  |           echo "Preparing release $VERSION" | ||||||
|  |           git checkout -t origin/release/$VERSION | ||||||
|  |           npm version --no-git-tag-version --allow-same-version $VERSION | ||||||
|  |           git add package.json | ||||||
|  |           git commit -m "Bump version $VERSION" | ||||||
|  |           git checkout -t origin/master | ||||||
|  |           git merge -m "Release $VERSION" --no-ff release/$VERSION | ||||||
|  |           git push --no-verify | ||||||
|  |  | ||||||
|  |       - name: Publish | ||||||
|  |         run: | | ||||||
|  |           npm set //registry.npmjs.org/:_authToken $NPM_TOKEN | ||||||
|  |           npm publish | ||||||
|  |         env: | ||||||
|  |           NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | ||||||
							
								
								
									
										46
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										46
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,46 +0,0 @@ | |||||||
| name: Release |  | ||||||
|  |  | ||||||
| on: |  | ||||||
|   push: |  | ||||||
|     branches: |  | ||||||
|       - master |  | ||||||
|  |  | ||||||
| concurrency: ${{ github.workflow }}-${{ github.ref }} |  | ||||||
|  |  | ||||||
| permissions: # added using https://github.com/step-security/secure-repo |  | ||||||
|   contents: read |  | ||||||
|  |  | ||||||
| jobs: |  | ||||||
|   release: |  | ||||||
|     if: github.repository == 'mermaid-js/mermaid' |  | ||||||
|     permissions: |  | ||||||
|       contents: write # to create release (changesets/action) |  | ||||||
|       id-token: write # OpenID Connect token needed for provenance |  | ||||||
|       pull-requests: write # to create pull request (changesets/action) |  | ||||||
|     name: Release |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     steps: |  | ||||||
|       - name: Checkout Repo |  | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|  |  | ||||||
|       - name: Setup Node.js |  | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |  | ||||||
|         with: |  | ||||||
|           cache: pnpm |  | ||||||
|           node-version-file: '.node-version' |  | ||||||
|  |  | ||||||
|       - name: Install Packages |  | ||||||
|         run: pnpm install --frozen-lockfile |  | ||||||
|  |  | ||||||
|       - name: Create Release Pull Request or Publish to npm |  | ||||||
|         id: changesets |  | ||||||
|         uses: changesets/action@06245a4e0a36c064a573d4150030f5ec548e4fcc # v1.4.10 |  | ||||||
|         with: |  | ||||||
|           version: pnpm changeset:version |  | ||||||
|           publish: pnpm changeset:publish |  | ||||||
|         env: |  | ||||||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |  | ||||||
|           NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |  | ||||||
|           NPM_CONFIG_PROVENANCE: true |  | ||||||
							
								
								
									
										37
									
								
								.github/workflows/scorecard.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										37
									
								
								.github/workflows/scorecard.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,37 +0,0 @@ | |||||||
| name: Scorecard supply-chain security |  | ||||||
| on: |  | ||||||
|   branch_protection_rule: |  | ||||||
|   push: |  | ||||||
|     branches: |  | ||||||
|       - develop |  | ||||||
|   schedule: |  | ||||||
|     - cron: 29 15 * * 0 |  | ||||||
| permissions: read-all |  | ||||||
| jobs: |  | ||||||
|   analysis: |  | ||||||
|     name: Scorecard analysis |  | ||||||
|     permissions: |  | ||||||
|       id-token: write |  | ||||||
|       security-events: write |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     steps: |  | ||||||
|       - name: Checkout code |  | ||||||
|         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |  | ||||||
|         with: |  | ||||||
|           persist-credentials: false |  | ||||||
|       - name: Run analysis |  | ||||||
|         uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2 |  | ||||||
|         with: |  | ||||||
|           results_file: results.sarif |  | ||||||
|           results_format: sarif |  | ||||||
|           publish_results: true |  | ||||||
|       - name: Upload artifact |  | ||||||
|         uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 |  | ||||||
|         with: |  | ||||||
|           name: SARIF file |  | ||||||
|           path: results.sarif |  | ||||||
|           retention-days: 5 |  | ||||||
|       - name: Upload to code-scanning |  | ||||||
|         uses: github/codeql-action/upload-sarif@5378192d256ef1302a6980fffe5ca04426d43091 # v3.28.21 |  | ||||||
|         with: |  | ||||||
|           sarif_file: results.sarif |  | ||||||
							
								
								
									
										48
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,24 +1,27 @@ | |||||||
| name: Unit Tests | name: Unit Tests | ||||||
|  |  | ||||||
| on: [push, pull_request, merge_group] | on: [push, pull_request] | ||||||
|  |  | ||||||
| permissions: | permissions: | ||||||
|   contents: read |   contents: read | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   unit-test: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         node-version: [18.x] | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |       - uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |       - uses: pnpm/action-setup@v2 | ||||||
|         # uses version from "packageManager" field in package.json |         # uses version from "packageManager" field in package.json | ||||||
|  |  | ||||||
|       - name: Setup Node.js |       - name: Setup Node.js ${{ matrix.node-version }} | ||||||
|         uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 |         uses: actions/setup-node@v3 | ||||||
|         with: |         with: | ||||||
|           cache: pnpm |           cache: pnpm | ||||||
|           node-version-file: '.node-version' |           node-version: ${{ matrix.node-version }} | ||||||
|  |  | ||||||
|       - name: Install Packages |       - name: Install Packages | ||||||
|         run: | |         run: | | ||||||
| @@ -28,28 +31,13 @@ jobs: | |||||||
|  |  | ||||||
|       - name: Run Unit Tests |       - name: Run Unit Tests | ||||||
|         run: | |         run: | | ||||||
|           pnpm test:coverage |           pnpm run ci --coverage | ||||||
|  |  | ||||||
|       - name: Run ganttDb tests using California timezone |       - name: Upload Coverage to Coveralls | ||||||
|         env: |         # it feels a bit weird to use @master, but that's what the docs use | ||||||
|           # Makes sure that gantt db works even in a timezone that has daylight savings |         # (coveralls also doesn't publish a @v1 we can use) | ||||||
|           # since some days have 25 hours instead of 24. |         # https://github.com/marketplace/actions/coveralls-github-action | ||||||
|           TZ: America/Los_Angeles |         uses: coverallsapp/github-action@master | ||||||
|         run: | |  | ||||||
|           pnpm exec vitest run ./packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts --coverage |  | ||||||
|  |  | ||||||
|       - name: Verify out-of-tree build with TypeScript |  | ||||||
|         run: | |  | ||||||
|           pnpm test:check:tsc |  | ||||||
|  |  | ||||||
|       - name: Upload Coverage to Codecov |  | ||||||
|         uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1 |  | ||||||
|         # Run step only pushes to develop and pull_requests |  | ||||||
|         if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/develop' }} |  | ||||||
|         with: |         with: | ||||||
|           files: ./coverage/vitest/lcov.info |           github-token: ${{ secrets.GITHUB_TOKEN }} | ||||||
|           flags: unit |           flag-name: unit | ||||||
|           name: mermaid-codecov |  | ||||||
|           fail_ci_if_error: false |  | ||||||
|           verbose: true |  | ||||||
|           token: 6845cc80-77ee-4e17-85a1-026cd95e0766 |  | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.github/workflows/unlock-reopened-issues.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/unlock-reopened-issues.yml
									
									
									
									
										vendored
									
									
								
							| @@ -8,6 +8,6 @@ jobs: | |||||||
|   triage: |   triage: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - uses: Dunning-Kruger/unlock-issues@b06b7f7e5c3f2eaa1c6d5d89f40930e4d6d9699e # v1 |       - uses: Dunning-Kruger/unlock-issues@v1 | ||||||
|         with: |         with: | ||||||
|           repo-token: '${{ secrets.GITHUB_TOKEN }}' |           repo-token: '${{ secrets.GITHUB_TOKEN }}' | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								.github/workflows/update-browserlist.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.github/workflows/update-browserlist.yml
									
									
									
									
										vendored
									
									
								
							| @@ -5,21 +5,14 @@ on: | |||||||
|   workflow_dispatch: |   workflow_dispatch: | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   update-browser-list: |   build: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |       - uses: actions/checkout@v3 | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |       - run: npx browserslist@latest --update-db | ||||||
|       - run: npx update-browserslist-db@latest |  | ||||||
|       - name: Commit changes |       - name: Commit changes | ||||||
|         uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4 |         uses: EndBug/add-and-commit@v9 | ||||||
|         with: |         with: | ||||||
|           author_name: ${{ github.actor }} |           author_name: ${{ github.actor }} | ||||||
|           author_email: ${{ github.actor }}@users.noreply.github.com |           author_email: ${{ github.actor }}@users.noreply.github.com | ||||||
|           message: 'chore: update browsers list' |           message: 'chore: update browsers list' | ||||||
|           push: false |  | ||||||
|       - name: Create Pull Request |  | ||||||
|         uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 |  | ||||||
|         with: |  | ||||||
|           branch: update-browserslist |  | ||||||
|           title: Update Browserslist |  | ||||||
|   | |||||||
							
								
								
									
										70
									
								
								.github/workflows/validate-lockfile.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								.github/workflows/validate-lockfile.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,70 +0,0 @@ | |||||||
| name: Validate pnpm-lock.yaml |  | ||||||
|  |  | ||||||
| on: |  | ||||||
|   pull_request: |  | ||||||
|     paths: |  | ||||||
|       - 'pnpm-lock.yaml' |  | ||||||
|       - '**/package.json' |  | ||||||
|       - '.github/workflows/validate-lockfile.yml' |  | ||||||
|  |  | ||||||
| jobs: |  | ||||||
|   validate-lockfile: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     steps: |  | ||||||
|       - name: Checkout code |  | ||||||
|         uses: actions/checkout@v4 |  | ||||||
|         with: |  | ||||||
|           fetch-depth: 0 |  | ||||||
|  |  | ||||||
|       - name: Set up Node.js |  | ||||||
|         uses: actions/setup-node@v4 |  | ||||||
|         with: |  | ||||||
|           node-version: 20 |  | ||||||
|  |  | ||||||
|       - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 |  | ||||||
|  |  | ||||||
|       - name: Validate pnpm-lock.yaml entries |  | ||||||
|         id: validate # give this step an ID so we can reference its outputs |  | ||||||
|         run: | |  | ||||||
|           issues=() |  | ||||||
|  |  | ||||||
|           # 1) No tarball references |  | ||||||
|           if grep -qF 'tarball:' pnpm-lock.yaml; then |  | ||||||
|             issues+=("• Tarball references found (forbidden)") |  | ||||||
|           fi |  | ||||||
|  |  | ||||||
|           # 2) No unwanted vitepress paths |  | ||||||
|           if grep -qF 'packages/mermaid/src/vitepress' pnpm-lock.yaml; then |  | ||||||
|             issues+=("• Disallowed path 'packages/mermaid/src/vitepress' present. Run \`rm -rf packages/mermaid/src/vitepress && pnpm install\` to regenerate.") |  | ||||||
|           fi |  | ||||||
|  |  | ||||||
|           # 3) Lockfile only changes when package.json changes |  | ||||||
|           git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} > changed.txt |  | ||||||
|           if grep -q '^pnpm-lock.yaml$' changed.txt && ! grep -q 'package.json' changed.txt; then |  | ||||||
|             issues+=("• pnpm-lock.yaml changed without any package.json modification") |  | ||||||
|           fi |  | ||||||
|  |  | ||||||
|           # If any issues, output them and fail |  | ||||||
|           if [ ${#issues[@]} -gt 0 ]; then |  | ||||||
|             # Use the new GITHUB_OUTPUT approach to set a multiline output |  | ||||||
|             { |  | ||||||
|               echo "errors<<EOF" |  | ||||||
|               printf '%s\n' "${issues[@]}" |  | ||||||
|               echo "EOF" |  | ||||||
|             } >> $GITHUB_OUTPUT |  | ||||||
|             exit 1 |  | ||||||
|           fi |  | ||||||
|  |  | ||||||
|       - name: Comment on PR if validation failed |  | ||||||
|         if: failure() |  | ||||||
|         uses: peter-evans/create-or-update-comment@v4 |  | ||||||
|         with: |  | ||||||
|           token: ${{ secrets.GITHUB_TOKEN }} |  | ||||||
|           issue-number: ${{ github.event.pull_request.number }} |  | ||||||
|           body: | |  | ||||||
|             The following issue(s) were detected: |  | ||||||
|             ${{ steps.validate.outputs.errors }} |  | ||||||
|  |  | ||||||
|             Please address these and push an update. |  | ||||||
|  |  | ||||||
|             _Posted automatically by GitHub Actions_ |  | ||||||
							
								
								
									
										20
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -3,11 +3,8 @@ | |||||||
| node_modules/ | node_modules/ | ||||||
| coverage/ | coverage/ | ||||||
| .idea/ | .idea/ | ||||||
| .pnpm-store/ |  | ||||||
| .instructions/ |  | ||||||
|  |  | ||||||
| dist | dist | ||||||
| v8-compile-cache-0 |  | ||||||
|  |  | ||||||
| yarn-error.log | yarn-error.log | ||||||
| .npmrc | .npmrc | ||||||
| @@ -35,21 +32,6 @@ cypress/snapshots/ | |||||||
| .eslintcache | .eslintcache | ||||||
| .tsbuildinfo | .tsbuildinfo | ||||||
| tsconfig.tsbuildinfo | tsconfig.tsbuildinfo | ||||||
|  | knsv*.html | ||||||
|  |  | ||||||
| #knsv*.html |  | ||||||
| local*.html | local*.html | ||||||
| stats/ |  | ||||||
|  |  | ||||||
| **/user-avatars/* |  | ||||||
| **/contributor-names.json |  | ||||||
| .pnpm-store |  | ||||||
| .nyc_output |  | ||||||
|  |  | ||||||
| demos/dev/** |  | ||||||
| !/demos/dev/example.html |  | ||||||
| !/demos/dev/reload.js |  | ||||||
| tsx-0/** |  | ||||||
| vite.config.ts.timestamp-* |  | ||||||
|  |  | ||||||
| # autogenereated by langium-cli |  | ||||||
| generated/ |  | ||||||
|   | |||||||
| @@ -1,2 +0,0 @@ | |||||||
| ignored: |  | ||||||
|   - DL3002 # TODO: Last USER should not be root |  | ||||||
							
								
								
									
										4
									
								
								.husky/commit-msg
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								.husky/commit-msg
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | # . "$(dirname "$0")/_/husky.sh" | ||||||
|  |  | ||||||
|  | # npx --no-install commitlint --edit $1 | ||||||
| @@ -1,2 +1,4 @@ | |||||||
| #!/usr/bin/env sh | #!/bin/sh | ||||||
| NODE_OPTIONS="--max_old_space_size=8192" pnpm run pre-commit | . "$(dirname "$0")/_/husky.sh" | ||||||
|  |  | ||||||
|  | pnpm run pre-commit | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								.lintstagedrc.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.lintstagedrc.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  |   "packages/mermaid/src/docs/**": ["pnpm run docs:build --git"], | ||||||
|  |   "packages/mermaid/src/docs.mts": ["pnpm run docs:build --git"], | ||||||
|  |   "*.{ts,js,json,html,md,mts}": ["eslint --fix", "prettier --write"], | ||||||
|  |   "*.jison": ["pnpm run lint:jison"] | ||||||
|  | } | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| export default { |  | ||||||
|   '!(docs/**/*)*.{ts,js,html,md,mts}': [ |  | ||||||
|     'eslint --cache --cache-strategy content --fix', |  | ||||||
|     // don't cache prettier yet, since we use `prettier-plugin-jsdoc`, |  | ||||||
|     // and prettier doesn't invalidate cache on plugin updates" |  | ||||||
|     // https://prettier.io/docs/en/cli.html#--cache |  | ||||||
|     'prettier --write', |  | ||||||
|   ], |  | ||||||
|   '.cspell/*.txt': ['tsx scripts/fixCSpell.ts'], |  | ||||||
|   '**/*.jison': ['pnpm -w run lint:jison'], |  | ||||||
| }; |  | ||||||
| @@ -1 +0,0 @@ | |||||||
| 22.14.0 |  | ||||||
							
								
								
									
										5
									
								
								.npmrc
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								.npmrc
									
									
									
									
									
								
							| @@ -1,4 +1 @@ | |||||||
| registry=https://registry.npmjs.org | auto-install-peers=true | ||||||
| auto-install-peers=true |  | ||||||
| strict-peer-dependencies=false |  | ||||||
| package-import-method=clone-or-copy |  | ||||||
							
								
								
									
										6
									
								
								.percy.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.percy.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | version: 2 | ||||||
|  | snapshot: | ||||||
|  |   widths: | ||||||
|  |     - 1280 | ||||||
|  | discovery: | ||||||
|  |   disable-cache: true | ||||||
| @@ -1,20 +1,6 @@ | |||||||
| dist | dist | ||||||
| cypress/platform/xss3.html | cypress/platform/xss3.html | ||||||
| .cache | .cache | ||||||
| .pnpm-store |  | ||||||
| coverage | coverage | ||||||
| # Autogenerated by PNPM | # Autogenerated by PNPM | ||||||
| pnpm-lock.yaml | pnpm-lock.yaml | ||||||
| stats |  | ||||||
| **/.vitepress/components.d.ts |  | ||||||
| **/.vitepress/cache |  | ||||||
| .nyc_output |  | ||||||
| # Autogenerated by `pnpm run --filter mermaid types:build-config` |  | ||||||
| packages/mermaid/src/config.type.ts |  | ||||||
| # autogenereated by langium-cli |  | ||||||
| generated/ |  | ||||||
| # Ignore the files creates in /demos/dev except for example.html |  | ||||||
| demos/dev/** |  | ||||||
| !/demos/dev/example.html |  | ||||||
| # TODO: Lots of errors to fix |  | ||||||
| cypress/platform/state-refactor.html |  | ||||||
| @@ -3,6 +3,5 @@ | |||||||
|   "printWidth": 100, |   "printWidth": 100, | ||||||
|   "singleQuote": true, |   "singleQuote": true, | ||||||
|   "useTabs": false, |   "useTabs": false, | ||||||
|   "tabWidth": 2, |   "tabWidth": 2 | ||||||
|   "trailingComma": "es5" |  | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								.tern-project
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.tern-project
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | { | ||||||
|  |   "ecmaVersion": 6, | ||||||
|  |   "libs": ["browser"], | ||||||
|  |   "loadEagerly": [], | ||||||
|  |   "dontLoad": ["node_modules/**"], | ||||||
|  |   "plugins": { | ||||||
|  |     "modules": {}, | ||||||
|  |     "es_modules": {}, | ||||||
|  |     "node": {}, | ||||||
|  |     "doc_comment": { | ||||||
|  |       "fullDocs": true, | ||||||
|  |       "strong": true | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										136
									
								
								.vite/build.ts
									
									
									
									
									
								
							
							
						
						
									
										136
									
								
								.vite/build.ts
									
									
									
									
									
								
							| @@ -1,41 +1,45 @@ | |||||||
| import type { InlineConfig } from 'vite'; | import { build, InlineConfig } from 'vite'; | ||||||
| import { build, type PluginOption } from 'vite'; |  | ||||||
| import { resolve } from 'path'; | import { resolve } from 'path'; | ||||||
| import { fileURLToPath } from 'url'; | import { fileURLToPath } from 'url'; | ||||||
| import jisonPlugin from './jisonPlugin.js'; | import jisonPlugin from './jisonPlugin.js'; | ||||||
| import jsonSchemaPlugin from './jsonSchemaPlugin.js'; | import pkg from '../package.json' assert { type: 'json' }; | ||||||
| import typescript from '@rollup/plugin-typescript'; |  | ||||||
| import { visualizer } from 'rollup-plugin-visualizer'; |  | ||||||
| import type { TemplateType } from 'rollup-plugin-visualizer/dist/plugin/template-types.js'; |  | ||||||
| import istanbul from 'vite-plugin-istanbul'; |  | ||||||
| import { packageOptions } from '../.build/common.js'; |  | ||||||
| import { generateLangium } from '../.build/generateLangium.js'; |  | ||||||
|  |  | ||||||
| const visualize = process.argv.includes('--visualize'); | const { dependencies } = pkg; | ||||||
| const watch = process.argv.includes('--watch'); | const watch = process.argv.includes('--watch'); | ||||||
| const mermaidOnly = process.argv.includes('--mermaid'); | const mermaidOnly = process.argv.includes('--mermaid'); | ||||||
| const coverage = process.env.VITE_COVERAGE === 'true'; |  | ||||||
| const __dirname = fileURLToPath(new URL('.', import.meta.url)); | const __dirname = fileURLToPath(new URL('.', import.meta.url)); | ||||||
| const sourcemap = false; |  | ||||||
|  |  | ||||||
| type OutputOptions = Exclude< | type OutputOptions = Exclude< | ||||||
|   Exclude<InlineConfig['build'], undefined>['rollupOptions'], |   Exclude<InlineConfig['build'], undefined>['rollupOptions'], | ||||||
|   undefined |   undefined | ||||||
| >['output']; | >['output']; | ||||||
|  |  | ||||||
| const visualizerOptions = (packageName: string, core = false): PluginOption[] => { | const packageOptions = { | ||||||
|   if (packageName !== 'mermaid' || !visualize) { |   mermaid: { | ||||||
|     return []; |     name: 'mermaid', | ||||||
|   } |     packageName: 'mermaid', | ||||||
|   return ['network', 'treemap', 'sunburst'].map( |     file: 'mermaid.ts', | ||||||
|     (chartType) => |   }, | ||||||
|       visualizer({ |   'mermaid-mindmap': { | ||||||
|         filename: `./stats/${chartType}${core ? '.core' : ''}.html`, |     name: 'mermaid-mindmap', | ||||||
|         template: chartType as TemplateType, |     packageName: 'mermaid-mindmap', | ||||||
|         gzipSize: true, |     file: 'diagram-definition.ts', | ||||||
|         brotliSize: true, |   }, | ||||||
|       }) as PluginOption |   'mermaid-mindmap-detector': { | ||||||
|   ); |     name: 'mermaid-mindmap-detector', | ||||||
|  |     packageName: 'mermaid-mindmap', | ||||||
|  |     file: 'detector.ts', | ||||||
|  |   }, | ||||||
|  |   'mermaid-example-diagram': { | ||||||
|  |     name: 'mermaid-example-diagram', | ||||||
|  |     packageName: 'mermaid-example-diagram', | ||||||
|  |     file: 'diagram-definition.ts', | ||||||
|  |   }, | ||||||
|  |   'mermaid-example-diagram-detector': { | ||||||
|  |     name: 'mermaid-example-diagram-detector', | ||||||
|  |     packageName: 'mermaid-example-diagram', | ||||||
|  |     file: 'detector.ts', | ||||||
|  |   }, | ||||||
| }; | }; | ||||||
|  |  | ||||||
| interface BuildOptions { | interface BuildOptions { | ||||||
| @@ -46,19 +50,39 @@ interface BuildOptions { | |||||||
| } | } | ||||||
|  |  | ||||||
| export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions): InlineConfig => { | export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions): InlineConfig => { | ||||||
|   const external: (string | RegExp)[] = ['require', 'fs', 'path']; |   const external = ['require', 'fs', 'path']; | ||||||
|   // eslint-disable-next-line no-console |  | ||||||
|   console.log(entryName, packageOptions[entryName]); |   console.log(entryName, packageOptions[entryName]); | ||||||
|   const { name, file, packageName } = packageOptions[entryName]; |   const { name, file, packageName } = packageOptions[entryName]; | ||||||
|   const output: OutputOptions = [ |   let output: OutputOptions = [ | ||||||
|     { |     { | ||||||
|       name, |       name, | ||||||
|       format: 'esm', |       format: 'esm', | ||||||
|       sourcemap, |       sourcemap: true, | ||||||
|       entryFileNames: `${name}.esm${minify ? '.min' : ''}.mjs`, |       entryFileNames: `${name}.esm${minify ? '.min' : ''}.mjs`, | ||||||
|     }, |     }, | ||||||
|  |     { | ||||||
|  |       name, | ||||||
|  |       format: 'umd', | ||||||
|  |       sourcemap: true, | ||||||
|  |       entryFileNames: `${name}${minify ? '.min' : ''}.js`, | ||||||
|  |     }, | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
|  |   if (core) { | ||||||
|  |     // Core build is used to generate file without bundled dependencies. | ||||||
|  |     // This is used by downstream projects to bundle dependencies themselves. | ||||||
|  |     external.push(...Object.keys(dependencies)); | ||||||
|  |     // This needs to be an array. Otherwise vite will build esm & umd with same name and overwrite esm with umd. | ||||||
|  |     output = [ | ||||||
|  |       { | ||||||
|  |         name, | ||||||
|  |         format: 'esm', | ||||||
|  |         sourcemap: true, | ||||||
|  |         entryFileNames: `${name}.core.mjs`, | ||||||
|  |       }, | ||||||
|  |     ]; | ||||||
|  |   } | ||||||
|  |  | ||||||
|   const config: InlineConfig = { |   const config: InlineConfig = { | ||||||
|     configFile: false, |     configFile: false, | ||||||
|     build: { |     build: { | ||||||
| @@ -76,33 +100,19 @@ export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions) | |||||||
|         output, |         output, | ||||||
|       }, |       }, | ||||||
|     }, |     }, | ||||||
|     define: { |  | ||||||
|       'import.meta.vitest': 'undefined', |  | ||||||
|     }, |  | ||||||
|     resolve: { |     resolve: { | ||||||
|       extensions: [], |       extensions: ['.jison', '.js', '.ts', '.json'], | ||||||
|     }, |  | ||||||
|     plugins: [ |  | ||||||
|       jisonPlugin(), |  | ||||||
|       jsonSchemaPlugin(), // handles `.schema.yaml` files |  | ||||||
|       typescript({ compilerOptions: { declaration: false } }), |  | ||||||
|       istanbul({ |  | ||||||
|         exclude: ['node_modules', 'test/', '__mocks__', 'generated'], |  | ||||||
|         extension: ['.js', '.ts'], |  | ||||||
|         requireEnv: true, |  | ||||||
|         forceBuildInstrument: coverage, |  | ||||||
|       }), |  | ||||||
|       ...visualizerOptions(packageName, core), |  | ||||||
|     ], |  | ||||||
|     define: { |  | ||||||
|       // Needs to be string |  | ||||||
|       includeLargeFeatures: 'true', |  | ||||||
|     }, |     }, | ||||||
|  |     plugins: [jisonPlugin()], | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   if (watch && config.build) { |   if (watch && config.build) { | ||||||
|     config.build.watch = { |     config.build.watch = { | ||||||
|       include: ['packages/mermaid-example-diagram/src/**', 'packages/mermaid/src/**'], |       include: [ | ||||||
|  |         'packages/mermaid-mindmap/src/**', | ||||||
|  |         'packages/mermaid/src/**', | ||||||
|  |         'packages/mermaid-example-diagram/src/**', | ||||||
|  |       ], | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -110,31 +120,29 @@ export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions) | |||||||
| }; | }; | ||||||
|  |  | ||||||
| const buildPackage = async (entryName: keyof typeof packageOptions) => { | const buildPackage = async (entryName: keyof typeof packageOptions) => { | ||||||
|   await build(getBuildConfig({ minify: false, entryName })); |   return Promise.allSettled([ | ||||||
|  |     build(getBuildConfig({ minify: false, entryName })), | ||||||
|  |     build(getBuildConfig({ minify: 'esbuild', entryName })), | ||||||
|  |     build(getBuildConfig({ minify: false, core: true, entryName })), | ||||||
|  |   ]); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| const main = async () => { | const main = async () => { | ||||||
|   const packageNames = Object.keys(packageOptions) as (keyof typeof packageOptions)[]; |   const packageNames = Object.keys(packageOptions) as (keyof typeof packageOptions)[]; | ||||||
|   for (const pkg of packageNames.filter( |   for (const pkg of packageNames) { | ||||||
|     (pkg) => !mermaidOnly || pkg === 'mermaid' || pkg === 'parser' |     if (mermaidOnly && pkg !== 'mermaid') { | ||||||
|   )) { |       continue; | ||||||
|  |     } | ||||||
|     await buildPackage(pkg); |     await buildPackage(pkg); | ||||||
|   } |   } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| await generateLangium(); |  | ||||||
|  |  | ||||||
| if (watch) { | if (watch) { | ||||||
|   await build(getBuildConfig({ minify: false, watch, core: false, entryName: 'parser' })); |   build(getBuildConfig({ minify: false, watch, core: true, entryName: 'mermaid' })); | ||||||
|   void build(getBuildConfig({ minify: false, watch, core: false, entryName: 'mermaid' })); |  | ||||||
|   if (!mermaidOnly) { |   if (!mermaidOnly) { | ||||||
|     void build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-example-diagram' })); |     build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-mindmap' })); | ||||||
|     void build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-zenuml' })); |     build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-example-diagram' })); | ||||||
|   } |   } | ||||||
| } else if (visualize) { |  | ||||||
|   await build(getBuildConfig({ minify: false, watch, core: false, entryName: 'parser' })); |  | ||||||
|   await build(getBuildConfig({ minify: false, core: true, entryName: 'mermaid' })); |  | ||||||
|   await build(getBuildConfig({ minify: false, core: false, entryName: 'mermaid' })); |  | ||||||
| } else { | } else { | ||||||
|   void main(); |   void main(); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| import { transformJison } from '../.build/jisonTransformer.js'; | import { transformJison } from './jisonTransformer.js'; | ||||||
|  |  | ||||||
| const fileRegex = /\.(jison)$/; | const fileRegex = /\.(jison)$/; | ||||||
|  |  | ||||||
| export default function jison() { | export default function jison() { | ||||||
|   return { |   return { | ||||||
|     name: 'jison', |     name: 'jison', | ||||||
|  |  | ||||||
|     transform(src: string, id: string) { |     transform(src: string, id: string) { | ||||||
|       if (fileRegex.test(id)) { |       if (fileRegex.test(id)) { | ||||||
|         return { |         return { | ||||||
|   | |||||||
| @@ -1,7 +1,8 @@ | |||||||
|  | // @ts-ignore No typings for jison
 | ||||||
| import jison from 'jison'; | import jison from 'jison'; | ||||||
| 
 | 
 | ||||||
| export const transformJison = (src: string): string => { | export const transformJison = (src: string): string => { | ||||||
|   // @ts-ignore - Jison is not typed properly
 |   // @ts-ignore No typings for jison
 | ||||||
|   const parser = new jison.Generator(src, { |   const parser = new jison.Generator(src, { | ||||||
|     moduleType: 'js', |     moduleType: 'js', | ||||||
|     'token-stack': true, |     'token-stack': true, | ||||||
| @@ -1,28 +0,0 @@ | |||||||
| import type { PluginOption } from 'vite'; |  | ||||||
| import { getDefaults, getSchema, loadSchema } from '../.build/jsonSchema.js'; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Vite plugin that handles JSON Schemas saved as a `.schema.yaml` file. |  | ||||||
|  * |  | ||||||
|  * Use `my-example.schema.yaml?only-defaults=true` to only load the default values. |  | ||||||
|  */ |  | ||||||
| export default function jsonSchemaPlugin(): PluginOption { |  | ||||||
|   return { |  | ||||||
|     name: 'json-schema-plugin', |  | ||||||
|     transform(src: string, id: string) { |  | ||||||
|       const idAsUrl = new URL(id, 'file:///'); |  | ||||||
|  |  | ||||||
|       if (!idAsUrl.pathname.endsWith('schema.yaml')) { |  | ||||||
|         return; |  | ||||||
|       } |  | ||||||
|  |  | ||||||
|       const jsonSchema = loadSchema(src, idAsUrl.pathname); |  | ||||||
|       return { |  | ||||||
|         code: idAsUrl.searchParams.get('only-defaults') |  | ||||||
|           ? getDefaults(jsonSchema) |  | ||||||
|           : getSchema(jsonSchema), |  | ||||||
|         map: null, // no source map |  | ||||||
|       }; |  | ||||||
|     }, |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
| @@ -1,7 +1,6 @@ | |||||||
| import express from 'express'; | import express from 'express'; | ||||||
| import cors from 'cors'; |  | ||||||
| import { createServer as createViteServer } from 'vite'; | import { createServer as createViteServer } from 'vite'; | ||||||
| import { packageOptions } from '../.build/common.js'; | // import { getBuildConfig } from './build'; | ||||||
|  |  | ||||||
| async function createServer() { | async function createServer() { | ||||||
|   const app = express(); |   const app = express(); | ||||||
| @@ -9,23 +8,21 @@ async function createServer() { | |||||||
|   // Create Vite server in middleware mode |   // Create Vite server in middleware mode | ||||||
|   const vite = await createViteServer({ |   const vite = await createViteServer({ | ||||||
|     configFile: './vite.config.ts', |     configFile: './vite.config.ts', | ||||||
|     mode: 'production', |  | ||||||
|     server: { middlewareMode: true }, |     server: { middlewareMode: true }, | ||||||
|     appType: 'custom', // don't include Vite's default HTML handling middleware |     appType: 'custom', // don't include Vite's default HTML handling middlewares | ||||||
|   }); |   }); | ||||||
|  |  | ||||||
|   app.use(cors()); |   app.use(express.static('./packages/mermaid/dist')); | ||||||
|   for (const { packageName } of Object.values(packageOptions)) { |   app.use(express.static('./packages/mermaid-example-diagram/dist')); | ||||||
|     app.use(express.static(`./packages/${packageName}/dist`)); |   app.use(express.static('./packages/mermaid-mindmap/dist')); | ||||||
|   } |  | ||||||
|   app.use(vite.middlewares); |   app.use(vite.middlewares); | ||||||
|   app.use(express.static('demos')); |   app.use(express.static('demos')); | ||||||
|   app.use(express.static('cypress/platform')); |   app.use(express.static('cypress/platform')); | ||||||
|  |  | ||||||
|   app.listen(9000, () => { |   app.listen(9000, () => { | ||||||
|     // eslint-disable-next-line no-console |  | ||||||
|     console.log(`Listening on http://localhost:9000`); |     console.log(`Listening on http://localhost:9000`); | ||||||
|   }); |   }); | ||||||
| } | } | ||||||
|  |  | ||||||
| void createServer(); | // build(getBuildConfig({ minify: false, watch: true })); | ||||||
|  | createServer(); | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								.vite/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.vite/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  |   "extends": "../tsconfig.json", | ||||||
|  |   "compilerOptions": { | ||||||
|  |     "module": "ES2022" | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										2
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ | |||||||
|   "recommendations": [ |   "recommendations": [ | ||||||
|     "dbaeumer.vscode-eslint", |     "dbaeumer.vscode-eslint", | ||||||
|     "esbenp.prettier-vscode", |     "esbenp.prettier-vscode", | ||||||
|     "vitest.explorer", |     "zixuanchen.vitest-explorer", | ||||||
|     "luniclynx.bison" |     "luniclynx.bison" | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							| @@ -12,18 +12,6 @@ | |||||||
|       "args": ["run", "${relativeFile}"], |       "args": ["run", "${relativeFile}"], | ||||||
|       "smartStep": true, |       "smartStep": true, | ||||||
|       "console": "integratedTerminal" |       "console": "integratedTerminal" | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "Docs generation", |  | ||||||
|       "type": "node", |  | ||||||
|       "request": "launch", |  | ||||||
|       "args": ["scripts/docs.cli.mts"], |  | ||||||
|       // we'll need to change this to --import in Node.JS v20.6.0 and up |  | ||||||
|       "runtimeArgs": ["--loader", "tsx/esm"], |  | ||||||
|       "cwd": "${workspaceRoot}/packages/mermaid", |  | ||||||
|       "skipFiles": ["<node_internals>/**", "**/node_modules/**"], |  | ||||||
|       "smartStep": true, |  | ||||||
|       "internalConsoleOptions": "openOnSessionStart" |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1 +0,0 @@ | |||||||
| ./packages/mermaid/CHANGELOG.md |  | ||||||
							
								
								
									
										906
									
								
								CHANGELOG.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										906
									
								
								CHANGELOG.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,906 @@ | |||||||
|  | # Change Log | ||||||
|  |  | ||||||
|  | // TODO: Populate changelog | ||||||
|  |  | ||||||
|  | - Config has a lot of changes | ||||||
|  | - globalReset resets to `defaultConfig` instead of current config. Use `reset` instead. | ||||||
|  |  | ||||||
|  | ## [Unreleased](https://github.com/knsv/mermaid/tree/HEAD) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/8.2.0...HEAD) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Cross-Site Scripting:DOM - Issue [\#847](https://github.com/knsv/mermaid/issues/847) | ||||||
|  |  | ||||||
|  | ## [8.2.0](https://github.com/knsv/mermaid/tree/8.2.0) (2019-07-17) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/8.1.0...8.2.0) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Create issue templates [\#871](https://github.com/knsv/mermaid/issues/871) | ||||||
|  | - cross site scripting in mermaid [\#869](https://github.com/knsv/mermaid/issues/869) | ||||||
|  | - Make Gantt chart date inclusive [\#868](https://github.com/knsv/mermaid/issues/868) | ||||||
|  | - CHANGELOG missing updates for all versions since 0.4.0 [\#865](https://github.com/knsv/mermaid/issues/865) | ||||||
|  | - please add tag for 8.0.0 release [\#863](https://github.com/knsv/mermaid/issues/863) | ||||||
|  | - classDiagram breaks on any edit [\#858](https://github.com/knsv/mermaid/issues/858) | ||||||
|  | - found 1 high severity vulnerability [\#839](https://github.com/knsv/mermaid/issues/839) | ||||||
|  | - Missing fontawesome icon support [\#830](https://github.com/knsv/mermaid/issues/830) | ||||||
|  | - Docs for integration with wiki.js? [\#829](https://github.com/knsv/mermaid/issues/829) | ||||||
|  | - Is this project still maintained? [\#826](https://github.com/knsv/mermaid/issues/826) | ||||||
|  | - typora [\#823](https://github.com/knsv/mermaid/issues/823) | ||||||
|  | - Maintain the order of the nodes in Flowchart [\#815](https://github.com/knsv/mermaid/issues/815) | ||||||
|  | - Overlap, Overflow and cut titles in flowchart [\#814](https://github.com/knsv/mermaid/issues/814) | ||||||
|  | - How load mermaidApi notejs electron [\#813](https://github.com/knsv/mermaid/issues/813) | ||||||
|  | - How to set the spacing between the text of the flowchart node and the border? [\#812](https://github.com/knsv/mermaid/issues/812) | ||||||
|  | - no triming participant name and the name following spaces is as another actor in sequence [\#809](https://github.com/knsv/mermaid/issues/809) | ||||||
|  | - uml Class as shape type [\#807](https://github.com/knsv/mermaid/issues/807) | ||||||
|  | - Force-directed graph Layout Style [\#806](https://github.com/knsv/mermaid/issues/806) | ||||||
|  | - how can I start a newLine in FlowChart [\#805](https://github.com/knsv/mermaid/issues/805) | ||||||
|  | - UOEProcessShow [\#801](https://github.com/knsv/mermaid/issues/801) | ||||||
|  | - Why the use of code blocks? [\#799](https://github.com/knsv/mermaid/issues/799) | ||||||
|  | - fixing class diagram [\#794](https://github.com/knsv/mermaid/issues/794) | ||||||
|  | - Autonumber support in sequence diagrams [\#782](https://github.com/knsv/mermaid/issues/782) | ||||||
|  | - MomentJS dependency [\#781](https://github.com/knsv/mermaid/issues/781) | ||||||
|  | - Feature : Can we color code the flow/arrows [\#766](https://github.com/knsv/mermaid/issues/766) | ||||||
|  | - Is there any way to convert flowchart.js code to mermaid code [\#726](https://github.com/knsv/mermaid/issues/726) | ||||||
|  | - Fixed width of nodes [\#653](https://github.com/knsv/mermaid/issues/653) | ||||||
|  | - Inline comment [\#650](https://github.com/knsv/mermaid/issues/650) | ||||||
|  | - alt attribute of img tag in HTML [\#619](https://github.com/knsv/mermaid/issues/619) | ||||||
|  | - Just wanted to say : THANKS ! [\#618](https://github.com/knsv/mermaid/issues/618) | ||||||
|  | - "animation" [\#446](https://github.com/knsv/mermaid/issues/446) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Trimming whitespace after participant id [\#882](https://github.com/knsv/mermaid/pull/882) ([IOrlandoni](https://github.com/IOrlandoni)) | ||||||
|  | - chore\(deps\): bump atob from 2.0.3 to 2.1.2 [\#881](https://github.com/knsv/mermaid/pull/881) ([dependabot[bot]](https://github.com/apps/dependabot)) | ||||||
|  | - chore\(deps\): bump fstream from 1.0.11 to 1.0.12 [\#880](https://github.com/knsv/mermaid/pull/880) ([dependabot[bot]](https://github.com/apps/dependabot)) | ||||||
|  | - chore\(deps\): bump js-yaml from 3.12.0 to 3.13.1 [\#879](https://github.com/knsv/mermaid/pull/879) ([dependabot[bot]](https://github.com/apps/dependabot)) | ||||||
|  | - I847 cross site scripting [\#878](https://github.com/knsv/mermaid/pull/878) ([knsv](https://github.com/knsv)) | ||||||
|  | - Bump lodash.mergewith from 4.6.1 to 4.6.2 [\#877](https://github.com/knsv/mermaid/pull/877) ([dependabot[bot]](https://github.com/apps/dependabot)) | ||||||
|  | - Adding docs into core repo again [\#876](https://github.com/knsv/mermaid/pull/876) ([knsv](https://github.com/knsv)) | ||||||
|  | - Bump lodash from 4.17.11 to 4.17.13 [\#875](https://github.com/knsv/mermaid/pull/875) ([dependabot[bot]](https://github.com/apps/dependabot)) | ||||||
|  | - feat\(stale.yml\): update issue label and bot comment [\#874](https://github.com/knsv/mermaid/pull/874) ([ThePenguin1140](https://github.com/ThePenguin1140)) | ||||||
|  | - Feature/allow inclusive enddates [\#872](https://github.com/knsv/mermaid/pull/872) ([ThePenguin1140](https://github.com/ThePenguin1140)) | ||||||
|  | - Adding trapezoid and inverse trapezoid vertex options. [\#741](https://github.com/knsv/mermaid/pull/741) ([adamwulf](https://github.com/adamwulf)) | ||||||
|  |  | ||||||
|  | ## [8.1.0](https://github.com/knsv/mermaid/tree/8.1.0) (2019-06-25) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/7.0.5...8.1.0) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Gantt and sequence diagram do not render [\#853](https://github.com/knsv/mermaid/issues/853) | ||||||
|  | - margins around flowchart are not balanced [\#852](https://github.com/knsv/mermaid/issues/852) | ||||||
|  | - Smaller bundles [\#843](https://github.com/knsv/mermaid/issues/843) | ||||||
|  | - unicode in labels [\#776](https://github.com/knsv/mermaid/issues/776) | ||||||
|  | - Hard-changing drawing of arrows per edge type [\#775](https://github.com/knsv/mermaid/issues/775) | ||||||
|  | - SequenceDiagram wrong [\#773](https://github.com/knsv/mermaid/issues/773) | ||||||
|  | - Render mermaid on github pages with simple code [\#772](https://github.com/knsv/mermaid/issues/772) | ||||||
|  | - FlowChart - large space between text and the image [\#754](https://github.com/knsv/mermaid/issues/754) | ||||||
|  | - Class Diagram Issues when using Mermaid in Stackedit [\#748](https://github.com/knsv/mermaid/issues/748) | ||||||
|  | - Multi-platform CI [\#744](https://github.com/knsv/mermaid/issues/744) | ||||||
|  | - gantt: sections can't have a colon [\#742](https://github.com/knsv/mermaid/issues/742) | ||||||
|  | - Yarn build does not add mermaid.min.css to dist [\#732](https://github.com/knsv/mermaid/issues/732) | ||||||
|  | - Is there a grammar / keyword / more than just the basic examples? [\#718](https://github.com/knsv/mermaid/issues/718) | ||||||
|  | - Click event and react component [\#717](https://github.com/knsv/mermaid/issues/717) | ||||||
|  | - Long text going outside the box [\#706](https://github.com/knsv/mermaid/issues/706) | ||||||
|  | - How to migrate from yUML to mermaid? [\#704](https://github.com/knsv/mermaid/issues/704) | ||||||
|  | - Issue on Dynamic Creation in PHP [\#690](https://github.com/knsv/mermaid/issues/690) | ||||||
|  | - `click "\#target"` and `click "http://url"` should create regular links [\#689](https://github.com/knsv/mermaid/issues/689) | ||||||
|  | - Support Chinese punctuation [\#687](https://github.com/knsv/mermaid/issues/687) | ||||||
|  | - \[Question\] Proper way to install on Mac? [\#681](https://github.com/knsv/mermaid/issues/681) | ||||||
|  | - Has Mermaid a graphical interface to make diagrams? [\#668](https://github.com/knsv/mermaid/issues/668) | ||||||
|  | - mermaid installation on debian [\#649](https://github.com/knsv/mermaid/issues/649) | ||||||
|  | - "Cannot activate" in sequenceDiagram [\#647](https://github.com/knsv/mermaid/issues/647) | ||||||
|  | - Link \("click" statement\) in flowchart does not work in exported SVG [\#646](https://github.com/knsv/mermaid/issues/646) | ||||||
|  | - How to pass styling [\#639](https://github.com/knsv/mermaid/issues/639) | ||||||
|  | - The live editor cant show seq diagram with notes for 8.0.0-alpha.3 [\#638](https://github.com/knsv/mermaid/issues/638) | ||||||
|  | - import mermaid.css with ES6 + NPM [\#634](https://github.com/knsv/mermaid/issues/634) | ||||||
|  | - Actor line cuts through other elements [\#633](https://github.com/knsv/mermaid/issues/633) | ||||||
|  | - Graph TD line out of the picture \(left side\) [\#630](https://github.com/knsv/mermaid/issues/630) | ||||||
|  | - Flowchart labels appear "cutoff" [\#628](https://github.com/knsv/mermaid/issues/628) | ||||||
|  | - Uncaught TypeError: \_.constant is not a function \(mermaid.js\) [\#626](https://github.com/knsv/mermaid/issues/626) | ||||||
|  | - Missing tags and releases for newer versions [\#623](https://github.com/knsv/mermaid/issues/623) | ||||||
|  | - Mermaid and Leo / Leo Vue [\#622](https://github.com/knsv/mermaid/issues/622) | ||||||
|  | - mermaidAPI gantt Vue.js [\#621](https://github.com/knsv/mermaid/issues/621) | ||||||
|  | - Gantt sections are not separated by colors - Fix: set numberSectionStyles to 4 instead of 3 [\#620](https://github.com/knsv/mermaid/issues/620) | ||||||
|  | - how to get mermaidAPI? [\#617](https://github.com/knsv/mermaid/issues/617) | ||||||
|  | - Error in startOnLoad documentation? [\#616](https://github.com/knsv/mermaid/issues/616) | ||||||
|  | - Example export to SVG generates error [\#614](https://github.com/knsv/mermaid/issues/614) | ||||||
|  | - The new online editor does not support previously generated links [\#613](https://github.com/knsv/mermaid/issues/613) | ||||||
|  | - Grammar / Syntax documentation for flowcharts [\#607](https://github.com/knsv/mermaid/issues/607) | ||||||
|  | - Mermaid does not work with d3.js [\#606](https://github.com/knsv/mermaid/issues/606) | ||||||
|  | - Why does this code's flowchart lines get cut-off on screen? [\#604](https://github.com/knsv/mermaid/issues/604) | ||||||
|  | - click keyword does not fire my callback \(on the demo Website too\) [\#603](https://github.com/knsv/mermaid/issues/603) | ||||||
|  | - Online Editor fails to show exported SVG [\#601](https://github.com/knsv/mermaid/issues/601) | ||||||
|  | - Just saying thanks! [\#597](https://github.com/knsv/mermaid/issues/597) | ||||||
|  | - stylesheet crashed with other library like abcjs [\#596](https://github.com/knsv/mermaid/issues/596) | ||||||
|  | - Missing connection [\#594](https://github.com/knsv/mermaid/issues/594) | ||||||
|  | - How to use mermaid on node.js restful api? [\#593](https://github.com/knsv/mermaid/issues/593) | ||||||
|  | - Remove status code [\#589](https://github.com/knsv/mermaid/issues/589) | ||||||
|  | - Golang based editor [\#588](https://github.com/knsv/mermaid/issues/588) | ||||||
|  | - sequenceDiagram -\> notetext css font is hardcoded [\#587](https://github.com/knsv/mermaid/issues/587) | ||||||
|  | - Multiple graph in the live editor [\#586](https://github.com/knsv/mermaid/issues/586) | ||||||
|  | - All \<svg\> elements in page are colored black [\#584](https://github.com/knsv/mermaid/issues/584) | ||||||
|  | - Styling: classes aren't applied to elements. [\#582](https://github.com/knsv/mermaid/issues/582) | ||||||
|  | - Rounded connections [\#580](https://github.com/knsv/mermaid/issues/580) | ||||||
|  | - Arrows are not being shown correctly in the dark theme [\#578](https://github.com/knsv/mermaid/issues/578) | ||||||
|  | - The documentation for CLI seems outdated. [\#572](https://github.com/knsv/mermaid/issues/572) | ||||||
|  | - No effect of click event:can not open link [\#571](https://github.com/knsv/mermaid/issues/571) | ||||||
|  | - Text colors are not correct in VSCODE [\#570](https://github.com/knsv/mermaid/issues/570) | ||||||
|  | - Nodes aren't aligned properly \(just need an explanation\) [\#568](https://github.com/knsv/mermaid/issues/568) | ||||||
|  | - setting margin around figure in R [\#567](https://github.com/knsv/mermaid/issues/567) | ||||||
|  | - Arrows should Come out in upward and Downward direction from decision Node [\#566](https://github.com/knsv/mermaid/issues/566) | ||||||
|  | - TypeError: Cannot read property 'select' of undefined [\#563](https://github.com/knsv/mermaid/issues/563) | ||||||
|  | - A little bug [\#557](https://github.com/knsv/mermaid/issues/557) | ||||||
|  | - Japanese text appears garbled [\#554](https://github.com/knsv/mermaid/issues/554) | ||||||
|  | - classdiagram not works in mermaid live_editor [\#553](https://github.com/knsv/mermaid/issues/553) | ||||||
|  | - font awesome in link text? [\#546](https://github.com/knsv/mermaid/issues/546) | ||||||
|  | - q: heard of the cosmogol standard? [\#545](https://github.com/knsv/mermaid/issues/545) | ||||||
|  | - Arrow heads missing \(cli, 7.0.3\) [\#544](https://github.com/knsv/mermaid/issues/544) | ||||||
|  | - No Edge Boxes if useHtmlLabels=false [\#541](https://github.com/knsv/mermaid/issues/541) | ||||||
|  | - how to change mermaid text color or line text block color? [\#534](https://github.com/knsv/mermaid/issues/534) | ||||||
|  | - FlowChart visualization broken when downloading from live editor [\#533](https://github.com/knsv/mermaid/issues/533) | ||||||
|  | - Can't get flowchart to render paths at the top of the diagram; I even tried the online editor and that shows the same issue. Thoughts? [\#532](https://github.com/knsv/mermaid/issues/532) | ||||||
|  | - live editor make browser\(safari on macOS&iOS\) not longer respond [\#531](https://github.com/knsv/mermaid/issues/531) | ||||||
|  | - css classes need a prefix/namespace [\#527](https://github.com/knsv/mermaid/issues/527) | ||||||
|  | - input activate/deactivate cause safari unresponding [\#521](https://github.com/knsv/mermaid/issues/521) | ||||||
|  | - Cannot Render the Mermaid Graph to PDF ? [\#520](https://github.com/knsv/mermaid/issues/520) | ||||||
|  | - clicking links works from inset in subgraph but not from nodes [\#516](https://github.com/knsv/mermaid/issues/516) | ||||||
|  | - Strange syntax error - when importing mermaid.js [\#515](https://github.com/knsv/mermaid/issues/515) | ||||||
|  | - gantt x-axis display [\#510](https://github.com/knsv/mermaid/issues/510) | ||||||
|  | - phantomjs renamed to phantomjs-prebuilt [\#508](https://github.com/knsv/mermaid/issues/508) | ||||||
|  | - issue when using sphinxcontrib-mermaid extension for sphinx [\#507](https://github.com/knsv/mermaid/issues/507) | ||||||
|  | - layout of docs page looks broken [\#504](https://github.com/knsv/mermaid/issues/504) | ||||||
|  | - Problem showing graph with php on localhost [\#502](https://github.com/knsv/mermaid/issues/502) | ||||||
|  | - logLevel's option doesnt work at 7.0.0 [\#501](https://github.com/knsv/mermaid/issues/501) | ||||||
|  | - How do I get the log for a render or parse attempt? [\#500](https://github.com/knsv/mermaid/issues/500) | ||||||
|  | - Mermaid neutral style style to built in latest release [\#499](https://github.com/knsv/mermaid/issues/499) | ||||||
|  | - Any plans for adding a typescript definition file? [\#495](https://github.com/knsv/mermaid/issues/495) | ||||||
|  | - Gantt diagrams too narrow [\#493](https://github.com/knsv/mermaid/issues/493) | ||||||
|  | - Flowchart edge labels placement [\#490](https://github.com/knsv/mermaid/issues/490) | ||||||
|  | - Very different styles when rendering as png vs. svg [\#489](https://github.com/knsv/mermaid/issues/489) | ||||||
|  | - New editor that supports mermaid: Caret [\#488](https://github.com/knsv/mermaid/issues/488) | ||||||
|  | - Gant PNG margin [\#486](https://github.com/knsv/mermaid/issues/486) | ||||||
|  | - ReferenceError: window is not defined [\#485](https://github.com/knsv/mermaid/issues/485) | ||||||
|  | - Menu and layout bugs in docs [\#484](https://github.com/knsv/mermaid/issues/484) | ||||||
|  | - Mermaid resets some of the page CSS styles [\#482](https://github.com/knsv/mermaid/issues/482) | ||||||
|  | - Arrows rendering incorrectly in online editor [\#480](https://github.com/knsv/mermaid/issues/480) | ||||||
|  | - CSS stroke-dasharray ignored by browsers but not other viewers [\#474](https://github.com/knsv/mermaid/issues/474) | ||||||
|  | - mermaid - Browser Support issue [\#472](https://github.com/knsv/mermaid/issues/472) | ||||||
|  | - Totally love mermaid I might pop! [\#471](https://github.com/knsv/mermaid/issues/471) | ||||||
|  | - Sequence Diagram: Missing x on async arrows \(png\) [\#469](https://github.com/knsv/mermaid/issues/469) | ||||||
|  | - live editor: the svg file rendered from graph is not supported by browsers [\#468](https://github.com/knsv/mermaid/issues/468) | ||||||
|  | - Not found css [\#462](https://github.com/knsv/mermaid/issues/462) | ||||||
|  | - Phantomjs Dependency [\#461](https://github.com/knsv/mermaid/issues/461) | ||||||
|  | - Mermaid cli not working for subgraphs [\#459](https://github.com/knsv/mermaid/issues/459) | ||||||
|  | - Support for notes across multiple participants? [\#458](https://github.com/knsv/mermaid/issues/458) | ||||||
|  | - Related to Issue \#329: Phantomjs issues. [\#455](https://github.com/knsv/mermaid/issues/455) | ||||||
|  | - Add a click style [\#426](https://github.com/knsv/mermaid/issues/426) | ||||||
|  | - Add Parallel block \(par\) to sequence diagrams [\#425](https://github.com/knsv/mermaid/issues/425) | ||||||
|  | - updating shapes after the flow chart rendering complete [\#424](https://github.com/knsv/mermaid/issues/424) | ||||||
|  | - can't catch parse error Maximum call stack size exceeded on safari [\#421](https://github.com/knsv/mermaid/issues/421) | ||||||
|  | - Arrows endings are missing [\#419](https://github.com/knsv/mermaid/issues/419) | ||||||
|  | - shouldn't mermaid become more like Markdown ? [\#417](https://github.com/knsv/mermaid/issues/417) | ||||||
|  | - Live editor show rendered diagram if syntax invalid [\#415](https://github.com/knsv/mermaid/issues/415) | ||||||
|  | - Live editor sticky sidebar [\#414](https://github.com/knsv/mermaid/issues/414) | ||||||
|  | - Linkstyle stroke does not work [\#410](https://github.com/knsv/mermaid/issues/410) | ||||||
|  | - flowchart id's with dots in them .. break links [\#408](https://github.com/knsv/mermaid/issues/408) | ||||||
|  | - Flowchart: Link text beginning with lowercase 'o' causes flowchart to break [\#407](https://github.com/knsv/mermaid/issues/407) | ||||||
|  | - Some chinese character will case Safari no responding. [\#405](https://github.com/knsv/mermaid/issues/405) | ||||||
|  | - Cannot center-justify text in nodes? [\#397](https://github.com/knsv/mermaid/issues/397) | ||||||
|  | - Edge labels should have white background in live editor [\#396](https://github.com/knsv/mermaid/issues/396) | ||||||
|  | - Live editor does not support activate/deactivate [\#394](https://github.com/knsv/mermaid/issues/394) | ||||||
|  | - Styling subgraph? [\#391](https://github.com/knsv/mermaid/issues/391) | ||||||
|  | - Update live editor to version 6.0.0 [\#387](https://github.com/knsv/mermaid/issues/387) | ||||||
|  | - sequence diagram config issue [\#385](https://github.com/knsv/mermaid/issues/385) | ||||||
|  | - How to add newline in the text [\#384](https://github.com/knsv/mermaid/issues/384) | ||||||
|  | - PhantomJS crashes on a large graph [\#380](https://github.com/knsv/mermaid/issues/380) | ||||||
|  | - Finnish support for class diagrams using plantuml syntax [\#377](https://github.com/knsv/mermaid/issues/377) | ||||||
|  | - mermaidAPI.render generated different svg code from mermaid.int\(\) [\#374](https://github.com/knsv/mermaid/issues/374) | ||||||
|  | - Put your own action on the chart [\#372](https://github.com/knsv/mermaid/issues/372) | ||||||
|  | - when declaring participants the elements are generated twice [\#370](https://github.com/knsv/mermaid/issues/370) | ||||||
|  | - Example Flowchart is cut in display \(Chrome\). [\#368](https://github.com/knsv/mermaid/issues/368) | ||||||
|  | - Add shebang support to diagrams [\#365](https://github.com/knsv/mermaid/issues/365) | ||||||
|  | - Silencing CLI output [\#352](https://github.com/knsv/mermaid/issues/352) | ||||||
|  | - SequenceDiagram: 3+ Alternative Paths [\#348](https://github.com/knsv/mermaid/issues/348) | ||||||
|  | - Smaller height of actor boxes [\#342](https://github.com/knsv/mermaid/issues/342) | ||||||
|  | - Question: lib/phantomscript.js - foreignObjects in SVG - related to \#58 [\#340](https://github.com/knsv/mermaid/issues/340) | ||||||
|  | - npm test fails on osx being blocked at Can not load "PhantomJS", it is not registered! [\#337](https://github.com/knsv/mermaid/issues/337) | ||||||
|  | - Tabs & subgraphs cause rendering error [\#336](https://github.com/knsv/mermaid/issues/336) | ||||||
|  | - Display question: right angles [\#335](https://github.com/knsv/mermaid/issues/335) | ||||||
|  | - No Arrows rendered v0.5.8 [\#330](https://github.com/knsv/mermaid/issues/330) | ||||||
|  | - mermaid -v filename.mmd gives You must specify at least one source file. [\#328](https://github.com/knsv/mermaid/issues/328) | ||||||
|  | - You had errors in your syntax. Use --help for further information. [\#327](https://github.com/knsv/mermaid/issues/327) | ||||||
|  | - Allow alternate arrow syntax that doesn't close html comments [\#322](https://github.com/knsv/mermaid/issues/322) | ||||||
|  | - Comment in subgraph [\#319](https://github.com/knsv/mermaid/issues/319) | ||||||
|  | - Update graph [\#311](https://github.com/knsv/mermaid/issues/311) | ||||||
|  | - css conflicts with boostrap's css [\#308](https://github.com/knsv/mermaid/issues/308) | ||||||
|  | - Can not get click event to fire. [\#306](https://github.com/knsv/mermaid/issues/306) | ||||||
|  | - Fix phantomjs2 compatibility [\#304](https://github.com/knsv/mermaid/issues/304) | ||||||
|  | - Flowcharts do not work in native IE11 [\#303](https://github.com/knsv/mermaid/issues/303) | ||||||
|  | - Integration with remark.js - tutorial added [\#302](https://github.com/knsv/mermaid/issues/302) | ||||||
|  | - Theme for dark background [\#301](https://github.com/knsv/mermaid/issues/301) | ||||||
|  | - Sequence diagram Loops: changing boxMargin spoils the "loop" notation [\#299](https://github.com/knsv/mermaid/issues/299) | ||||||
|  | - src/mermaid.js generates bad code [\#297](https://github.com/knsv/mermaid/issues/297) | ||||||
|  | - Fresh fork: jasmine tests fail [\#294](https://github.com/knsv/mermaid/issues/294) | ||||||
|  | - CSS clash [\#292](https://github.com/knsv/mermaid/issues/292) | ||||||
|  | - Mermaid does not work in Chrome 48 [\#281](https://github.com/knsv/mermaid/issues/281) | ||||||
|  | - node click is not effective [\#272](https://github.com/knsv/mermaid/issues/272) | ||||||
|  | - circle and ellipse cannot change color by classDef [\#271](https://github.com/knsv/mermaid/issues/271) | ||||||
|  | - \[Feature request\] gantt diagram axis format [\#269](https://github.com/knsv/mermaid/issues/269) | ||||||
|  | - Not Able to See Labels even htmlLabels:false added [\#268](https://github.com/knsv/mermaid/issues/268) | ||||||
|  | - npm run watch doesn’t work due missing dependencies [\#266](https://github.com/knsv/mermaid/issues/266) | ||||||
|  | - label out of node [\#262](https://github.com/knsv/mermaid/issues/262) | ||||||
|  | - IE11 Support issue [\#261](https://github.com/knsv/mermaid/issues/261) | ||||||
|  | - mermaid without browser [\#260](https://github.com/knsv/mermaid/issues/260) | ||||||
|  | - Insufficient capacity of gantt diagrams [\#226](https://github.com/knsv/mermaid/issues/226) | ||||||
|  | - some WARN about installion [\#222](https://github.com/knsv/mermaid/issues/222) | ||||||
|  | - Live editor offline access [\#217](https://github.com/knsv/mermaid/issues/217) | ||||||
|  | - suggest: code highlight mode config for editors [\#212](https://github.com/knsv/mermaid/issues/212) | ||||||
|  | - Uncaught RangeError: Maximum call stack size exceeded [\#189](https://github.com/knsv/mermaid/issues/189) | ||||||
|  | - Implement render function for server side rendering using phantomjs [\#169](https://github.com/knsv/mermaid/issues/169) | ||||||
|  | - Styling label texts [\#50](https://github.com/knsv/mermaid/issues/50) | ||||||
|  | - Graphviz DOT syntax [\#5](https://github.com/knsv/mermaid/issues/5) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Remove console.log in classDB. [\#861](https://github.com/knsv/mermaid/pull/861) ([Arthaey](https://github.com/Arthaey)) | ||||||
|  | - Bump sshpk from 1.13.1 to 1.16.1 [\#851](https://github.com/knsv/mermaid/pull/851) ([dependabot[bot]](https://github.com/apps/dependabot)) | ||||||
|  | - Significantly smaller bundles [\#850](https://github.com/knsv/mermaid/pull/850) ([fabiospampinato](https://github.com/fabiospampinato)) | ||||||
|  | - Support styling of subgraphs [\#845](https://github.com/knsv/mermaid/pull/845) ([Qix-](https://github.com/Qix-)) | ||||||
|  | - fix dark theme loop labels not visible [\#837](https://github.com/knsv/mermaid/pull/837) ([jnnnnn](https://github.com/jnnnnn)) | ||||||
|  | - fix draw function can only call once [\#832](https://github.com/knsv/mermaid/pull/832) ([vaniship](https://github.com/vaniship)) | ||||||
|  | - Fix dotted lines not appearing in flowcharts when HTML labels disabled [\#828](https://github.com/knsv/mermaid/pull/828) ([stanhu](https://github.com/stanhu)) | ||||||
|  | - Fix issue with XML line breaks inside vertex labels [\#824](https://github.com/knsv/mermaid/pull/824) ([jsyang](https://github.com/jsyang)) | ||||||
|  | - fixed diagrams [\#810](https://github.com/knsv/mermaid/pull/810) ([0xflotus](https://github.com/0xflotus)) | ||||||
|  | - Clickable gantt tasks [\#804](https://github.com/knsv/mermaid/pull/804) ([abzicht](https://github.com/abzicht)) | ||||||
|  | - linkStyle now supports list of indexes with a few tests [\#798](https://github.com/knsv/mermaid/pull/798) ([ivan-danilov](https://github.com/ivan-danilov)) | ||||||
|  | - fix class diagram mermaid [\#795](https://github.com/knsv/mermaid/pull/795) ([DanShai](https://github.com/DanShai)) | ||||||
|  | - Added exclude weekdays to definition [\#792](https://github.com/knsv/mermaid/pull/792) ([jopapo](https://github.com/jopapo)) | ||||||
|  | - SVG link rendering [\#791](https://github.com/knsv/mermaid/pull/791) ([flying-sheep](https://github.com/flying-sheep)) | ||||||
|  | - Gantt milestones [\#788](https://github.com/knsv/mermaid/pull/788) ([gijswijs](https://github.com/gijswijs)) | ||||||
|  | - Remove duplicate code [\#768](https://github.com/knsv/mermaid/pull/768) ([znxkznxk1030](https://github.com/znxkznxk1030)) | ||||||
|  | - Render nodes as real links [\#765](https://github.com/knsv/mermaid/pull/765) ([flying-sheep](https://github.com/flying-sheep)) | ||||||
|  | - Support Multi-line Actor Descriptions [\#764](https://github.com/knsv/mermaid/pull/764) ([watsoncj](https://github.com/watsoncj)) | ||||||
|  | - Fix issue with marker-end. [\#757](https://github.com/knsv/mermaid/pull/757) ([gjlubbertsen](https://github.com/gjlubbertsen)) | ||||||
|  | - Make Class Diagrams usable in Stackedit and Live Editor [\#749](https://github.com/knsv/mermaid/pull/749) ([monsterkrampe](https://github.com/monsterkrampe)) | ||||||
|  | - Sequence numbers [\#722](https://github.com/knsv/mermaid/pull/722) ([paulbland](https://github.com/paulbland)) | ||||||
|  | - Add option for right angles [\#721](https://github.com/knsv/mermaid/pull/721) ([paulbland](https://github.com/paulbland)) | ||||||
|  | - Add nested activation classes [\#720](https://github.com/knsv/mermaid/pull/720) ([paulbland](https://github.com/paulbland)) | ||||||
|  | - wip: class diagram cardinality display [\#705](https://github.com/knsv/mermaid/pull/705) ([Vrixyz](https://github.com/Vrixyz)) | ||||||
|  | - add comments about CSS in config [\#688](https://github.com/knsv/mermaid/pull/688) ([imma90](https://github.com/imma90)) | ||||||
|  | - SequenceDiagram: Add support for multiple alt else statements [\#641](https://github.com/knsv/mermaid/pull/641) ([sechel](https://github.com/sechel)) | ||||||
|  | - fix \#426 - add class .clickable on nodes with click function or link [\#598](https://github.com/knsv/mermaid/pull/598) ([thomasleveil](https://github.com/thomasleveil)) | ||||||
|  | - Spec fix 1 [\#595](https://github.com/knsv/mermaid/pull/595) ([frankschmitt](https://github.com/frankschmitt)) | ||||||
|  |  | ||||||
|  | ## [7.0.5](https://github.com/knsv/mermaid/tree/7.0.5) (2017-09-01) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/7.0.3...7.0.5) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - live editor latin error after update [\#560](https://github.com/knsv/mermaid/issues/560) | ||||||
|  | - Simple full example in online documentation is broken [\#558](https://github.com/knsv/mermaid/issues/558) | ||||||
|  | - Graph No Arrow Head v7.0.3 [\#543](https://github.com/knsv/mermaid/issues/543) | ||||||
|  | - Conflict while using mermaid along with core-js [\#512](https://github.com/knsv/mermaid/issues/512) | ||||||
|  | - Export to pdf on website [\#496](https://github.com/knsv/mermaid/issues/496) | ||||||
|  | - New downstream project: Mermaid Preview for VSCode [\#442](https://github.com/knsv/mermaid/issues/442) | ||||||
|  | - Can't Zoom the flowchart ? [\#399](https://github.com/knsv/mermaid/issues/399) | ||||||
|  | - line labels are not rendered correctly in live editor [\#366](https://github.com/knsv/mermaid/issues/366) | ||||||
|  | - mermaid-loader [\#361](https://github.com/knsv/mermaid/issues/361) | ||||||
|  | - Are there any documentation or examples for classDiagram and gitGraph? [\#359](https://github.com/knsv/mermaid/issues/359) | ||||||
|  | - \# character broken in 0.5.8 [\#347](https://github.com/knsv/mermaid/issues/347) | ||||||
|  | - Documentation issue: CSS example is not visible [\#345](https://github.com/knsv/mermaid/issues/345) | ||||||
|  | - Include documentation for command line usage [\#326](https://github.com/knsv/mermaid/issues/326) | ||||||
|  | - Fresh fork: can't build dist [\#296](https://github.com/knsv/mermaid/issues/296) | ||||||
|  | - Invalid value for \<svg\> attribute viewBox="0 0 -Infinity -Infinity" [\#291](https://github.com/knsv/mermaid/issues/291) | ||||||
|  | - Webpack require fails [\#277](https://github.com/knsv/mermaid/issues/277) | ||||||
|  | - New documentation - need improved logo [\#216](https://github.com/knsv/mermaid/issues/216) | ||||||
|  |  | ||||||
|  | ## [7.0.3](https://github.com/knsv/mermaid/tree/7.0.3) (2017-06-04) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/7.0.2...7.0.3) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - the documentation website is down [\#539](https://github.com/knsv/mermaid/issues/539) | ||||||
|  | - Good example of interactivity with mermaidAPI [\#514](https://github.com/knsv/mermaid/issues/514) | ||||||
|  |  | ||||||
|  | ## [7.0.2](https://github.com/knsv/mermaid/tree/7.0.2) (2017-06-01) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/7.0.0...7.0.2) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - CDN is not working [\#511](https://github.com/knsv/mermaid/issues/511) | ||||||
|  | - A sampe sequenceDiagram crashes mermaid-cli [\#492](https://github.com/knsv/mermaid/issues/492) | ||||||
|  | - Mermaid doesn't delete nodes when called multiple times [\#491](https://github.com/knsv/mermaid/issues/491) | ||||||
|  | - API crashes on 2nd render\(\) call [\#478](https://github.com/knsv/mermaid/issues/478) | ||||||
|  | - sequenceDiagram: dotted line for alt and empty bracket should be hidden [\#456](https://github.com/knsv/mermaid/issues/456) | ||||||
|  | - SVG output \(almost\) not correct [\#434](https://github.com/knsv/mermaid/issues/434) | ||||||
|  | - How to set axisFormatter of gantt in mermaid CLI? [\#428](https://github.com/knsv/mermaid/issues/428) | ||||||
|  | - customizing link style with any color sets `fill` property to `black` instead of `none` [\#416](https://github.com/knsv/mermaid/issues/416) | ||||||
|  | - New line at the end of SVG file [\#400](https://github.com/knsv/mermaid/issues/400) | ||||||
|  | - CLI doesn't work [\#389](https://github.com/knsv/mermaid/issues/389) | ||||||
|  | - Can't render subgraphs with htmlLabels: false [\#367](https://github.com/knsv/mermaid/issues/367) | ||||||
|  | - Color arrowhead [\#362](https://github.com/knsv/mermaid/issues/362) | ||||||
|  | - CLI: Invisible text, lines in SVG output [\#341](https://github.com/knsv/mermaid/issues/341) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Update Travis config [\#538](https://github.com/knsv/mermaid/pull/538) ([tylerlong](https://github.com/tylerlong)) | ||||||
|  | - Fix spelling of 'you' in sequenceDiagram docs [\#537](https://github.com/knsv/mermaid/pull/537) ([ctruelson](https://github.com/ctruelson)) | ||||||
|  | - Improve CLI output [\#536](https://github.com/knsv/mermaid/pull/536) ([gibson042](https://github.com/gibson042)) | ||||||
|  | - Modernize mermaid [\#524](https://github.com/knsv/mermaid/pull/524) ([tylerlong](https://github.com/tylerlong)) | ||||||
|  | - Modernize mermaid [\#519](https://github.com/knsv/mermaid/pull/519) ([tylerlong](https://github.com/tylerlong)) | ||||||
|  | - Update CLI instructions [\#509](https://github.com/knsv/mermaid/pull/509) ([filipedeschamps](https://github.com/filipedeschamps)) | ||||||
|  | - Add style for classDiagram to dark/default theme [\#503](https://github.com/knsv/mermaid/pull/503) ([yudenzel](https://github.com/yudenzel)) | ||||||
|  | - Fix documentation for git graph. [\#498](https://github.com/knsv/mermaid/pull/498) ([gomlgs](https://github.com/gomlgs)) | ||||||
|  | - Fix links in documentations [\#497](https://github.com/knsv/mermaid/pull/497) ([saveman71](https://github.com/saveman71)) | ||||||
|  | - Update README.md with git graph sample [\#481](https://github.com/knsv/mermaid/pull/481) ([raghur](https://github.com/raghur)) | ||||||
|  | - Fix misspelling of “another” [\#479](https://github.com/knsv/mermaid/pull/479) ([stevenschobert](https://github.com/stevenschobert)) | ||||||
|  | - Fixed \#456 sequenceDiagram: dotted line for alt and empty bracket sho… [\#477](https://github.com/knsv/mermaid/pull/477) ([brookhong](https://github.com/brookhong)) | ||||||
|  | - Add viewbox attr to class diagram [\#473](https://github.com/knsv/mermaid/pull/473) ([gnkm](https://github.com/gnkm)) | ||||||
|  | - add par statement to sequenceDiagram [\#470](https://github.com/knsv/mermaid/pull/470) ([u-minor](https://github.com/u-minor)) | ||||||
|  |  | ||||||
|  | ## [7.0.0](https://github.com/knsv/mermaid/tree/7.0.0) (2017-01-29) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/6.0.0...7.0.0) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - demos on io site not working [\#466](https://github.com/knsv/mermaid/issues/466) | ||||||
|  | - Can not be generated PNG pictures through CLI with Chinese [\#451](https://github.com/knsv/mermaid/issues/451) | ||||||
|  | - Round nodes cannot be styled with CSS classes [\#443](https://github.com/knsv/mermaid/issues/443) | ||||||
|  | - webpack gulp UglifyJsPlugin error. [\#440](https://github.com/knsv/mermaid/issues/440) | ||||||
|  | - String concatenation isn't working [\#432](https://github.com/knsv/mermaid/issues/432) | ||||||
|  | - text flow/wrap in actor box of sequence diagram [\#422](https://github.com/knsv/mermaid/issues/422) | ||||||
|  | - Online live editor still use old version [\#402](https://github.com/knsv/mermaid/issues/402) | ||||||
|  | - uncaught TypeError: t.getTransformToElement is not a function [\#401](https://github.com/knsv/mermaid/issues/401) | ||||||
|  | - Only works when using browserify'd code [\#373](https://github.com/knsv/mermaid/issues/373) | ||||||
|  | - document the use of shebang line in mmd files [\#364](https://github.com/knsv/mermaid/issues/364) | ||||||
|  | - Diagrams are small and unreadable in IE 11 - since 0.5.1 [\#356](https://github.com/knsv/mermaid/issues/356) | ||||||
|  | - \[Feature Request\] ER-Diagram Support [\#354](https://github.com/knsv/mermaid/issues/354) | ||||||
|  | - npm install -g mermaid does not install phantomjs [\#329](https://github.com/knsv/mermaid/issues/329) | ||||||
|  | - activation boxes [\#313](https://github.com/knsv/mermaid/issues/313) | ||||||
|  | - The need for mermaid.css should be mentioned explicitly in the intro docs... [\#273](https://github.com/knsv/mermaid/issues/273) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Update index.html [\#465](https://github.com/knsv/mermaid/pull/465) ([bmsleight](https://github.com/bmsleight)) | ||||||
|  | - Fix for \#416, customizing link style with any color sets `fill` property to `black` instead of `none` [\#452](https://github.com/knsv/mermaid/pull/452) ([joshuacolvin](https://github.com/joshuacolvin)) | ||||||
|  | - Allow .node\>circle to receive css styles [\#449](https://github.com/knsv/mermaid/pull/449) ([bfriedz](https://github.com/bfriedz)) | ||||||
|  | - Fix spelling [\#447](https://github.com/knsv/mermaid/pull/447) ([jawn](https://github.com/jawn)) | ||||||
|  | - added tests and fix cli css style selector lowercase problem [\#445](https://github.com/knsv/mermaid/pull/445) ([whyzdev](https://github.com/whyzdev)) | ||||||
|  | - Update d3.js [\#441](https://github.com/knsv/mermaid/pull/441) ([hetz](https://github.com/hetz)) | ||||||
|  | - adde tests to reproduce \#434 in flowchart [\#439](https://github.com/knsv/mermaid/pull/439) ([whyzdev](https://github.com/whyzdev)) | ||||||
|  | - Code Climate config [\#437](https://github.com/knsv/mermaid/pull/437) ([larkinscott](https://github.com/larkinscott)) | ||||||
|  | - fix gantt and sequence digram cli cfg [\#435](https://github.com/knsv/mermaid/pull/435) ([whyzdev](https://github.com/whyzdev)) | ||||||
|  | - fix gantt chart cli configuration broken [\#433](https://github.com/knsv/mermaid/pull/433) ([whyzdev](https://github.com/whyzdev)) | ||||||
|  | - fix gantt chart cli configuration parsing including functions [\#430](https://github.com/knsv/mermaid/pull/430) ([whyzdev](https://github.com/whyzdev)) | ||||||
|  | - Uses an empty text node instead of a string for svg group labels [\#429](https://github.com/knsv/mermaid/pull/429) ([daveaglick](https://github.com/daveaglick)) | ||||||
|  | - use tspan via d3.textwrap to place actor text in sequence diagram [\#427](https://github.com/knsv/mermaid/pull/427) ([whyzdev](https://github.com/whyzdev)) | ||||||
|  | - \#422 use foreignObject/div to place actor label in sequence diagram [\#423](https://github.com/knsv/mermaid/pull/423) ([whyzdev](https://github.com/whyzdev)) | ||||||
|  | - Clarify the need for a CSS stylesheet [\#413](https://github.com/knsv/mermaid/pull/413) ([sifb](https://github.com/sifb)) | ||||||
|  | - Added hads downstream project [\#412](https://github.com/knsv/mermaid/pull/412) ([sinedied](https://github.com/sinedied)) | ||||||
|  | - update usage and fix \#273 [\#406](https://github.com/knsv/mermaid/pull/406) ([jinntrance](https://github.com/jinntrance)) | ||||||
|  | - Add https://github.com/raghur/mermaid-filter to downstream projects docs page [\#404](https://github.com/knsv/mermaid/pull/404) ([raghur](https://github.com/raghur)) | ||||||
|  | - New neutral theme [\#395](https://github.com/knsv/mermaid/pull/395) ([sinedied](https://github.com/sinedied)) | ||||||
|  | - fix cli issues [\#390](https://github.com/knsv/mermaid/pull/390) ([ben-page](https://github.com/ben-page)) | ||||||
|  | - Add missing space for 'Labels out of bounds' section [\#386](https://github.com/knsv/mermaid/pull/386) ([The-Alchemist](https://github.com/The-Alchemist)) | ||||||
|  | - Fix typo: `pats` -\> `paths` [\#382](https://github.com/knsv/mermaid/pull/382) ([swhgoon](https://github.com/swhgoon)) | ||||||
|  | - Added class diagram example to README.md [\#379](https://github.com/knsv/mermaid/pull/379) ([HustLion](https://github.com/HustLion)) | ||||||
|  | - override normal flowchart arrowhead to allow css styling [\#376](https://github.com/knsv/mermaid/pull/376) ([dodoinblue](https://github.com/dodoinblue)) | ||||||
|  | - added sphinx extension [\#371](https://github.com/knsv/mermaid/pull/371) ([mgaitan](https://github.com/mgaitan)) | ||||||
|  | - Fix typo in the sequence diagram documentation [\#369](https://github.com/knsv/mermaid/pull/369) ([ggpasqualino](https://github.com/ggpasqualino)) | ||||||
|  |  | ||||||
|  | ## [6.0.0](https://github.com/knsv/mermaid/tree/6.0.0) (2016-05-29) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.8...6.0.0) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Docs css: code hard to read [\#324](https://github.com/knsv/mermaid/issues/324) | ||||||
|  | - About Markpad integration [\#323](https://github.com/knsv/mermaid/issues/323) | ||||||
|  | - How to link backwords in flowchat? [\#321](https://github.com/knsv/mermaid/issues/321) | ||||||
|  | - Help with editor [\#310](https://github.com/knsv/mermaid/issues/310) | ||||||
|  | - +1 [\#293](https://github.com/knsv/mermaid/issues/293) | ||||||
|  | - Basic chart does not render on Chome, but does in Firefox [\#290](https://github.com/knsv/mermaid/issues/290) | ||||||
|  | - Live editor is broken [\#285](https://github.com/knsv/mermaid/issues/285) | ||||||
|  | - "No such file or directory" trying to run mermaid 0.5.7 on OS X [\#284](https://github.com/knsv/mermaid/issues/284) | ||||||
|  | - participant name as "Long Long Name" [\#283](https://github.com/knsv/mermaid/issues/283) | ||||||
|  | - Windows - cli - could not find phantomjs at the specified path [\#236](https://github.com/knsv/mermaid/issues/236) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - The option of gantt for the spaces for the section names. [\#353](https://github.com/knsv/mermaid/pull/353) ([zeroyonichihachi](https://github.com/zeroyonichihachi)) | ||||||
|  | - Gitgraph: Make reset work with parent ref carets [\#350](https://github.com/knsv/mermaid/pull/350) ([raghur](https://github.com/raghur)) | ||||||
|  | - Remove the text-shadows that make the text look blurry [\#349](https://github.com/knsv/mermaid/pull/349) ([AsaAyers](https://github.com/AsaAyers)) | ||||||
|  | - add line interpolation to linkStyle in flowchart [\#346](https://github.com/knsv/mermaid/pull/346) ([AlanHohn](https://github.com/AlanHohn)) | ||||||
|  | - Support git graph diagrams in mermaid [\#344](https://github.com/knsv/mermaid/pull/344) ([raghur](https://github.com/raghur)) | ||||||
|  | - Build and test execution changes [\#338](https://github.com/knsv/mermaid/pull/338) ([ssbarnea](https://github.com/ssbarnea)) | ||||||
|  | - Reformatting of css files [\#331](https://github.com/knsv/mermaid/pull/331) ([Jmuccigr](https://github.com/Jmuccigr)) | ||||||
|  | - \(WIP\) Sequence Diagram Title Support [\#320](https://github.com/knsv/mermaid/pull/320) ([bronsoja](https://github.com/bronsoja)) | ||||||
|  | - activations doc + few fixes [\#318](https://github.com/knsv/mermaid/pull/318) ([ciekawy](https://github.com/ciekawy)) | ||||||
|  | - Dark theme for better contrast on darker backgrounds [\#317](https://github.com/knsv/mermaid/pull/317) ([crodriguez1a](https://github.com/crodriguez1a)) | ||||||
|  | - Activations [\#316](https://github.com/knsv/mermaid/pull/316) ([ciekawy](https://github.com/ciekawy)) | ||||||
|  | - Support leading comments for sequenceDiagrams [\#312](https://github.com/knsv/mermaid/pull/312) ([ashsearle](https://github.com/ashsearle)) | ||||||
|  | - Show a little lenience for white-space around names [\#309](https://github.com/knsv/mermaid/pull/309) ([ashsearle](https://github.com/ashsearle)) | ||||||
|  | - Update list of downstream projects [\#307](https://github.com/knsv/mermaid/pull/307) ([maxArturo](https://github.com/maxArturo)) | ||||||
|  | - Issue 299: Sequence diagram Loops: changing boxMargin spoils the "loop" notation [\#300](https://github.com/knsv/mermaid/pull/300) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) | ||||||
|  | - Issue 297 - src/mermaid.js generates bad code [\#298](https://github.com/knsv/mermaid/pull/298) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) | ||||||
|  | - Updated instructions for running tests [\#295](https://github.com/knsv/mermaid/pull/295) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) | ||||||
|  | - Add Markdown Plus to Downstream projects [\#288](https://github.com/knsv/mermaid/pull/288) ([tylerlong](https://github.com/tylerlong)) | ||||||
|  | - Quote phantomPath so that it doesn't fail on window [\#286](https://github.com/knsv/mermaid/pull/286) ([raghur](https://github.com/raghur)) | ||||||
|  |  | ||||||
|  | ## [0.5.8](https://github.com/knsv/mermaid/tree/0.5.8) (2016-01-27) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.7...0.5.8) | ||||||
|  |  | ||||||
|  | ## [0.5.7](https://github.com/knsv/mermaid/tree/0.5.7) (2016-01-25) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.6...0.5.7) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Mermaid + LightPaper = ❤️ [\#280](https://github.com/knsv/mermaid/issues/280) | ||||||
|  | - Bower Integration [\#278](https://github.com/knsv/mermaid/issues/278) | ||||||
|  | - Mermaid breaks when variables end in 'v' [\#276](https://github.com/knsv/mermaid/issues/276) | ||||||
|  | - sequence diagrams don't support participant aliasing [\#263](https://github.com/knsv/mermaid/issues/263) | ||||||
|  | - One diagram that fails to render stops further execution on the page [\#259](https://github.com/knsv/mermaid/issues/259) | ||||||
|  | - Where to find line layout algorithm? [\#258](https://github.com/knsv/mermaid/issues/258) | ||||||
|  | - Compatibility with node.js [\#257](https://github.com/knsv/mermaid/issues/257) | ||||||
|  | - Label resizing with dynamically loaded fonts [\#255](https://github.com/knsv/mermaid/issues/255) | ||||||
|  | - SVG arrowheads are broken in the CLI [\#249](https://github.com/knsv/mermaid/issues/249) | ||||||
|  | - Cannot read property 'replace' of undefined [\#239](https://github.com/knsv/mermaid/issues/239) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - gh-50 Allow styling of edge labels in css [\#267](https://github.com/knsv/mermaid/pull/267) ([Anoia](https://github.com/Anoia)) | ||||||
|  | - Allow sequenceDiagram participant aliasing [\#265](https://github.com/knsv/mermaid/pull/265) ([gibson042](https://github.com/gibson042)) | ||||||
|  |  | ||||||
|  | ## [0.5.6](https://github.com/knsv/mermaid/tree/0.5.6) (2015-11-22) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.5...0.5.6) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - title doesn't work in sequenceDiagram [\#248](https://github.com/knsv/mermaid/issues/248) | ||||||
|  | - hypen-minus should be valid in sequence diagram alt/else/etc. descriptions [\#247](https://github.com/knsv/mermaid/issues/247) | ||||||
|  | - Broken in firefox? [\#245](https://github.com/knsv/mermaid/issues/245) | ||||||
|  | - When there is a Chinese symbol in the flowchart, it will crash。 [\#238](https://github.com/knsv/mermaid/issues/238) | ||||||
|  | - Non-alpha characters included in ALPHA token \(flow graph jison\) [\#232](https://github.com/knsv/mermaid/issues/232) | ||||||
|  | - subgraph not rendering with change to sample [\#231](https://github.com/knsv/mermaid/issues/231) | ||||||
|  | - sequence diagram requires a new line at the end? [\#229](https://github.com/knsv/mermaid/issues/229) | ||||||
|  | - Live Editor: Permalink address not being parsed [\#202](https://github.com/knsv/mermaid/issues/202) | ||||||
|  | - Add download SVG link to the live editor [\#144](https://github.com/knsv/mermaid/issues/144) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Make sequenceDiagram terminal newline optional [\#253](https://github.com/knsv/mermaid/pull/253) ([gibson042](https://github.com/gibson042)) | ||||||
|  | - Support sequenceDiagram "over" notes [\#252](https://github.com/knsv/mermaid/pull/252) ([gibson042](https://github.com/gibson042)) | ||||||
|  | - Properly handle "rest of line" statements [\#251](https://github.com/knsv/mermaid/pull/251) ([gibson042](https://github.com/gibson042)) | ||||||
|  | - CLI: Propagate exit code from lib \(i.e., phantomjs\) [\#250](https://github.com/knsv/mermaid/pull/250) ([gibson042](https://github.com/gibson042)) | ||||||
|  | - flowRender.js - Fix FontAwesome icon insert [\#244](https://github.com/knsv/mermaid/pull/244) ([ma-zal](https://github.com/ma-zal)) | ||||||
|  | - updated sequence diagram link in live editor [\#242](https://github.com/knsv/mermaid/pull/242) ([r-a-v-a-s](https://github.com/r-a-v-a-s)) | ||||||
|  | - updated links in README.md [\#240](https://github.com/knsv/mermaid/pull/240) ([r-a-v-a-s](https://github.com/r-a-v-a-s)) | ||||||
|  | - Ellipse syntax [\#237](https://github.com/knsv/mermaid/pull/237) ([spect88](https://github.com/spect88)) | ||||||
|  | - Allow keywords as suffixes of node ids [\#235](https://github.com/knsv/mermaid/pull/235) ([spect88](https://github.com/spect88)) | ||||||
|  | - Highlighted the editor in the nav [\#234](https://github.com/knsv/mermaid/pull/234) ([knsv](https://github.com/knsv)) | ||||||
|  | - Live editor tweaks [\#233](https://github.com/knsv/mermaid/pull/233) ([spect88](https://github.com/spect88)) | ||||||
|  | - Add a Gitter chat badge to README.md [\#230](https://github.com/knsv/mermaid/pull/230) ([gitter-badger](https://github.com/gitter-badger)) | ||||||
|  |  | ||||||
|  | ## [0.5.5](https://github.com/knsv/mermaid/tree/0.5.5) (2015-10-21) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.4...0.5.5) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - sequence diagram, arrowhead instead of crosshead [\#227](https://github.com/knsv/mermaid/issues/227) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Fix a typo: crosshead --\> arrowhead [\#228](https://github.com/knsv/mermaid/pull/228) ([tylerlong](https://github.com/tylerlong)) | ||||||
|  |  | ||||||
|  | ## [0.5.4](https://github.com/knsv/mermaid/tree/0.5.4) (2015-10-19) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.3...0.5.4) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Weird bug in live editor when using words with substring `end` [\#184](https://github.com/knsv/mermaid/issues/184) | ||||||
|  | - Custom icons [\#15](https://github.com/knsv/mermaid/issues/15) | ||||||
|  | - Marker-end arrow cannot be shown for URL with query parameter [\#225](https://github.com/knsv/mermaid/issues/225) | ||||||
|  | - Please update bower's D3 version [\#221](https://github.com/knsv/mermaid/issues/221) | ||||||
|  | - Set log level from mermaid configuration [\#220](https://github.com/knsv/mermaid/issues/220) | ||||||
|  | - Width fixed to 400px [\#204](https://github.com/knsv/mermaid/issues/204) | ||||||
|  | - render to png from the cli does not display the marker-end arrow heads [\#181](https://github.com/knsv/mermaid/issues/181) | ||||||
|  | - Links in sequence diagrams [\#159](https://github.com/knsv/mermaid/issues/159) | ||||||
|  | - comment characters `%%` cause parse error [\#141](https://github.com/knsv/mermaid/issues/141) | ||||||
|  | - Add a reversed assymetric shape [\#124](https://github.com/knsv/mermaid/issues/124) | ||||||
|  | - Add syntax for double headed arrows [\#123](https://github.com/knsv/mermaid/issues/123) | ||||||
|  | - Support for font-awesome [\#49](https://github.com/knsv/mermaid/issues/49) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Allow `end` as a substring of vertex id [\#224](https://github.com/knsv/mermaid/pull/224) ([spect88](https://github.com/spect88)) | ||||||
|  | - Remove duplicate npm dependencies: d3 and he [\#223](https://github.com/knsv/mermaid/pull/223) ([spect88](https://github.com/spect88)) | ||||||
|  |  | ||||||
|  | ## [0.5.3](https://github.com/knsv/mermaid/tree/0.5.3) (2015-10-04) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.2...0.5.3) | ||||||
|  |  | ||||||
|  | ## [0.5.2](https://github.com/knsv/mermaid/tree/0.5.2) (2015-10-04) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.1...0.5.2) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Installing “atom-mermaid@0.1.3” failed [\#218](https://github.com/knsv/mermaid/issues/218) | ||||||
|  | - Render mermaid code on websites? [\#215](https://github.com/knsv/mermaid/issues/215) | ||||||
|  | - Brackets in a node with text? [\#213](https://github.com/knsv/mermaid/issues/213) | ||||||
|  | - node feature request [\#211](https://github.com/knsv/mermaid/issues/211) | ||||||
|  | - Please add prefix for styles [\#208](https://github.com/knsv/mermaid/issues/208) | ||||||
|  | - Bad handling of block arguments [\#207](https://github.com/knsv/mermaid/issues/207) | ||||||
|  | - please consider port to mac osx [\#203](https://github.com/knsv/mermaid/issues/203) | ||||||
|  | - allow phantomjs \>=1.9.x [\#201](https://github.com/knsv/mermaid/issues/201) | ||||||
|  | - syntax for venn diagrams? [\#200](https://github.com/knsv/mermaid/issues/200) | ||||||
|  | - Broken CLI Graphs? \(v0.5.1\) [\#196](https://github.com/knsv/mermaid/issues/196) | ||||||
|  | - Static site does not render under HTTPS [\#194](https://github.com/knsv/mermaid/issues/194) | ||||||
|  | - Error on simple graph [\#192](https://github.com/knsv/mermaid/issues/192) | ||||||
|  | - Escape "~" [\#191](https://github.com/knsv/mermaid/issues/191) | ||||||
|  | - Trying to add link using 'click' to flowchart [\#188](https://github.com/knsv/mermaid/issues/188) | ||||||
|  | - cli: no lines and arrowheads rendered / only dotted lines [\#187](https://github.com/knsv/mermaid/issues/187) | ||||||
|  | - text of mermaid div displayed on page [\#186](https://github.com/knsv/mermaid/issues/186) | ||||||
|  | - using mermaid with laravel [\#185](https://github.com/knsv/mermaid/issues/185) | ||||||
|  | - Atom editor package [\#183](https://github.com/knsv/mermaid/issues/183) | ||||||
|  | - Auto linewrap for notes in sequence diagrams [\#178](https://github.com/knsv/mermaid/issues/178) | ||||||
|  | - Execute code after initialize [\#176](https://github.com/knsv/mermaid/issues/176) | ||||||
|  | - Autoscaling for all diagram types [\#175](https://github.com/knsv/mermaid/issues/175) | ||||||
|  | - Problem wit click event callback [\#174](https://github.com/knsv/mermaid/issues/174) | ||||||
|  | - How to escape characters? [\#170](https://github.com/knsv/mermaid/issues/170) | ||||||
|  | - it can not work [\#167](https://github.com/knsv/mermaid/issues/167) | ||||||
|  | - UML Class diagram [\#154](https://github.com/knsv/mermaid/issues/154) | ||||||
|  | - Broken subgraph using the CLI [\#153](https://github.com/knsv/mermaid/issues/153) | ||||||
|  | - Support PlantUML syntax [\#149](https://github.com/knsv/mermaid/issues/149) | ||||||
|  | - IE Support issue [\#142](https://github.com/knsv/mermaid/issues/142) | ||||||
|  | - Flowchart truncated [\#140](https://github.com/knsv/mermaid/issues/140) | ||||||
|  | - Double Quote as text is not working [\#219](https://github.com/knsv/mermaid/issues/219) | ||||||
|  | - classDef / class not working with htmlLabels? [\#210](https://github.com/knsv/mermaid/issues/210) | ||||||
|  | - Links in graph missing [\#209](https://github.com/knsv/mermaid/issues/209) | ||||||
|  | - Last word in comment boxes getting cut off by word wrap library : \( [\#195](https://github.com/knsv/mermaid/issues/195) | ||||||
|  | - Escaping characters in sequence diagram [\#193](https://github.com/knsv/mermaid/issues/193) | ||||||
|  | - SVG foreignObject rendering [\#180](https://github.com/knsv/mermaid/issues/180) | ||||||
|  | - IE9 issue [\#179](https://github.com/knsv/mermaid/issues/179) | ||||||
|  | - inoperable in an AMD/requirejs environment: IPython Notebook [\#127](https://github.com/knsv/mermaid/issues/127) | ||||||
|  | - \[Parser\] Hyphen in participant name bring TypeError [\#74](https://github.com/knsv/mermaid/issues/74) | ||||||
|  | - Support for hyperlink and tooltip [\#34](https://github.com/knsv/mermaid/issues/34) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Update flowchart.md [\#214](https://github.com/knsv/mermaid/pull/214) ([orschiro](https://github.com/orschiro)) | ||||||
|  | - Default style when using the CLI [\#205](https://github.com/knsv/mermaid/pull/205) ([gillesdemey](https://github.com/gillesdemey)) | ||||||
|  | - Gantt chart - add minutes and seconds durations [\#198](https://github.com/knsv/mermaid/pull/198) ([dbrans](https://github.com/dbrans)) | ||||||
|  | - Using QUnit for AMD testing [\#190](https://github.com/knsv/mermaid/pull/190) ([bollwyvl](https://github.com/bollwyvl)) | ||||||
|  | - Update phantomscript.js [\#182](https://github.com/knsv/mermaid/pull/182) ([phairow](https://github.com/phairow)) | ||||||
|  |  | ||||||
|  | ## [0.5.1](https://github.com/knsv/mermaid/tree/0.5.1) (2015-06-21) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.5.0...0.5.1) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Live editor is broken [\#173](https://github.com/knsv/mermaid/issues/173) | ||||||
|  | - 0.5.0 no longer respects custom date definitions in Gantt diagrams [\#171](https://github.com/knsv/mermaid/issues/171) | ||||||
|  | - Drop label character restrictions [\#162](https://github.com/knsv/mermaid/issues/162) | ||||||
|  | - can't nest subgraphs in flowchart [\#161](https://github.com/knsv/mermaid/issues/161) | ||||||
|  | - Unable to generate gantt diagram with mermaid CLI [\#158](https://github.com/knsv/mermaid/issues/158) | ||||||
|  | - Inline css by "mermaid" [\#157](https://github.com/knsv/mermaid/issues/157) | ||||||
|  | - Finite State Machine Diagram [\#152](https://github.com/knsv/mermaid/issues/152) | ||||||
|  | - How to center align gantt diagram [\#150](https://github.com/knsv/mermaid/issues/150) | ||||||
|  | - Security concern regarding class definition [\#148](https://github.com/knsv/mermaid/issues/148) | ||||||
|  | - File Extension [\#147](https://github.com/knsv/mermaid/issues/147) | ||||||
|  | - To SVG Export [\#146](https://github.com/knsv/mermaid/issues/146) | ||||||
|  | - `setTimeout` with clusters problematic with programmatic edits and no callback [\#133](https://github.com/knsv/mermaid/issues/133) | ||||||
|  | - Possibility to set the width of the generated flowchart [\#129](https://github.com/knsv/mermaid/issues/129) | ||||||
|  | - flowchart - styling of edges via css overrides specific styles set in the graph definition [\#128](https://github.com/knsv/mermaid/issues/128) | ||||||
|  | - module.exports.cloneCssStyles\(\) in combination with Angularjs breaks display in Chrome and IE [\#126](https://github.com/knsv/mermaid/issues/126) | ||||||
|  | - Gantt - suitable xAxis for longer project [\#125](https://github.com/knsv/mermaid/issues/125) | ||||||
|  | - Mix horizontal and vertical graph [\#68](https://github.com/knsv/mermaid/issues/68) | ||||||
|  | - How to get started with this project ? [\#64](https://github.com/knsv/mermaid/issues/64) | ||||||
|  | - Special characters break parsing [\#54](https://github.com/knsv/mermaid/issues/54) | ||||||
|  | - Responsive graph layout for mobile viewers [\#51](https://github.com/knsv/mermaid/issues/51) | ||||||
|  | - Styling connector lines [\#31](https://github.com/knsv/mermaid/issues/31) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Remove moot `version` property from bower.json [\#172](https://github.com/knsv/mermaid/pull/172) ([kkirsche](https://github.com/kkirsche)) | ||||||
|  |  | ||||||
|  | ## [0.5.0](https://github.com/knsv/mermaid/tree/0.5.0) (2015-06-07) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.4.0...0.5.0) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - it can not work where graph TD contains chinese character [\#166](https://github.com/knsv/mermaid/issues/166) | ||||||
|  | - Broken Examples [\#163](https://github.com/knsv/mermaid/issues/163) | ||||||
|  | - uglifyjs wanrings which means we can improve the code [\#156](https://github.com/knsv/mermaid/issues/156) | ||||||
|  | - New\(er\) features unavailable in downloadable js files? [\#151](https://github.com/knsv/mermaid/issues/151) | ||||||
|  | - Add gh-gapes link to description [\#143](https://github.com/knsv/mermaid/issues/143) | ||||||
|  | - Some examples not displayed on Firefox 36.0.1 [\#138](https://github.com/knsv/mermaid/issues/138) | ||||||
|  | - tags ending in a "v" don't render [\#132](https://github.com/knsv/mermaid/issues/132) | ||||||
|  | - Links in flowchart [\#131](https://github.com/knsv/mermaid/issues/131) | ||||||
|  | - Using the library for iOS development [\#130](https://github.com/knsv/mermaid/issues/130) | ||||||
|  | - Add a css file, mermaid.css, with default styling [\#122](https://github.com/knsv/mermaid/issues/122) | ||||||
|  | - Add capability for gantt diagrams [\#118](https://github.com/knsv/mermaid/issues/118) | ||||||
|  | - lower case v causes error in the parser [\#108](https://github.com/knsv/mermaid/issues/108) | ||||||
|  | - Label's css conflict with boostrap's .label [\#67](https://github.com/knsv/mermaid/issues/67) | ||||||
|  | - TypeError: Cannot read property 'layout' of undefined [\#37](https://github.com/knsv/mermaid/issues/37) | ||||||
|  | - software architecture diagram [\#36](https://github.com/knsv/mermaid/issues/36) | ||||||
|  | - Support for bar charts and pie diagrams [\#22](https://github.com/knsv/mermaid/issues/22) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Dev 0.5.0 [\#168](https://github.com/knsv/mermaid/pull/168) ([knsv](https://github.com/knsv)) | ||||||
|  | - Fix spacing [\#164](https://github.com/knsv/mermaid/pull/164) ([rhcarvalho](https://github.com/rhcarvalho)) | ||||||
|  | - Fixing typo: "Think" -\> "Thick" [\#160](https://github.com/knsv/mermaid/pull/160) ([it0a](https://github.com/it0a)) | ||||||
|  | - IE, local html, cssRules access is denied [\#155](https://github.com/knsv/mermaid/pull/155) ([tylerlong](https://github.com/tylerlong)) | ||||||
|  | - Add automatically generated change log file. [\#139](https://github.com/knsv/mermaid/pull/139) ([skywinder](https://github.com/skywinder)) | ||||||
|  | - Adding init argument to the global API [\#137](https://github.com/knsv/mermaid/pull/137) ([bollwyvl](https://github.com/bollwyvl)) | ||||||
|  | - Add description of manual calling of init [\#136](https://github.com/knsv/mermaid/pull/136) ([bollwyvl](https://github.com/bollwyvl)) | ||||||
|  | - Allow other forms of node selection for init\(\) [\#135](https://github.com/knsv/mermaid/pull/135) ([bollwyvl](https://github.com/bollwyvl)) | ||||||
|  | - Use a library-level variable for assigning ids [\#134](https://github.com/knsv/mermaid/pull/134) ([bollwyvl](https://github.com/bollwyvl)) | ||||||
|  |  | ||||||
|  | ## [0.4.0](https://github.com/knsv/mermaid/tree/0.4.0) (2015-03-01) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.5...0.4.0) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - subgraph background is black in rendered flowchart PNG via CLI [\#121](https://github.com/knsv/mermaid/issues/121) | ||||||
|  | - Integrate editor at https://github.com/naseer/mermaid-webapp [\#110](https://github.com/knsv/mermaid/issues/110) | ||||||
|  | - Internet Explorer Support [\#99](https://github.com/knsv/mermaid/issues/99) | ||||||
|  | - Assymetric shapes not documented [\#82](https://github.com/knsv/mermaid/issues/82) | ||||||
|  | - NoModificationAllowedError [\#23](https://github.com/knsv/mermaid/issues/23) | ||||||
|  | - Improve arrows [\#3](https://github.com/knsv/mermaid/issues/3) | ||||||
|  |  | ||||||
|  | ## [0.3.5](https://github.com/knsv/mermaid/tree/0.3.5) (2015-02-15) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.4...0.3.5) | ||||||
|  |  | ||||||
|  | ## [0.3.4](https://github.com/knsv/mermaid/tree/0.3.4) (2015-02-15) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.3...0.3.4) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Subgraph syntax bug? [\#120](https://github.com/knsv/mermaid/issues/120) | ||||||
|  | - Live editor [\#115](https://github.com/knsv/mermaid/issues/115) | ||||||
|  | - Error in "Basic Syntax" wiki page [\#113](https://github.com/knsv/mermaid/issues/113) | ||||||
|  | - semicolons, anyone? [\#111](https://github.com/knsv/mermaid/issues/111) | ||||||
|  | - undefined `sequenceConfig` fails [\#109](https://github.com/knsv/mermaid/issues/109) | ||||||
|  | - Sequence Diagrams: Show Actors below as well [\#106](https://github.com/knsv/mermaid/issues/106) | ||||||
|  | - Allow overriding sequence diagram configuration \(SVG properties\) [\#103](https://github.com/knsv/mermaid/issues/103) | ||||||
|  | - Error when rendering A-- This is the text -- B [\#102](https://github.com/knsv/mermaid/issues/102) | ||||||
|  | - Clipping in documentation [\#97](https://github.com/knsv/mermaid/issues/97) | ||||||
|  | - isolate class styling to the svg container [\#92](https://github.com/knsv/mermaid/issues/92) | ||||||
|  | - Apply styling from css when using the CLI utility [\#85](https://github.com/knsv/mermaid/issues/85) | ||||||
|  | - Generated SVG works poorly outside web browsers [\#58](https://github.com/knsv/mermaid/issues/58) | ||||||
|  | - Make the new graph declaration more visual [\#40](https://github.com/knsv/mermaid/issues/40) | ||||||
|  | - Generating SVG text blob for use in Node [\#2](https://github.com/knsv/mermaid/issues/2) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Add live editor [\#119](https://github.com/knsv/mermaid/pull/119) ([naseer](https://github.com/naseer)) | ||||||
|  | - Adds CSS option to the CLI [\#116](https://github.com/knsv/mermaid/pull/116) ([fardog](https://github.com/fardog)) | ||||||
|  | - Update flowchart.md in response Issue \#113 [\#114](https://github.com/knsv/mermaid/pull/114) ([vijay40](https://github.com/vijay40)) | ||||||
|  | - Ignore all files except the license and dist/ folder when installing with Bower. [\#112](https://github.com/knsv/mermaid/pull/112) ([jasonbellamy](https://github.com/jasonbellamy)) | ||||||
|  |  | ||||||
|  | ## [0.3.3](https://github.com/knsv/mermaid/tree/0.3.3) (2015-01-25) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.2...0.3.3) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Missing arrows in sequence diagram [\#98](https://github.com/knsv/mermaid/issues/98) | ||||||
|  | - Error with \>9 linkStyles [\#95](https://github.com/knsv/mermaid/issues/95) | ||||||
|  | - Support for dotted links [\#26](https://github.com/knsv/mermaid/issues/26) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Require d3 directly to better support Node usage [\#107](https://github.com/knsv/mermaid/pull/107) ([markdalgleish](https://github.com/markdalgleish)) | ||||||
|  | - update doc with -c option [\#105](https://github.com/knsv/mermaid/pull/105) ([jjmr](https://github.com/jjmr)) | ||||||
|  | - Add new parameter to the console client to override the svg configuration in sequence diagrams [\#104](https://github.com/knsv/mermaid/pull/104) ([jjmr](https://github.com/jjmr)) | ||||||
|  | - Text based labels, new shape [\#101](https://github.com/knsv/mermaid/pull/101) ([bjowes](https://github.com/bjowes)) | ||||||
|  | - fix html tags in example usage [\#100](https://github.com/knsv/mermaid/pull/100) ([deiwin](https://github.com/deiwin)) | ||||||
|  |  | ||||||
|  | ## [0.3.2](https://github.com/knsv/mermaid/tree/0.3.2) (2015-01-11) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.1...0.3.2) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - disable auto render [\#91](https://github.com/knsv/mermaid/issues/91) | ||||||
|  | - Tidy breaks mermaid \(linebreaks in \<div\>\) [\#87](https://github.com/knsv/mermaid/issues/87) | ||||||
|  | - Bug: \<br\> being rendered as text in node [\#73](https://github.com/knsv/mermaid/issues/73) | ||||||
|  | - Graph edges appear to render outside of the canvas [\#70](https://github.com/knsv/mermaid/issues/70) | ||||||
|  | - Make link text look like it is on the line [\#53](https://github.com/knsv/mermaid/issues/53) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Merge pull request \#1 from knsv/master [\#96](https://github.com/knsv/mermaid/pull/96) ([gkchic](https://github.com/gkchic)) | ||||||
|  | - Removed duplicated section in flowchart docs [\#94](https://github.com/knsv/mermaid/pull/94) ([kaime](https://github.com/kaime)) | ||||||
|  | - Grammar changes to sequence page [\#93](https://github.com/knsv/mermaid/pull/93) ([gkchic](https://github.com/gkchic)) | ||||||
|  | - Github buttons [\#89](https://github.com/knsv/mermaid/pull/89) ([gkchic](https://github.com/gkchic)) | ||||||
|  | - Template change [\#88](https://github.com/knsv/mermaid/pull/88) ([gkchic](https://github.com/gkchic)) | ||||||
|  |  | ||||||
|  | ## [0.3.1](https://github.com/knsv/mermaid/tree/0.3.1) (2015-01-05) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.3.0...0.3.1) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Non ASCII chars in labels [\#84](https://github.com/knsv/mermaid/issues/84) | ||||||
|  | - 'undefined' titles of Quicklinks on the usage page [\#80](https://github.com/knsv/mermaid/issues/80) | ||||||
|  | - \[cli\] Enhancement proposal: not fail --version / --help if phantomjs isn't installed [\#71](https://github.com/knsv/mermaid/issues/71) | ||||||
|  | - Neural Networks [\#39](https://github.com/knsv/mermaid/issues/39) | ||||||
|  | - Support for sequence diagrams [\#16](https://github.com/knsv/mermaid/issues/16) | ||||||
|  | - Client utility for mermaid [\#6](https://github.com/knsv/mermaid/issues/6) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Flowchart doc: Text in the circle now in a circle [\#81](https://github.com/knsv/mermaid/pull/81) ([Grahack](https://github.com/Grahack)) | ||||||
|  | - Fix for issue \#73 [\#79](https://github.com/knsv/mermaid/pull/79) ([it0a](https://github.com/it0a)) | ||||||
|  | - Ink template [\#78](https://github.com/knsv/mermaid/pull/78) ([gkchic](https://github.com/gkchic)) | ||||||
|  | - Show help and version even if phantom isn't present. Fixes \#71 [\#75](https://github.com/knsv/mermaid/pull/75) ([fardog](https://github.com/fardog)) | ||||||
|  | - Add apostrophe & 'and' [\#72](https://github.com/knsv/mermaid/pull/72) ([sudodoki](https://github.com/sudodoki)) | ||||||
|  |  | ||||||
|  | ## [0.3.0](https://github.com/knsv/mermaid/tree/0.3.0) (2014-12-22) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.16...0.3.0) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Consider shipping a standalone executable [\#65](https://github.com/knsv/mermaid/issues/65) | ||||||
|  | - Trailing whitespace at the end of lines is not ignored [\#55](https://github.com/knsv/mermaid/issues/55) | ||||||
|  | - How do I do comments? [\#47](https://github.com/knsv/mermaid/issues/47) | ||||||
|  | - This characters failed the lexical parsing [\#46](https://github.com/knsv/mermaid/issues/46) | ||||||
|  | - tutorial for creating new type of graph/layout [\#44](https://github.com/knsv/mermaid/issues/44) | ||||||
|  | - Improve readability with new line as terminator and whitespace [\#38](https://github.com/knsv/mermaid/issues/38) | ||||||
|  | - Use classes instead of inline style for easy styling [\#24](https://github.com/knsv/mermaid/issues/24) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Adds Command Line Interface for generating PNGs from mermaid description files [\#69](https://github.com/knsv/mermaid/pull/69) ([fardog](https://github.com/fardog)) | ||||||
|  | - Allow special symbols for direction along with acronyms [\#66](https://github.com/knsv/mermaid/pull/66) ([vijay40](https://github.com/vijay40)) | ||||||
|  |  | ||||||
|  | ## [0.2.16](https://github.com/knsv/mermaid/tree/0.2.16) (2014-12-15) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.15...0.2.16) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Mermaid not rendering properly on Wordpress pages [\#59](https://github.com/knsv/mermaid/issues/59) | ||||||
|  | - Improve example page with live demo [\#52](https://github.com/knsv/mermaid/issues/52) | ||||||
|  | - Create image file via CLI? [\#48](https://github.com/knsv/mermaid/issues/48) | ||||||
|  | - Does not render upon AngularJS Updates [\#45](https://github.com/knsv/mermaid/issues/45) | ||||||
|  | - Download link in README.MD doesn't work. [\#42](https://github.com/knsv/mermaid/issues/42) | ||||||
|  | - linkStyle usage is not obvious [\#41](https://github.com/knsv/mermaid/issues/41) | ||||||
|  | - Move \*.spec.js in src/ to test/ [\#35](https://github.com/knsv/mermaid/issues/35) | ||||||
|  | - Lines routed outside visible area [\#19](https://github.com/knsv/mermaid/issues/19) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - New grammar will allow statements ending without semicolon as disccused in Issue \#38 [\#63](https://github.com/knsv/mermaid/pull/63) ([vijay40](https://github.com/vijay40)) | ||||||
|  | - Class based styling [\#62](https://github.com/knsv/mermaid/pull/62) ([bjowes](https://github.com/bjowes)) | ||||||
|  | - Fix typos [\#60](https://github.com/knsv/mermaid/pull/60) ([sublimino](https://github.com/sublimino)) | ||||||
|  | - Included .DS_Store in gitignore [\#57](https://github.com/knsv/mermaid/pull/57) ([alvynmcq](https://github.com/alvynmcq)) | ||||||
|  | - Improves readablity discussed in issue \#38 [\#56](https://github.com/knsv/mermaid/pull/56) ([vijay40](https://github.com/vijay40)) | ||||||
|  | - Added a linting task for gulp [\#43](https://github.com/knsv/mermaid/pull/43) ([serv](https://github.com/serv)) | ||||||
|  |  | ||||||
|  | ## [0.2.15](https://github.com/knsv/mermaid/tree/0.2.15) (2014-12-05) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.14...0.2.15) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Question marks don't render properly with /dist/mermaid.full.min.js [\#30](https://github.com/knsv/mermaid/issues/30) | ||||||
|  | - Error with some characters [\#25](https://github.com/knsv/mermaid/issues/25) | ||||||
|  | - Provide parse function in browser widthout `require`? [\#21](https://github.com/knsv/mermaid/issues/21) | ||||||
|  | - Better label text support [\#18](https://github.com/knsv/mermaid/issues/18) | ||||||
|  | - Cap-cased words break parser [\#8](https://github.com/knsv/mermaid/issues/8) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Include bower_components/ to .gitignore [\#33](https://github.com/knsv/mermaid/pull/33) ([serv](https://github.com/serv)) | ||||||
|  | - Fixed reference to Git repo. [\#32](https://github.com/knsv/mermaid/pull/32) ([guyellis](https://github.com/guyellis)) | ||||||
|  |  | ||||||
|  | ## [0.2.14](https://github.com/knsv/mermaid/tree/0.2.14) (2014-12-03) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.13...0.2.14) | ||||||
|  |  | ||||||
|  | ## [0.2.13](https://github.com/knsv/mermaid/tree/0.2.13) (2014-12-03) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.10...0.2.13) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - modified init to be applied more than once [\#29](https://github.com/knsv/mermaid/issues/29) | ||||||
|  | - Wanted to know build process for the project. [\#28](https://github.com/knsv/mermaid/issues/28) | ||||||
|  | - Container support [\#27](https://github.com/knsv/mermaid/issues/27) | ||||||
|  | - can not support Chinese description [\#20](https://github.com/knsv/mermaid/issues/20) | ||||||
|  | - Node Label text mistaken for Direction [\#17](https://github.com/knsv/mermaid/issues/17) | ||||||
|  | - Support unicode chars in labels [\#9](https://github.com/knsv/mermaid/issues/9) | ||||||
|  | - Publish to NPM [\#7](https://github.com/knsv/mermaid/issues/7) | ||||||
|  |  | ||||||
|  | ## [0.2.10](https://github.com/knsv/mermaid/tree/0.2.10) (2014-12-01) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.9...0.2.10) | ||||||
|  |  | ||||||
|  | ## [0.2.9](https://github.com/knsv/mermaid/tree/0.2.9) (2014-12-01) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.8...0.2.9) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Add link to jsbin playground to README [\#11](https://github.com/knsv/mermaid/issues/11) | ||||||
|  | - What are the requirements ? [\#10](https://github.com/knsv/mermaid/issues/10) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Allow unicode chars in labels [\#13](https://github.com/knsv/mermaid/pull/13) ([codebeige](https://github.com/codebeige)) | ||||||
|  |  | ||||||
|  | ## [0.2.8](https://github.com/knsv/mermaid/tree/0.2.8) (2014-12-01) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.7...0.2.8) | ||||||
|  |  | ||||||
|  | ## [0.2.7](https://github.com/knsv/mermaid/tree/0.2.7) (2014-12-01) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.6...0.2.7) | ||||||
|  |  | ||||||
|  | **Closed issues:** | ||||||
|  |  | ||||||
|  | - Provide parser as separate module [\#4](https://github.com/knsv/mermaid/issues/4) | ||||||
|  |  | ||||||
|  | ## [0.2.6](https://github.com/knsv/mermaid/tree/0.2.6) (2014-11-27) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.5...0.2.6) | ||||||
|  |  | ||||||
|  | ## [0.2.5](https://github.com/knsv/mermaid/tree/0.2.5) (2014-11-27) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.4...0.2.5) | ||||||
|  |  | ||||||
|  | **Merged pull requests:** | ||||||
|  |  | ||||||
|  | - Added new shapes! [\#1](https://github.com/knsv/mermaid/pull/1) ([bjowes](https://github.com/bjowes)) | ||||||
|  |  | ||||||
|  | ## [0.2.4](https://github.com/knsv/mermaid/tree/0.2.4) (2014-11-25) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.3...0.2.4) | ||||||
|  |  | ||||||
|  | ## [0.2.3](https://github.com/knsv/mermaid/tree/0.2.3) (2014-11-24) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.2...0.2.3) | ||||||
|  |  | ||||||
|  | ## [0.2.2](https://github.com/knsv/mermaid/tree/0.2.2) (2014-11-22) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.1...0.2.2) | ||||||
|  |  | ||||||
|  | ## [0.2.1](https://github.com/knsv/mermaid/tree/0.2.1) (2014-11-22) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.2.0...0.2.1) | ||||||
|  |  | ||||||
|  | ## [0.2.0](https://github.com/knsv/mermaid/tree/0.2.0) (2014-11-22) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.1.1...0.2.0) | ||||||
|  |  | ||||||
|  | ## [0.1.1](https://github.com/knsv/mermaid/tree/0.1.1) (2014-11-17) | ||||||
|  |  | ||||||
|  | [Full Changelog](https://github.com/knsv/mermaid/compare/0.1.0...0.1.1) | ||||||
|  |  | ||||||
|  | ## [0.1.0](https://github.com/knsv/mermaid/tree/0.1.0) (2014-11-16) | ||||||
|  |  | ||||||
|  | \* _This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)_ | ||||||
							
								
								
									
										16
									
								
								CITATION.cff
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								CITATION.cff
									
									
									
									
									
								
							| @@ -1,16 +0,0 @@ | |||||||
| cff-version: 1.2.0 |  | ||||||
| title: 'Mermaid: Generate diagrams from markdown-like text' |  | ||||||
| message: >- |  | ||||||
|   If you use this software, please cite it using the metadata from this file. |  | ||||||
| type: software |  | ||||||
| authors: |  | ||||||
|   - family-names: Sveidqvist |  | ||||||
|     given-names: Knut |  | ||||||
|   - name: 'Contributors to Mermaid' |  | ||||||
| repository-code: 'https://github.com/mermaid-js/mermaid' |  | ||||||
| date-released: 2014-12-02 |  | ||||||
| url: 'https://mermaid.js.org/' |  | ||||||
| abstract: >- |  | ||||||
|   JavaScript based diagramming and charting tool that renders Markdown-inspired |  | ||||||
|   text definitions to create and modify diagrams dynamically. |  | ||||||
| license: MIT |  | ||||||
| @@ -59,8 +59,8 @@ representative at an online or offline event. | |||||||
| ## Enforcement | ## Enforcement | ||||||
|  |  | ||||||
| Instances of abusive, harassing, or otherwise unacceptable behavior may be | Instances of abusive, harassing, or otherwise unacceptable behavior may be | ||||||
| reported to the community leaders responsible for enforcement at <security@mermaid.live>. | reported to the community leaders responsible for enforcement at security@mermaid.live | ||||||
|  | . | ||||||
| All complaints will be reviewed and investigated promptly and fairly. | All complaints will be reviewed and investigated promptly and fairly. | ||||||
|  |  | ||||||
| All community leaders are obligated to respect the privacy and security of the | All community leaders are obligated to respect the privacy and security of the | ||||||
|   | |||||||
| @@ -1 +0,0 @@ | |||||||
| ./packages/mermaid/src/docs/community/contributing.md |  | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user