@mermaid-js/mermaid-cli 11.15.0 → 11.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -55,7 +55,8 @@ mmdc --input test-positive/flowchart1.mmd --cssFile test-positive/flowchart1.css
55
55
  <details>
56
56
  <summary>Example output: docs/animated-flowchart.svg</summary>
57
57
 
58
- ![docs/animated-flowchart.svg](docs/animated-flowchart.svg)
58
+ ![docs/animated-flowchart.svg](docs/animated-flowchart.svg)
59
+
59
60
  </details>
60
61
 
61
62
  ### Transform a markdown file with mermaid diagrams
@@ -68,38 +69,44 @@ This command transforms a markdown file itself. The mermaid-cli will find the me
68
69
 
69
70
  This:
70
71
 
71
- ~~~md
72
+ ````md
72
73
  ### Some markdown
74
+
73
75
  ```mermaid
74
76
  graph
75
77
  [....]
76
78
  ```
77
79
 
78
80
  ### Some more markdown
81
+
79
82
  ```mermaid
80
83
  sequenceDiagram
81
84
  [....]
82
85
  ```
83
86
 
84
87
  ### Mermaid with custom title/desc
88
+
85
89
  ```mermaid
86
90
  graph
87
91
  accTitle: My title here
88
92
  accDescr: My description here
89
93
  A-->B
90
94
  ```
91
- ~~~
95
+ ````
92
96
 
93
97
  Becomes:
94
98
 
95
99
  ```md
96
100
  ### Some markdown
101
+
97
102
  ![diagram](./readme-1.svg)
98
103
 
99
104
  ### Some more markdown
105
+
100
106
  ![diagram](./readme-2.svg)
101
107
 
102
108
  ### Mermaid with custom title/desc
109
+
103
110
  ![My description here](./readme-3.svg "My title here")
104
111
  ```
105
112
 
@@ -167,7 +174,6 @@ restore this behaviour with the `--workdir` option:
167
174
  docker run [...] --workdir=/home/mermaidcli minlag/mermaid-cli [...]
168
175
  ```
169
176
 
170
-
171
177
  ## Use Node.JS API
172
178
 
173
179
  It's possible to call `mermaid-cli` via a Node.JS API.
@@ -175,11 +181,12 @@ Please be aware that **the NodeJS API is not covered by semver**, as `mermaid-cl
175
181
  `mermaid`'s versioning.
176
182
 
177
183
  ```js
178
- import { run } from "@mermaid-js/mermaid-cli"
184
+ import { run } from "@mermaid-js/mermaid-cli";
179
185
 
180
186
  await run(
181
- "input.mmd", "output.svg", // {optional options},
182
- )
187
+ "input.mmd",
188
+ "output.svg", // {optional options},
189
+ );
183
190
  ```
184
191
 
185
192
  ## Install locally
@@ -195,10 +202,9 @@ npm install @mermaid-js/mermaid-cli
195
202
  ### Run with npx
196
203
 
197
204
  [`npx`](https://www.npmjs.com/package/npx) is installed by default with NPM. It
198
- downloads and runs commands at the same time. To use Mermaid CLI with npx, you
205
+ downloads and runs commands at the same time. To use Mermaid CLI with npx, you
199
206
  need to use the `-p` flag because the package name is different than the command
200
- it installs (`mmdc`). `npx -p @mermaid-js/mermaid-cli mmdc -h`
201
-
207
+ it installs (`mmdc`). `npx -p @mermaid-js/mermaid-cli mmdc -h`
202
208
 
203
209
  ## Install with [brew](https://brew.sh)
204
210
 
@@ -207,11 +213,11 @@ it installs (`mmdc`). `npx -p @mermaid-js/mermaid-cli mmdc -h`
207
213
  > This method of installation is no longer supported.
208
214
  > For more details, see the [discussion](https://github.com/mermaid-js/mermaid-cli/issues/288).
209
215
  > An old version of mermaid-cli can be installed with brew.
216
+ >
210
217
  > ```sh
211
218
  > brew install mermaid-cli
212
219
  > ```
213
220
 
214
-
215
221
  ## Known issues
216
222
 
217
223
  1. [Linux sandbox issue](docs/linux-sandbox-issue.md)
@@ -5,7 +5,7 @@ export type ParseMDDOptions = {
5
5
  /**
6
6
  * - Puppeteer viewport (e.g. `width`, `height`, `deviceScaleFactor`)
7
7
  */
8
- viewport?: puppeteer.Viewport | undefined;
8
+ viewport?: import("puppeteer-core").Viewport | undefined;
9
9
  /**
10
10
  * - Background color.
11
11
  */
@@ -85,12 +85,12 @@ export type Limiter = <Arguments extends unknown[], ReturnType>(function_: (...a
85
85
  * @param {Limiter} [opts.limiter] - If set, limiter function to avoid rendering too many diagrams in parallel.
86
86
  * @param {ParseMDDOptions} [opts.parseMMDOptions] - Options to pass to {@link parseMMDOptions}.
87
87
  */
88
- export function run(input: `${string}.${"md" | "markdown"}` | string | undefined, output: `${string}.${"md" | "markdown" | "svg" | "png" | "pdf"}` | "/dev/stdout", { browser: userPassedBrowser, puppeteerConfig, quiet, outputFormat, parseMMDOptions, limiter, artefacts }?: {
89
- puppeteerConfig?: puppeteer.LaunchOptions | undefined;
88
+ export function run(input: `${string}.${"md" | "markdown"}` | string | undefined, output: `${string}.${"md" | "markdown" | "svg" | "png" | "pdf"}` | "/dev/stdout", { browser: userPassedBrowser, puppeteerConfig, quiet, outputFormat, parseMMDOptions, limiter, artefacts, }?: {
89
+ puppeteerConfig?: import("puppeteer-core").LaunchOptions | undefined;
90
90
  quiet?: boolean | undefined;
91
91
  outputFormat?: "svg" | "png" | "pdf" | undefined;
92
92
  artefacts?: string | undefined;
93
- browser?: puppeteer.Browser | undefined;
93
+ browser?: import("puppeteer-core").Browser | undefined;
94
94
  limiter?: Limiter | undefined;
95
95
  parseMMDOptions?: ParseMDDOptions | undefined;
96
96
  }): Promise<void>;
@@ -115,7 +115,7 @@ export function run(input: `${string}.${"md" | "markdown"}` | string | undefined
115
115
  * @returns {Promise<{title: string | null, desc: string | null, data: Uint8Array}>} The output file in bytes,
116
116
  * with optional metadata.
117
117
  */
118
- export function renderMermaid(browser: import("puppeteer").Browser | import("puppeteer").BrowserContext, definition: string, outputFormat: "svg" | "png" | "pdf", { viewport, backgroundColor, mermaidConfig, myCSS, pdfFit, svgId, iconPacks, iconPacksNamesAndUrls }?: ParseMDDOptions): Promise<{
118
+ export function renderMermaid(browser: import("puppeteer").Browser | import("puppeteer").BrowserContext, definition: string, outputFormat: "svg" | "png" | "pdf", { viewport, backgroundColor, mermaidConfig, myCSS, pdfFit, svgId, iconPacks, iconPacksNamesAndUrls, }?: ParseMDDOptions): Promise<{
119
119
  title: string | null;
120
120
  desc: string | null;
121
121
  data: Uint8Array;
@@ -128,5 +128,4 @@ export function cli(): Promise<void>;
128
128
  * @returns {never} Quits Node.JS, so never returns.
129
129
  */
130
130
  export function error(message: string): never;
131
- import puppeteer from 'puppeteer';
132
131
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAodc,MAAM;;;;SACN,MAAM;;;;;;;;;sBAsBP,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,UAAU,EACjD,SAAS,EAAE,CAAC,GAAG,UAAU,EAAE,SAAS,KAAK,OAAO,CAAC,UAAU,CAAC,EAC/D,GAAQ,UAAU,EAAE,SAAS,KACtB,OAAO,CAAC,UAAU,CAAC;AAJ3B;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,2BAhBW,GAAG,MAAM,IAAI,IAAI,GAAG,UAAU,EAAE,GAAG,MAAM,GAAG,SAAS,UAIrD,GAAG,MAAM,IAAI,IAAI,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,GAAG,aAAa,8GAEhF;IAAiD,eAAe;IACzC,KAAK;IACS,YAAY;IAC3B,SAAS;IAEY,OAAO;IAE3B,OAAO;IACC,eAAe;CAChD,iBAyHA;AA3WD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,uCAPW,OAAO,WAAW,EAAE,OAAO,GAAG,OAAO,WAAW,EAAE,cAAc,cAChE,MAAM,gBACN,KAAK,GAAG,KAAK,GAAG,KAAK,yGACrB,eAAe,GACb,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,CAAC,CA4KlF;AA5TD,qCA4HC;AAhOD;;;;;GAKG;AACH,+BAHW,MAAM,GACJ,KAAK,CAKjB;sBAjDqB,WAAW"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAgqBc,MAAM;;;;SACN,MAAM;;;;;;;;;sBAsBP,CAAC,SAAS,SAAS,OAAO,EAAE,EAAE,UAAU,EACjD,SAAS,EAAE,CAAC,GAAG,UAAU,EAAE,SAAS,KAAK,OAAO,CAAC,UAAU,CAAC,EAC/D,GAAQ,UAAU,EAAE,SAAS,KACtB,OAAO,CAAC,UAAU,CAAC;AAJ3B;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,2BAhBW,GAAG,MAAM,IAAI,IAAI,GAAG,UAAU,EAAE,GAAG,MAAM,GAAG,SAAS,UAIrD,GAAG,MAAM,IAAI,IAAI,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,GAAG,aAAa,+GAEhF;IAAiD,eAAe;IACzC,KAAK;IACS,YAAY;IAC3B,SAAS;IAEY,OAAO;IAE3B,OAAO;IACC,eAAe;CAChD,iBAiKA;AAxeD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,uCAPW,OAAO,WAAW,EAAE,OAAO,GAAG,OAAO,WAAW,EAAE,cAAc,cAChE,MAAM,gBACN,KAAK,GAAG,KAAK,GAAG,KAAK,0GACrB,eAAe,GACb,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,CAAC,CAiQlF;AAhfD,qCA2NC;AA/TD;;;;;GAKG;AACH,+BAHW,MAAM,GACJ,KAAK,CAKjB"}
@@ -14,19 +14,18 @@ export class Interceptor {
14
14
  allowParentDirectoryLevel?: number | undefined;
15
15
  }): Promise<string>;
16
16
  /**
17
- *
18
- * @param {URL | string} interceptUrl
19
- * @throws {Error} If the URL is not a valid intercept URL
20
- */
17
+ *
18
+ * @param {URL | string} interceptUrl
19
+ * @throws {Error} If the URL is not a valid intercept URL
20
+ */
21
21
  interceptUrlToFileUrl(interceptUrl: URL | string): Promise<URL>;
22
22
  /**
23
- * Intercepts requests to `https://mermaid-cli-intercept.invalid`
24
- * and serves the corresponding file content.
25
- *
26
- * @return {puppeteer.Handler<puppeteer.HTTPRequest>}
27
- */
28
- get interceptRequestHandler(): puppeteer.Handler<puppeteer.HTTPRequest>;
23
+ * Intercepts requests to `https://mermaid-cli-intercept.invalid`
24
+ * and serves the corresponding file content.
25
+ *
26
+ * @return {import('puppeteer').Handler<import('puppeteer').HTTPRequest>}
27
+ */
28
+ get interceptRequestHandler(): import("puppeteer").Handler<import("puppeteer").HTTPRequest>;
29
29
  #private;
30
30
  }
31
- import type puppeteer from 'puppeteer';
32
31
  //# sourceMappingURL=puppeteerIntercept.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteerIntercept.d.ts","sourceRoot":"","sources":["../../src/puppeteerIntercept.js"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH;IAcE;;;;OAIG;IACH,+BAJW,GAAG,GAAG,UAAU,MAAM,EAAE,kCAEhC;QAAyB,yBAAyB;KACpD,mBAcA;IAED;;;;SAIK;IACL,oCAHa,GAAG,GAAG,MAAM,gBAcxB;IAyBD;;;;;SAKK;IACL,+BAFc,kBAAkB,qBAAqB,CAAC,CAIrD;;CACF;2BAxHyB,WAAW"}
1
+ {"version":3,"file":"puppeteerIntercept.d.ts","sourceRoot":"","sources":["../../src/puppeteerIntercept.js"],"names":[],"mappings":"AAgCA;;;;;GAKG;AACH;IAcE;;;;OAIG;IACH,+BAJW,GAAG,GAAG,UAAU,MAAM,EAAE,kCAEhC;QAAyB,yBAAyB;KACpD,mBAYA;IAED;;;;OAIG;IACH,oCAHW,GAAG,GAAG,MAAM,gBAuBtB;IAiCD;;;;;OAKG;IACH,+BAFY,OAAO,WAAW,EAAE,OAAO,CAAC,OAAO,WAAW,EAAE,WAAW,CAAC,CAIvE;;CACF"}
@@ -1,2 +1,2 @@
1
- export const version: "11.15.0";
1
+ export const version: "11.16.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.js"],"names":[],"mappings":"AAAA,sBAAuB,SAAS,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.js"],"names":[],"mappings":"AAAA,sBAAuB,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mermaid-js/mermaid-cli",
3
- "version": "11.15.0",
3
+ "version": "11.16.0",
4
4
  "description": "Command-line interface for mermaid",
5
5
  "license": "MIT",
6
6
  "repository": "git@github.com:mermaid-js/mermaid-cli.git",
@@ -25,8 +25,8 @@
25
25
  "test": "cross-env-shell NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" npx jest",
26
26
  "test:cli": "bash run-tests.sh test-positive",
27
27
  "version": "node scripts/version.js",
28
- "lint": "standard",
29
- "lint-fix": "standard --fix"
28
+ "lint": "prettier --check . && eslint .",
29
+ "lint-fix": "prettier --write . && eslint --fix ."
30
30
  },
31
31
  "dependencies": {
32
32
  "@fortawesome/fontawesome-free": "^6.0.0 || ^7.0.1",
@@ -43,16 +43,20 @@
43
43
  "@mermaid-js/layout-tidy-tree": "^0.2.1"
44
44
  },
45
45
  "peerDependencies": {
46
- "puppeteer": "^23 || ^24"
46
+ "puppeteer": "^23 || ^24 || ^25"
47
47
  },
48
48
  "devDependencies": {
49
+ "@eslint/js": "^9.0.0",
49
50
  "@tsconfig/node18": "^18.2.4",
50
51
  "@types/node": "~18.19.31",
51
52
  "cross-env": "^7.0.3",
53
+ "eslint": "^9.0.0",
54
+ "globals": "^17.6.0",
52
55
  "jest": "^30.0.5",
53
- "puppeteer": "^24.0.0",
54
- "standard": "^17.0.0",
56
+ "prettier": "^3.8.3",
57
+ "puppeteer": "^25.0.0",
55
58
  "typescript": "^6.0.3",
59
+ "typescript-eslint": "^8.59.3",
56
60
  "vite": "^6.0.2",
57
61
  "yarn-upgrade-all": "^0.8.1"
58
62
  },
@@ -66,11 +70,5 @@
66
70
  "#(.*)": "<rootDir>/node_modules/$1"
67
71
  }
68
72
  },
69
- "standard": {
70
- "ignore": [
71
- "/dist/",
72
- "/dist-types/"
73
- ]
74
- },
75
73
  "packageManager": "npm@10.8.1"
76
74
  }
package/src/cli.js CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { cli, error } from './index.js'
3
+ import { cli, error } from "./index.js";
4
4
 
5
- process.title = 'mmdc'
6
- cli().catch((exception) => error(exception instanceof Error ? exception.stack : exception))
5
+ process.title = "mmdc";
6
+ cli().catch((exception) =>
7
+ error(exception instanceof Error ? exception.stack : exception),
8
+ );