Compare commits

...

366 Commits

Author SHA1 Message Date
Yash Singh
590784221a rm + in package.json 2024-07-16 18:43:33 -07:00
Yash Singh
46d612d135 fix: long strings in firefox 2024-07-16 18:41:45 -07:00
Sidharth Vinod
b1b480a13b Merge pull request #5636 from mermaid-js/sidv/marked
feat: Use marked instead of mdast-util-from-markdown
2024-07-16 12:09:45 +00:00
Sidharth Vinod
3681a7a4c1 Merge pull request #5644 from mermaid-js/renovate/eslint
chore(deps): update eslint (minor)
2024-07-16 12:08:04 +00:00
renovate[bot]
587c3c8884 chore(deps): update eslint 2024-07-15 00:50:26 +00:00
Sidharth Vinod
8b5b1d4701 Merge branch 'develop' into sidv/marked
* develop:
  docs: fix the classDef example in stateDiagram not display as code block, and long text display overflows
2024-07-13 22:34:10 +05:30
Sidharth Vinod
70dcfc83e6 chore: move abs below return check 2024-07-13 22:33:54 +05:30
Sidharth Vinod
3698c2b1e4 fix: Handle negative numbers in formatBytes 2024-07-13 22:32:45 +05:30
Sidharth Vinod
df872427af chore: Use single quotes 2024-07-13 18:55:24 +05:30
Sidharth Vinod
720aef6ff0 fix: emphasis => em 2024-07-13 17:44:43 +05:30
Sidharth Vinod
d71fe28a35 fix: Handle spaces after newline 2024-07-13 15:11:53 +05:30
Sidharth Vinod
644199d0d0 test: Change emphasis to em 2024-07-13 14:26:15 +05:30
Sidharth Vinod
207bc7c090 chore: Fix emphasis type 2024-07-13 14:14:16 +05:30
Sidharth Vinod
4bb75e5e37 Merge pull request #5640 from ScriptBloom/docs/5639_optimize-state-diagram-example-display
docs: fix the classDef example in stateDiagram not display as code block, and long text display overflows
2024-07-13 08:27:33 +00:00
ScriptBloom
84b51792d6 docs: fix the classDef example in stateDiagram not display as code block, and long text display overflows 2024-07-13 02:33:05 +08:00
Sidharth Vinod
cc6eae22b3 feat: Use marked instead of mdast-util-from-markdown
This will remove 33 dependencies pulled down by mdast-util-from-markdown. marked has 0 dependencies.

mermaid's dependency count will go from 102 to 69
2024-07-11 10:51:12 +05:30
Sidharth Vinod
7afff877e5 Merge pull request #5635 from mermaid-js/sidv/testDevelopCI
test: Argos parallel
2024-07-10 06:01:37 +00:00
Sidharth Vinod
4eba114c8b Merge branch 'develop' into sidv/testDevelopCI 2024-07-10 11:17:03 +05:30
Sidharth Vinod
4434cf39a7 chore: Fix boolean check in e2e.yml 2024-07-10 10:57:03 +05:30
Sidharth Vinod
8bdd37ca44 chore: Fix boolean check in e2e.yml 2024-07-10 10:56:06 +05:30
Sidharth Vinod
0d110350f4 chore: Add new test 2024-07-10 10:47:47 +05:30
Sidharth Vinod
d686cee2af ci: Do not run parallel in push to develop 2024-07-10 10:44:59 +05:30
Sidharth Vinod
192946337a Merge pull request #5633 from mermaid-js/sidv/argosThreshold
feat: Add threshold to argos test
2024-07-09 08:44:45 +00:00
Sidharth Vinod
6b7f33e1e5 feat: Add threshold to argos test 2024-07-09 14:01:47 +05:30
Sidharth Vinod
728334b3ba Merge pull request #5628 from mermaid-js/renovate/patch-all-patch
fix(deps): update all patch dependencies (patch)
2024-07-09 06:24:54 +00:00
renovate[bot]
aa1432af5a fix(deps): update all patch dependencies 2024-07-08 16:09:20 +00:00
Sidharth Vinod
d44c65eb59 Merge pull request #5627 from mermaid-js/renovate/patch-eslint
chore(deps): update eslint (patch)
2024-07-08 21:34:46 +05:30
Sidharth Vinod
c7e1b45377 Merge pull request #5630 from mermaid-js/update-browserslist
Update Browserslist
2024-07-08 21:34:12 +05:30
cmmoran
01fa7e6dad chore: update browsers list 2024-07-08 07:07:43 +00:00
renovate[bot]
5dbe3ee444 chore(deps): update eslint 2024-07-08 00:46:52 +00:00
Sidharth Vinod
b263164c83 Merge pull request #5625 from mermaid-js/fix/5624_ClassDirection
fix(class): #5624 Reset direction to default in classDiagram
2024-07-07 11:05:46 +00:00
Sidharth Vinod
a80dd711a7 fix(class): #5624 Reset direction to default in classDiagram 2024-07-07 16:28:57 +05:30
Sidharth Vinod
adf4351afd Merge pull request #5607 from dontry/chore/bump-zenuml-core-version
chore: Update @zenuml/core dependency to version 3.23.27
2024-07-04 21:07:56 +05:30
Sidharth Vinod
f014061292 Merge branch 'develop' into pr/dontry/5607
* develop: (31 commits)
  ci: upgrade to pnpm/action-setup@v4 to avoid CI failures
  chore(deps): update dependency eslint-plugin-unicorn to v54
  chore(deps): update dependency eslint-plugin-jsdoc to v48.5.0
  chore(deps): update all patch dependencies
  Sync docs folder
  Add Doctave to .cspell libraries
  Adds Doctave to list of integrations
  chore: update browsers list
  chore: Cleanup tsconfig
  chore: Fix lint
  Apply suggestions from code review
  chore: Remove extra words from cspell
  chore: Log granular rebuild times
  fix: Message wrap
  fix: Message wrap
  chore: Use `??` instead of `||`
  chore: Organise imports
  chore: Remove unused variables
  chore: Remove cross-env from eslint
  chore: Cleanup rules
  ...
2024-07-04 20:36:32 +05:30
Sidharth Vinod
7f815693a0 Merge pull request #5621 from frantic1048/ci-bump-pnpm-action-setup-to-v4
ci: upgrade to pnpm/action-setup@v4 to avoid CI failures
2024-07-04 13:59:09 +05:30
Jiahao Guo
fde668a3a6 ci: upgrade to pnpm/action-setup@v4 to avoid CI failures
see: https://github.com/pnpm/action-setup/issues/135
2024-07-04 15:00:09 +08:00
Sidharth Vinod
161506baf2 Merge pull request #5612 from mermaid-js/renovate/major-eslint
chore(deps): update dependency eslint-plugin-unicorn to v54
2024-07-02 01:12:59 +05:30
renovate[bot]
364511b133 chore(deps): update dependency eslint-plugin-unicorn to v54 2024-07-01 10:01:33 +00:00
Sidharth Vinod
934a761c37 Merge pull request #5611 from mermaid-js/renovate/eslint
chore(deps): update dependency eslint-plugin-jsdoc to v48.5.0
2024-07-01 09:44:32 +00:00
Sidharth Vinod
2c2bd62e25 Merge pull request #5613 from mermaid-js/update-browserslist
Update Browserslist
2024-07-01 15:14:15 +05:30
Sidharth Vinod
6e35c32cb2 Merge pull request #5610 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-07-01 15:14:00 +05:30
renovate[bot]
f78f3e79f7 chore(deps): update dependency eslint-plugin-jsdoc to v48.5.0 2024-07-01 09:33:29 +00:00
renovate[bot]
49c6c4d873 chore(deps): update all patch dependencies 2024-07-01 09:31:54 +00:00
Sidharth Vinod
95d629e615 Merge pull request #5614 from begleynk/patch-1
Adds Doctave to list of integrations
2024-07-01 09:09:33 +00:00
Sidharth Vinod
6337470b1b Merge pull request #5603 from mermaid-js/sidv/eslintv9
Update eslint to v9
2024-07-01 08:58:10 +00:00
Niklas Begley
254ec07da9 Sync docs folder 2024-07-01 11:50:56 +03:00
Niklas Begley
ec27270748 Add Doctave to .cspell libraries 2024-07-01 08:37:24 +00:00
Niklas Begley
00467c646c Adds Doctave to list of integrations 2024-07-01 11:05:40 +03:00
cmmoran
775d8bb353 chore: update browsers list 2024-07-01 07:06:57 +00:00
Sidharth Vinod
f3a65f3178 chore: Cleanup tsconfig 2024-06-30 15:39:57 +05:30
Sidharth Vinod
b27d83e0e7 Merge pull request #5608 from mermaid-js/sidv/eslintv9Typed
ESLint V9 - Typed
2024-06-30 15:00:32 +05:30
Sidharth Vinod
55bd9e6efa chore: Fix lint 2024-06-30 14:50:53 +05:30
Sidharth Vinod
8b8c0dd57c Apply suggestions from code review
Co-authored-by: Alois Klink <alois@aloisklink.com>
2024-06-30 14:47:03 +05:30
Sidharth Vinod
d8d608fd99 chore: Remove extra words from cspell
Co-authored-by: Alois Klink <alois@aloisklink.com>
2024-06-30 14:37:59 +05:30
Sidharth Vinod
2efb2565ad Merge branch 'sidv/eslintv9' into sidv/eslintv9Typed
* sidv/eslintv9:
  chore: Log granular rebuild times
  Separate eslint packages from updates
2024-06-30 14:31:32 +05:30
Sidharth Vinod
c8a3290163 Merge branch 'develop' into sidv/eslintv9
* develop:
  chore: Log granular rebuild times
  Separate eslint packages from updates
2024-06-30 14:27:38 +05:30
Alois Klink
14a231767a Merge pull request #5609 from mermaid-js/sidv/esbuild_logs
chore: Log granular rebuild times
2024-06-30 08:35:13 +00:00
Sidharth Vinod
803e9eb2bd chore: Log granular rebuild times 2024-06-30 13:47:33 +05:30
Sidharth Vinod
29a3967c0e fix: Message wrap 2024-06-30 12:49:36 +05:30
Sidharth Vinod
cf72d33335 fix: Message wrap 2024-06-30 11:37:36 +05:30
Sidharth Vinod
7534462966 chore: Use ?? instead of || 2024-06-30 11:09:47 +05:30
Sidharth Vinod
d4525331cb chore: Organise imports 2024-06-30 10:51:11 +05:30
Sidharth Vinod
501cdbfcf7 Merge branch 'sidv/eslintv9' into sidv/eslintv9Typed
* sidv/eslintv9:
  chore: Remove unused variables
  chore: Remove cross-env from eslint
2024-06-30 01:47:58 +05:30
Sidharth Vinod
13bba48e92 chore: Remove unused variables 2024-06-30 01:45:14 +05:30
Sidharth Vinod
f1bd8fa91b chore: Remove cross-env from eslint 2024-06-30 01:30:05 +05:30
Sidharth Vinod
d9a12997ce chore: Cleanup rules 2024-06-30 01:29:28 +05:30
Sidharth Vinod
1fad9e6eef chore: Fix eslint issues 2024-06-30 01:19:11 +05:30
Sidharth Vinod
d9b2934a50 chore: Fix eslint issues 2024-06-30 01:16:46 +05:30
Sidharth Vinod
6b87fb3418 chore: Add type checked rules, auto fix 2024-06-30 00:58:02 +05:30
Sidharth Vinod
51fc56b95d chore: Remove max_old_space_size as v9 does not have perf issues 2024-06-29 23:44:29 +05:30
Sidharth Vinod
195e314c42 fix: Eslint jison linting 2024-06-29 16:31:19 +05:30
Sidharth Vinod
4c6e2783b0 chore: Resolve eslint errors 2024-06-29 16:20:46 +05:30
Sidharth Vinod
4a50feb5d9 chore: Resolve eslint errors 2024-06-29 16:09:50 +05:30
Sidharth Vinod
3f2e823330 chore: Remove orphaned files 2024-06-29 16:09:05 +05:30
dontry
16a15c4179 chore: Update @zenuml/core dependency to version 3.23.27 2024-06-29 20:19:43 +10:00
Alois Klink
0ba712f53c build(eslint): add tsconfig for all linted files 2024-06-28 23:02:02 +09:00
Alois Klink
14622b0386 squash! chore: Update to eslint v9 with flat config
Use typescript-eslint v8 for ESLint v9 support.
2024-06-28 22:56:03 +09:00
Sidharth Vinod
9400e46827 Separate eslint packages from updates 2024-06-28 12:11:41 +05:30
Sidharth Vinod
871a13aff8 Merge branch 'develop' into sidv/eslintv9
* develop: (59 commits)
  docs: Update mermaid.init remove date
  docs: Remove incorrect =
  chore: Prettier format
  chore: Update config.type.ts
  chore Add vitest.workspace.js
  chore: Stricter TS version
  chore: Remove MermaidAPI from docs
  doc: Update deprecation message
  doc: Update deprecation message
  fix: prevent escaping label styles
  chore: update browsers list
  chore(deps): update all patch dependencies
  docs: Added demo diagram of bidirectional arrows for sequence diagrams
  fix(deps): update all patch dependencies
  chore: Update drupal regex
  chore: Update pnpm
  chore: Update docs to remove html tag like text
  rebuild
  chore: Use string templates
  chore: Update docs
  ...
2024-06-28 11:59:55 +05:30
Sidharth Vinod
ceb487f2d4 Merge pull request #4821 from mermaid-js/sidv/deprecateMermaidAPI
chore: Deprecate mermaidAPI
2024-06-28 11:42:18 +05:30
Sidharth Vinod
6095aaae61 Merge pull request #5598 from mermaid-js/fix/replace-string-with-dom
fix: prevent escaping label styles
2024-06-28 05:54:03 +00:00
Sidharth Vinod
c1052bd3c5 docs: Update mermaid.init remove date 2024-06-27 18:05:40 +05:30
Sidharth Vinod
a2cc86a414 docs: Remove incorrect = 2024-06-27 17:20:22 +05:30
Sidharth Vinod
2057649581 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore: Prettier format
2024-06-27 17:10:55 +05:30
Sidharth Vinod
ba0d91da32 chore: Prettier format 2024-06-27 17:07:38 +05:30
Sidharth Vinod
63f81f36a9 chore: Update config.type.ts 2024-06-27 17:03:08 +05:30
Sidharth Vinod
8e46e10429 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore Add vitest.workspace.js
2024-06-27 16:59:34 +05:30
Sidharth Vinod
3411a6e46d chore Add vitest.workspace.js 2024-06-27 16:59:13 +05:30
Sidharth Vinod
115a4976ff Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore: Stricter TS version
2024-06-27 16:57:51 +05:30
Sidharth Vinod
a796940de3 chore: Stricter TS version 2024-06-27 16:57:32 +05:30
Sidharth Vinod
4b5e73102c chore: Remove MermaidAPI from docs 2024-06-27 16:55:05 +05:30
Sidharth Vinod
c5805383c7 doc: Update deprecation message 2024-06-27 15:36:12 +05:30
Sidharth Vinod
eb7d18dfca doc: Update deprecation message 2024-06-27 15:32:13 +05:30
Sidharth Vinod
eb0cb42f36 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (21 commits)
  chore: update browsers list
  chore(deps): update all patch dependencies
  docs: Added demo diagram of bidirectional arrows for sequence diagrams
  fix(deps): update all patch dependencies
  chore: Update drupal regex
  chore: Update pnpm
  rebuild
  chore: Use string templates
  chore: Fix docs
  fix tests
  update arrow startx position
  move arrowhead adjustment to buildMessageModel
  fixed incorrect spacing, added e2e-test
  Format
  Replace regex with contain match
  Format
  Fix test
  Add charset=UTF-8
  Encode string to UTF-8 before encoding to Base64
  fix arrow pointer x position
  ...
2024-06-27 14:15:46 +05:30
Yash Singh
ab726f008c fix: prevent escaping label styles 2024-06-24 16:07:43 -07:00
Sidharth Vinod
ce3b0af03a Merge pull request #5592 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-06-24 09:01:25 +00:00
Sidharth Vinod
c7c1218e02 Merge pull request #5593 from mermaid-js/update-browserslist
Update Browserslist
2024-06-24 14:31:51 +05:30
cmmoran
f5bdbf22e7 chore: update browsers list 2024-06-24 07:07:40 +00:00
renovate[bot]
1ab23d137f chore(deps): update all patch dependencies 2024-06-24 01:33:30 +00:00
Sidharth Vinod
cba968ccc0 Merge pull request #5544 from mermaid-js/renovate/patch-all-patch
fix(deps): update all patch dependencies (patch)
2024-06-22 16:04:50 +00:00
Sidharth Vinod
0f3778aea8 Merge pull request #5589 from Justin-Garey/docs/123_bidirectional-sequence-arrows-demo
docs: Added demo diagram of bidirectional arrows for sequence diagrams
2024-06-22 16:04:32 +00:00
Justin
ac5c61dbd4 docs: Added demo diagram of bidirectional arrows for sequence diagrams 2024-06-21 14:16:21 +00:00
renovate[bot]
6c785c9316 fix(deps): update all patch dependencies 2024-06-21 11:12:06 +00:00
Sidharth Vinod
58483fb231 chore: Update drupal regex 2024-06-21 16:37:55 +05:30
Sidharth Vinod
0d8c3fcf8c chore: Update pnpm 2024-06-21 16:31:29 +05:30
Sidharth Vinod
9f375139d5 Merge pull request #5556 from OG-NI/bug/5555_xychart_incorrect_spacing
[XYChart] fixed incorrect spacing between data points
2024-06-21 03:39:47 +00:00
Sidharth Vinod
5ba3696f95 chore: Update docs to remove html tag like text 2024-06-21 08:45:52 +05:30
Ingo
0c49d2b84e Merge branch 'develop' into bug/5555_xychart_incorrect_spacing 2024-06-20 20:49:00 +02:00
OG-NI
42414e85d1 rebuild 2024-06-20 20:38:51 +02:00
Sidharth Vinod
77a02fefe4 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (138 commits)
  chore: Update docs
  chore: Add argos token to cypress config.
  chore: Remove cy.get('svg') calls
  chore: fix Argos parallel
  chore: Support local screenshot testing without applitools or argos
  chore: Skip checking drupal links
  chore: Remove reference screenshot generation from E2E
  chore: Remove cytoscape patch.
  chore(argos): disable matchImageSnapshot
  chore(argos): put parallel mode only when necessary
  chore(argos): setup parallel mode
  chore: setup Argos Visual Testing on E2E
  Fixed linters
  Added more specs for elk detector
  Fixed wrong elk detector, check only beginning of the line for diagram keywords
  Removed unused patch
  Fix cytoscape patch
  chore: Remove cytoscape patch.
  docs: fix node version in CONTRIBUTING.md
  Explain line breaks in `sequenceDiagram.md`
  ...
2024-06-20 23:40:17 +05:30
Sidharth Vinod
1e43ad1ee3 Merge pull request #5520 from iansan5653/fix-sandbox-utf16
Fix `sandbox` mode with UTF-16 characters
2024-06-20 18:07:40 +00:00
Sidharth Vinod
cda41a1cdf Merge pull request #5209 from Ronid1/feature/4051_sequence_diagram-multi-directional-arrow
Feature/4051 sequence diagram multi directional arrow
2024-06-20 18:07:17 +00:00
Ronid1
1a199d630f Merge branch 'develop' of https://github.com/mermaid-js/mermaid into feature/4051_sequence_diagram-multi-directional-arrow 2024-06-20 10:25:42 -07:00
Sidharth Vinod
51c07163aa Merge branch 'develop' into pr/iansan5653/5520
* develop:
  chore: Update docs
  chore: Add argos token to cypress config.
  chore: Remove cy.get('svg') calls
  Explain line breaks in `sequenceDiagram.md`
  add integration test
  fix note z position
  Correct the System_Boundary stereotype
2024-06-20 22:48:45 +05:30
Sidharth Vinod
9bbd3cab3c chore: Use string templates 2024-06-20 22:48:28 +05:30
Sidharth Vinod
6f61a71dda Merge branch 'develop' into bug/5555_xychart_incorrect_spacing 2024-06-20 22:31:03 +05:30
Sidharth Vinod
3af4020cdc Merge pull request #5570 from abitrolly/patch-1
Explain line breaks in `sequenceDiagram.md`
2024-06-20 22:16:34 +05:30
Sidharth Vinod
d65e78f9e2 chore: Update docs 2024-06-20 22:15:52 +05:30
Sidharth Vinod
82b120e567 Merge branch 'develop' into patch-1 2024-06-20 22:14:38 +05:30
Nikolay Rozhkov
d95c159b1f Merge pull request #5243 from jonmcewen/c4-sys-boundary-stereotype
Correct the System_Boundary stereotype
2024-06-20 15:14:20 +00:00
Nikolay Rozhkov
c468319869 Merge branch 'develop' into c4-sys-boundary-stereotype 2024-06-20 17:36:02 +03:00
Sidharth Vinod
4b21e1e745 Merge pull request #5564 from Ronid1/bug/5525_sequence_diagram_fix_note_z_position
Bug/5525 sequence diagram fix note z position
2024-06-20 13:51:21 +00:00
Sidharth Vinod
fb1942c2cf Merge branch 'develop' into bug/5525_sequence_diagram_fix_note_z_position 2024-06-20 18:44:17 +05:30
Sidharth Vinod
81d8b9d02e chore: Fix docs 2024-06-20 18:41:11 +05:30
Sidharth Vinod
6db070197a Merge branch 'develop' into fix-sandbox-utf16 2024-06-20 18:35:29 +05:30
Sidharth Vinod
a331125187 Merge pull request #5586 from mermaid-js/sidv/cleanupCy
Cleanup Cypress tests
2024-06-20 13:04:42 +00:00
Sidharth Vinod
66bc461fa1 chore: Add argos token to cypress config.
This token is not sensitive, and is required for argos to run in fork PRs.
2024-06-20 18:26:19 +05:30
Sidharth Vinod
df72febc00 Merge pull request #5579 from mermaid-js/bug/5507_fixed-wrong-elk-detector
Fixed wrong ELK detector
2024-06-20 12:47:57 +00:00
Sidharth Vinod
5aced51f9e chore: Remove cy.get('svg') calls 2024-06-20 17:05:00 +05:30
Sidharth Vinod
fe9fbd8618 Merge pull request #5581 from gregberge/fix-argos-parallel
chore: fix Argos parallel
2024-06-20 16:15:36 +05:30
Greg Bergé
b031c6f182 chore: fix Argos parallel 2024-06-20 12:11:53 +02:00
Sidharth Vinod
2f792e33d6 chore: Support local screenshot testing without applitools or argos 2024-06-20 15:11:38 +05:30
Sidharth Vinod
dc51a8f182 Merge branch 'develop' into fix-sandbox-utf16 2024-06-20 14:48:39 +05:30
Sidharth Vinod
e8d18189ac Merge branch 'develop' of https://github.com/mermaid-js/mermaid into develop
* 'develop' of https://github.com/mermaid-js/mermaid:
  chore: Remove reference screenshot generation from E2E
  chore: Remove cytoscape patch.
  chore(argos): disable matchImageSnapshot
  chore(argos): put parallel mode only when necessary
  chore(argos): setup parallel mode
  chore: setup Argos Visual Testing on E2E
2024-06-20 14:47:57 +05:30
Sidharth Vinod
a6276a94c3 chore: Skip checking drupal links 2024-06-20 14:47:53 +05:30
Sidharth Vinod
85628f2148 Merge pull request #5577 from gregberge/setup-argos-visual-testing
chore: setup Argos Visual Testing
2024-06-20 14:46:54 +05:30
Sidharth Vinod
1f70717a53 Merge branch 'develop' into pr/gregberge/5577
* develop:
  Removed unused patch
  Fix cytoscape patch
  chore: Remove cytoscape patch.
  docs: fix node version in CONTRIBUTING.md
  Fixed entrypoint path
2024-06-20 14:44:16 +05:30
Sidharth Vinod
493bb8a80e chore: Remove reference screenshot generation from E2E 2024-06-20 14:39:21 +05:30
Sidharth Vinod
788e7c96ff chore: Remove cytoscape patch. 2024-06-20 14:39:21 +05:30
Greg Bergé
caa0ff340d chore(argos): disable matchImageSnapshot 2024-06-20 14:38:37 +05:30
Greg Bergé
44688a20b6 chore(argos): put parallel mode only when necessary 2024-06-20 14:38:37 +05:30
Greg Bergé
3f1bba407e chore(argos): setup parallel mode 2024-06-20 14:38:21 +05:30
Greg Bergé
91e8bcaba9 chore: setup Argos Visual Testing on E2E 2024-06-20 14:38:06 +05:30
Nikolay Rozhkov
66cd0b9621 Fixed linters 2024-06-19 22:53:55 +03:00
Nikolay Rozhkov
6382dcf7c8 Added more specs for elk detector 2024-06-19 22:36:13 +03:00
Nikolay Rozhkov
5587011f75 Fixed wrong elk detector, check only beginning of the line for diagram keywords 2024-06-19 22:19:50 +03:00
Nikolay Rozhkov
0044aa3029 Merge pull request #5573 from exoego/docs/5572_node-version-contributing-md
docs: fix node version in CONTRIBUTING.md
2024-06-19 18:25:38 +00:00
Nikolay Rozhkov
9c3bcec7f0 Merge branch 'develop' into docs/5572_node-version-contributing-md 2024-06-19 21:04:46 +03:00
Sidharth Vinod
63f9e95795 Merge pull request #5566 from mermaid-js/bug/5565-fix-docker-local-development
Fixed entrypoint path
2024-06-19 17:31:01 +00:00
Nikolay Rozhkov
8f00555bf5 Removed unused patch 2024-06-19 19:51:09 +03:00
Nikolay Rozhkov
029b3c1101 Merge branch 'develop' into bug/5565-fix-docker-local-development 2024-06-19 19:21:48 +03:00
Nikolay Rozhkov
2340a3b836 Fix cytoscape patch 2024-06-19 19:17:56 +03:00
Sidharth Vinod
d84b4403ab chore: Remove cytoscape patch. 2024-06-19 21:47:07 +05:30
Nikolay Rozhkov
323f72ce33 Merge branch 'develop' into bug/5565-fix-docker-local-development 2024-06-19 16:49:23 +03:00
Sidharth Vinod
ecee23d8ba Merge pull request #5546 from mermaid-js/update-browserslist
Update Browserslist
2024-06-17 10:55:54 +05:30
exoego
7ee22de5e2 docs: fix node version in CONTRIBUTING.md 2024-06-16 07:29:35 +09:00
Anatoli Babenia
c904c7d21a Explain line breaks in sequenceDiagram.md
Closes https://github.com/mermaid-js/mermaid/issues/4351
2024-06-15 12:29:30 +03:00
Sidharth Vinod
bdca0a583e chore: Update to eslint v9 with flat config 2024-06-12 22:19:14 +05:30
cmmoran
ce3d0a23de chore: update browsers list 2024-06-10 07:06:39 +00:00
Nikolay Rozhkov
1c4dd9b923 Fixed entrypoint path 2024-06-09 01:23:38 +03:00
Ronid1
b285466130 add integration test 2024-06-06 18:33:55 -07:00
Ronid1
3754ac0872 fix note z position 2024-06-06 18:15:11 -07:00
Ronid1
83ca6897bd fix tests 2024-06-04 15:23:57 -07:00
Ronid1
d2d7f2bcb0 update arrow startx position 2024-06-04 15:10:50 -07:00
Ronid1
20f9abcc38 move arrowhead adjustment to buildMessageModel 2024-06-04 14:58:47 -07:00
Ronid1
0417a8ddff Merge branch 'develop' of https://github.com/mermaid-js/mermaid into feature/4051_sequence_diagram-multi-directional-arrow 2024-06-04 14:40:39 -07:00
OG-NI
46fe731379 fixed incorrect spacing, added e2e-test 2024-06-01 21:48:34 +02:00
Nikolay Rozhkov
0e63233845 Merge branch 'develop' into c4-sys-boundary-stereotype 2024-05-30 01:52:56 +03:00
Sidharth Vinod
d6ccd93cf2 Merge pull request #5532 from TWiStErRob/patch-1
Tiny improvements to Diagram Syntax sidebar
2024-05-24 09:24:17 +05:30
Sidharth Vinod
cf20ccb126 Create FUNDING.json 2024-05-21 18:28:21 +05:30
Sidharth Vinod
ec7adb7e00 Update pnpm to v9 2024-05-21 17:48:30 +05:30
Róbert Papp
44f42b2a63 Tiny improvements to Diagram Syntax sidebar 2024-05-18 11:13:09 +01:00
Sidharth Vinod
7bcba29493 Merge branch 'master' of https://github.com/mermaid-js/mermaid into develop
* 'master' of https://github.com/mermaid-js/mermaid:
  chore: Fix link
  Update docs
  fixup, docs: update plugin's name
  Update docs
  Changed Mermaid Chart GPT plugin's name
  Updated Mermaid Chart ChatGPT plugin link
  run the pnpm --filter mermaid run docs:build command
  Update flowchart.md
  Lint fix
  Fix for proper handling of block-diagram labels
  Fix for proper handling of block-diagram labels
  docs: Add blog post - Documentation Software (#5519)
  update content
  add ai blog post
2024-05-16 14:26:38 +05:30
Sidharth Vinod
8744008630 Merge pull request #5509 from Abrifq/patch-6
Updated Mermaid Chart ChatGPT plugin link
2024-05-16 14:22:52 +05:30
Sidharth Vinod
418d34cbee chore: Fix link 2024-05-16 14:21:44 +05:30
Sidharth Vinod
fcd5c2c21d Merge branch 'master' into pr/Abrifq/5509
* master:
  run the pnpm --filter mermaid run docs:build command
  Update flowchart.md
  Lint fix
  Fix for proper handling of block-diagram labels
  Fix for proper handling of block-diagram labels
  docs: Add blog post - Documentation Software (#5519)
  update content
  add ai blog post
2024-05-16 14:16:53 +05:30
Abrifq
e3c6281b26 Update docs 2024-05-16 14:13:44 +05:30
Arda Aydın
ae5b886148 fixup, docs: update plugin's name 2024-05-16 14:13:44 +05:30
Abrifq
c5badf8341 Update docs 2024-05-16 14:13:43 +05:30
Arda Aydın
da882de0d4 Changed Mermaid Chart GPT plugin's name 2024-05-16 14:13:43 +05:30
Abrifq
633febaeab Updated Mermaid Chart ChatGPT plugin link 2024-05-16 14:13:42 +05:30
Sidharth Vinod
bf9485c231 Merge pull request #5513 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-05-16 08:35:44 +00:00
renovate[bot]
a722bdcd37 chore(deps): update all patch dependencies 2024-05-16 07:44:05 +00:00
Sidharth Vinod
8a5fe53706 Merge pull request #5468 from mermaid-js/fix/maps
fix: move from objects to Maps
2024-05-16 07:27:23 +00:00
Sidharth Vinod
362e49aa2c Merge pull request #5517 from GRASBOCK/patch-1
Update flowchart.md
2024-05-16 10:44:32 +05:30
Richard Körner
6d2939c9b9 run the pnpm --filter mermaid run docs:build command 2024-05-16 10:43:18 +05:30
GRASBOCK
9a11cb7bb3 Update flowchart.md
fix callback by setting the window callback to the respective callback function in the jsfiddle and code sample
2024-05-16 10:43:17 +05:30
Yash Singh
00eaebeac8 Merge pull request #5518 from aloisklink/5468/refactor/remove-TypeScript-non-null-assertion-when-possible 2024-05-14 18:36:13 -07:00
Yash Singh
dd92aecdca chore: address @Yokozuna59's code reviews 2024-05-14 18:33:47 -07:00
Ian Sanders
e26dea6416 Format 2024-05-14 15:07:31 -04:00
Ian Sanders
3b2b8dacd8 Replace regex with contain match 2024-05-14 15:02:14 -04:00
Ian Sanders
df94d3994d Format 2024-05-14 14:34:10 -04:00
Ian Sanders
6f56d94c64 Fix test 2024-05-14 14:30:13 -04:00
Ian Sanders
56c4f10607 Add charset=UTF-8 2024-05-14 14:08:35 -04:00
Ian Sanders
dfa71317ad Encode string to UTF-8 before encoding to Base64 2024-05-14 13:57:32 -04:00
Sidharth Vinod
2df26ca323 Merge branch 'develop' into fix/maps 2024-05-14 22:15:54 +05:30
Knut Sveidqvist
b7cb9673b0 Merge branch 'release/10.9.1' 2024-05-14 13:01:17 +02:00
Knut Sveidqvist
8d815f878c Lint fix 2024-05-14 13:00:45 +02:00
Knut Sveidqvist
dab26df9c4 Fix for proper handling of block-diagram labels 2024-05-14 12:55:39 +02:00
Knut Sveidqvist
c7fe9a6465 Fix for proper handling of block-diagram labels 2024-05-14 12:53:41 +02:00
Steph
4f26f3ae2e docs: Add blog post - Documentation Software (#5519)
Add blog post documentation software
2024-05-14 16:39:16 +09:00
Alois Klink
730fa89e4c refactor: remove non-null assertion operator
Remove the non-null assertion operator when possible from PR
https://github.com/mermaid-js/mermaid/pull/5468
2024-05-14 03:28:59 +09:00
Sidharth Vinod
0326d899c4 Merge pull request #5514 from mermaid-js/sidv/removeUnrefSubschemas
chore: remove unrefSubSchemas
2024-05-13 12:12:14 +05:30
Sidharth Vinod
c993adfcdb chore: remove unrefSubSchemas 2024-05-13 10:14:28 +05:30
Sidharth Vinod
4885b311f8 chore: Build config types before building types 2024-05-13 08:47:23 +05:30
Sidharth Vinod
3274f673ab chore: Ignore vite.config.ts.timestamp- 2024-05-13 08:46:13 +05:30
Sidharth Vinod
4f642428de Merge pull request #5504 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-05-08 06:19:56 +00:00
renovate[bot]
954f5d7d42 chore(deps): update all patch dependencies 2024-05-08 06:04:26 +00:00
Sidharth Vinod
4a12c46350 Merge pull request #5503 from igorwessel/feat/add-from-to-id-in-edge
feat(state): add from, to ids for edge
2024-05-08 05:21:44 +00:00
Sidharth Vinod
9eb64cd6db Update docs 2024-05-08 10:59:18 +05:30
Sidharth Vinod
7b8e76c26f Merge pull request #5480 from mermaid-js/update-browserslist
Update Browserslist
2024-05-08 10:57:06 +05:30
Sidharth Vinod
665be1ecfe Merge pull request #5506 from conradagramont/patch-1
Added to "others" section on integration with Astro
2024-05-08 10:56:48 +05:30
Sidharth Vinod
edda73c7fc chore: Update ordering 2024-05-08 10:56:08 +05:30
Sidharth Vinod
6413529a6e Merge pull request #5490 from Timac/patch-1
Update integrations-community: Add MarkChart, a macOS app to preview …
2024-05-08 10:54:14 +05:30
Sidharth Vinod
f5e1df08a0 Merge pull request #5483 from NicolasNewman/5435/inconsistent-math-rendering
fix: inconsistent MathML rendering & erroneous <br />s being added
2024-05-08 10:53:52 +05:30
Conrad Agramont
bb2bbfdf92 Added to "others" section on integration with Astro 2024-05-07 13:24:04 -07:00
Nicolas Newman
22bd26272d Merge branch 'develop' into 5435/inconsistent-math-rendering 2024-05-06 09:53:11 -05:00
Igor Wessel
da150e8767 feat: use standard edge id function for class,flow,state diagram 2024-05-06 08:07:47 -03:00
Igor Wessel
1f64452716 feat(utils): create a standard edge id function 2024-05-06 07:46:42 -03:00
cmmoran
10871af93b chore: update browsers list 2024-05-06 07:06:55 +00:00
Yash Singh
50c9ede69d chore: rm autocompleted import 2024-05-04 09:44:08 -07:00
Yash Singh
ca4fa11859 trigger e2e again 2024-05-04 09:42:56 -07:00
Igor Wessel
9986b023d7 feat(state): add from, to in edge 2024-05-04 06:21:12 -03:00
Yash Singh
58af76384a fix: classrenderer v2 using in op 2024-05-03 21:19:52 -07:00
Yash Singh
e2ca8e820e format 2024-05-03 21:12:48 -07:00
Yash Singh
1cbd730b8d fix: class diagram notes plss 2024-05-03 21:07:09 -07:00
Yash Singh
6f1a553234 fix: git graph diffs 2024-05-03 20:37:45 -07:00
Yash Singh
e68ba3f1df Merge branch 'develop' into fix/maps 2024-05-02 15:34:50 -07:00
Yash Singh
92f1941fb0 fix: some changes 2024-05-02 15:28:59 -07:00
Sidharth Vinod
e68125eb6a Merge pull request #5471 from ad1992/aakansha/types
fix: simply from and to in message to string type
2024-05-01 17:44:15 +00:00
Sidharth Vinod
4f1c3547bf Merge pull request #5494 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-05-01 17:33:01 +00:00
Sidharth Vinod
e102ac2b58 Update packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison 2024-05-01 23:02:46 +05:30
Justin Greywolf
a536484408 Merge pull request #5495 from mermaid-js/update-mermaid-chart-page
DOCS: update Mermaid Chart page
2024-05-01 08:09:07 -07:00
Aakansha Doshi
63dca5bb86 Merge branch 'develop' into aakansha/types 2024-05-01 18:18:45 +05:30
Sidharth Vinod
bc7ecf330b fix: Simplify actor type of activeStart and activeEnd 2024-05-01 17:34:38 +05:30
renovate[bot]
d4e00de1fd chore(deps): update all patch dependencies 2024-04-30 10:26:27 +00:00
Steph
76801ff564 update content 2024-04-29 14:12:55 -07:00
NicolasNewman
c4ccfec316 Update docs 2024-04-29 14:49:56 +00:00
NicolasNewman
1ac9244e68 style(mathml): linting 2024-04-29 09:46:50 -05:00
Sidharth Vinod
f2d3ac1e7b Merge pull request #5492 from mermaid-js/add-blog-post
DOCS: Add AI in Software Diagramming blog post
2024-04-27 11:12:15 +05:30
Steph
edad740e15 add ai blog post 2024-04-26 13:17:36 -07:00
Sidharth Vinod
8265e53128 Merge pull request #5485 from cbugk/develop
Add named composite state example to stateDiagram-v2
2024-04-26 18:08:12 +00:00
Sidharth Vinod
d316b05fa1 Merge pull request #5476 from welfuture/develop
chore: remove repetitive words
2024-04-26 17:47:49 +00:00
Sidharth Vinod
3000f0208f Merge branch 'develop' into develop 2024-04-26 23:16:41 +05:30
Sidharth Vinod
e49c95c220 chore: Fix typo 2024-04-26 23:16:11 +05:30
Sidharth Vinod
47c5abb8a5 Merge pull request #5478 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-04-26 23:13:09 +05:30
renovate[bot]
be9b349e51 chore(deps): update all patch dependencies 2024-04-26 15:51:00 +00:00
Alexandre Colucci
18defaae6d Update integrations-community: Add MarkChart, a macOS app to preview Mermaid diagrams 2024-04-26 08:17:40 +02:00
Yash Singh
128c69aa76 fix: use maps for quadrant diagrams 2024-04-24 19:15:21 -07:00
Ronid1
17fd681bdb fix arrow pointer x position 2024-04-24 12:53:40 -07:00
Ronid1
e852156b9f add bidirectional arrow to sequence diagram 2024-04-23 20:36:58 -07:00
NicolasNewman
7f33ae0f40 fix(mathml): fixed flowchart equations being cut off 2024-04-22 17:15:10 -05:00
NicolasNewman
13aa3265e3 docs(mathml): updated docs to include forceLegacyMathML 2024-04-22 17:14:36 -05:00
NicolasNewman
3b0687e557 feat(mathml): added additional config option for forcing legacy rendering 2024-04-22 17:12:12 -05:00
welfuture
273941a9fe chore: remove repetitive words
Signed-off-by: welfuture <wellfuture@qq.com>
2024-04-20 20:46:14 +08:00
Celil Buğra Karacan
718811be9c Update stateDiagram.md
Add explanation for naming a composite state
2024-04-19 16:40:34 +03:00
Celil Buğra Karacan
8d9cb09261 Update stateDiagram.md
Add renamed composite as an example of composites with spaced names.
2024-04-19 16:39:03 +03:00
Aakansha Doshi
196d88559c fix: simply from and to in message to string type 2024-04-18 20:41:44 +05:30
Yash-Singh1
357da0ca28 Update docs 2024-04-17 03:50:39 +00:00
Yash Singh
9b411fa8d4 test: sankey, pie, seq diagram 2024-04-16 20:47:47 -07:00
Yash Singh
087a5748c8 test: seq, state 2024-04-16 17:52:26 -07:00
Yash Singh
6105185d05 test: requirement, sankey 2024-04-16 17:14:49 -07:00
Yash Singh
c993a817d1 test: block, er, gantt, git, pie 2024-04-16 14:46:50 -07:00
Yash Singh
002aa29f19 test: unsafe props to make sure they work with changes 2024-04-16 13:52:25 -07:00
Yash Singh
07de090723 fix: move from objects to Maps 2024-04-16 13:52:25 -07:00
Sidharth Vinod
3809732e48 Merge pull request #5173 from ilyes-ced/feature/add-point-styling-quadrant-to-charts
feat: Add point styling for quadrant chart
2024-04-16 09:17:07 +05:30
Sidharth Vinod
eb4a6fd2ed docs: Add quadrant point styling
Co-authored-by: ilyes-ced <109927235+ilyes-ced@users.noreply.github.com>
2024-04-16 08:45:22 +05:30
Sidharth Vinod
3357844a1f feat: Change precedence of styling 2024-04-16 08:44:21 +05:30
Sidharth Vinod
0d8fe3b626 Merge pull request #5433 from mermaid-js/renovate/all-minor
chore(deps): update all minor dependencies (minor)
2024-04-15 12:11:26 +05:30
renovate[bot]
5df988d2ac chore(deps): update all minor dependencies 2024-04-15 05:49:28 +00:00
Sidharth Vinod
e9ef277929 Merge pull request #5463 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-04-15 11:17:24 +05:30
renovate[bot]
2dcdcba227 chore(deps): update all patch dependencies 2024-04-15 02:00:26 +00:00
Sidharth Vinod
5b6c5dff0a fix: eslint ignore, type definition 2024-04-14 12:11:01 +05:30
Sidharth Vinod
7fa887b644 Merge pull request #5426 from ad1992/aakansha/typesafe
fix: make sequenceDB typesafe
2024-04-14 04:09:05 +00:00
Sidharth Vinod
5c6b2cf490 Merge pull request #5446 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-04-14 04:08:48 +00:00
renovate[bot]
e0930b5cbb chore(deps): update all patch dependencies 2024-04-13 21:31:37 +00:00
Sidharth Vinod
2a3d03254d Merge branch 'develop' into aakansha/typesafe 2024-04-13 11:53:58 +05:30
Sidharth Vinod
e570863801 Merge pull request #5445 from FutzMonitor/5422issue
Adds 'Switch' as an Alias for 'Checkout`
2024-04-13 06:21:44 +00:00
Sidharth Vinod
866d9416b4 fix: Remove ImperativeState type restriction. 2024-04-13 11:50:19 +05:30
Sidharth Vinod
e048085b5a Merge branch 'develop' into 5422issue 2024-04-13 11:31:08 +05:30
Sidharth Vinod
9ed2f4b2d3 Merge branch 'master' into develop
* master:
  📝🐛 fix schema link
2024-04-12 23:59:27 +05:30
Sidharth Vinod
c2eb2184fc Merge branch 'master' into develop
* master:
  update latest news section
  add Turing machine blog post
2024-04-12 23:58:52 +05:30
Sidharth Vinod
a2e3b4ca06 Merge pull request #5456 from dudeofawesome/patch-1
📝🐛 fix schema link
2024-04-12 23:57:44 +05:30
Louis Orleans
909ad02a18 📝🐛 fix schema link
The original domain (`mermaid-js.github.io`) only redirects to the new domain (`mermaid.js.org`) from the root `/`. I've updated the link to point to the new domain directly.
2024-04-12 23:56:14 +05:30
Sidharth Vinod
4a930d2b5b Merge pull request #5455 from mermaid-js/update-latest-news
DOCS: update latest news
2024-04-12 09:25:08 +05:30
steph
4a19103891 update latest news section 2024-04-11 10:53:34 -07:00
futzmonitor
bb0c45b090 Changes to rendering/gitGraph.spec.js
- Added additional rendering test functionality for recognizing 'switch' as an alias to 'checkout'.
2024-04-08 09:45:44 -04:00
futzmonitor
d0583f9947 1. Changes to gitGraph.jison
- Updated the regex to allow either 'checkout' or 'switch'
2. Changes to gitGraphParser.spec.js
- Additional test coverage added for the changes made to the parser.
3. Changes to gitGraphParserV2.spec.js
- Additional test coverafe added for the changes made to the parser.
4. Changes to gitgraph.md
- Updated documentation to let users know that checkout/switch can be used interchangeably.
2024-04-07 20:40:57 -04:00
Aakansha Doshi
12bd301401 revert from and to type to object 2024-04-05 18:22:48 +05:30
Aakansha Doshi
a14637b416 Merge branch 'develop' into aakansha/typesafe 2024-04-05 17:19:12 +05:30
Aakansha Doshi
5d1ac22fd1 add eslint rule consistent-type-definations 2024-04-05 17:17:01 +05:30
Sidharth Vinod
3ccfea84b8 Merge pull request #5430 from jakobskrym/feature/support-fa-kit-custom-icons
Feature/support fa kit custom icons
2024-04-03 21:54:11 +05:30
Jakob
38beca11fd Merge branch 'develop' into feature/support-fa-kit-custom-icons 2024-04-03 09:02:33 +02:00
Jakob
3555577581 Update createText.ts
Co-authored-by: Sidharth Vinod <sidharthv96@gmail.com>
2024-04-03 09:02:20 +02:00
Sidharth Vinod
e852596862 Merge pull request #5432 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-04-03 10:54:31 +05:30
renovate[bot]
f15fde26f9 chore(deps): update all patch dependencies 2024-04-03 04:02:11 +00:00
Sidharth Vinod
73c426f8be Merge pull request #5421 from ad1992/aakansha/lint
fix: remove unused import
2024-04-03 01:32:49 +05:30
Aakansha Doshi
8f40c1a77f revert lock file 2024-04-02 15:10:22 +05:30
Aakansha Doshi
0d00e88580 simplify message type from and to 2024-04-02 11:40:11 +05:30
Aakansha Doshi
8792e0a978 move types to separate file 2024-04-02 10:40:34 +05:30
Aakansha Doshi
e27e56f7bf use interfaces instead of types 2024-04-02 10:38:04 +05:30
jakobskrym
0051620840 feat: create utils func + test cases 2024-04-01 19:05:35 +02:00
jakobskrym
63f9d3e0b4 docs: finish docs 2024-03-30 12:28:18 +01:00
jakobskrym
90b1111382 docs: update docs with new info 2024-03-30 12:21:01 +01:00
jakobskrym
0aa526d707 feat: add in additional files 2024-03-30 12:08:16 +01:00
jakobskrym
4daef2591d feat: add support for fa-kit icons 2024-03-30 12:03:55 +01:00
Alois Klink
2d91aa0b06 Merge pull request #5425 from mermaid-js/add-blog-post
DOCS: add Turing machine blog post
2024-03-29 17:47:30 +00:00
Aakansha Doshi
2fd6de0af5 more type fixes 2024-03-29 15:27:13 +05:30
Aakansha Doshi
799af4e550 fix test 2024-03-29 15:05:03 +05:30
Aakansha Doshi
b8e0bcee5b fix type 2024-03-29 14:27:51 +05:30
Aakansha Doshi
3567308a22 fix: make sequenceDB typesafe 2024-03-29 13:31:02 +05:30
Steph
aca0bebaf4 add Turing machine blog post 2024-03-28 12:50:10 -07:00
Aakansha Doshi
4ee4555cbd fix: remove unused import 2024-03-27 19:18:14 +05:30
ilyes-ced
253adcb0eb added docs build 2024-03-26 22:54:01 +00:00
ilyes-ced
585609b907 lint fix 2024-03-26 22:50:27 +00:00
ilyes-ced
1d8332d61e Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-26 22:45:03 +00:00
ilyes-ced
3f95c78428 added styling docs 2024-03-26 22:44:37 +00:00
Sidharth Vinod
8e95c4db55 Merge pull request #5414 from mermaid-js/renovate/major-all-major
chore(deps): update all major dependencies (major)
2024-03-26 11:49:36 +05:30
renovate[bot]
f476a7566c chore(deps): update all major dependencies 2024-03-25 13:46:41 +00:00
Sidharth Vinod
4304fba0f5 Merge pull request #5411 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-03-25 19:14:55 +05:30
renovate[bot]
07bd9825a1 chore(deps): update all patch dependencies 2024-03-25 11:50:29 +00:00
Sidharth Vinod
69c7cb9f6f Update docs 2024-03-25 12:02:28 +05:30
Sidharth Vinod
fd473af5b0 Merge branch 'develop' of https://github.com/mermaid-js/mermaid into develop
* 'develop' of https://github.com/mermaid-js/mermaid:
  Update entityRelationshipDiagram.md
  chore(deps): update dependency type-fest to v4.14.0
2024-03-25 12:01:58 +05:30
Sidharth Vinod
d1f02f6bed Merge pull request #5412 from mermaid-js/renovate/all-minor
chore(deps): update dependency type-fest to v4.14.0
2024-03-25 11:59:59 +05:30
Sidharth Vinod
c5cc9dbffa Merge pull request #5413 from anlai46/updateEntityRelationshipMD
Update entityRelationshipDiagram.md
2024-03-25 11:58:35 +05:30
anlai46
43e183b658 Update entityRelationshipDiagram.md
- Added Wikipedia link
- Removed comma "," at the end of a bullet point
- Removed additional period "."
2024-03-24 21:32:57 -04:00
renovate[bot]
153f319666 chore(deps): update dependency type-fest to v4.14.0 2024-03-25 00:34:55 +00:00
ilyes-ced
3b8e6ecc42 small fix (follow) 2024-03-24 18:55:56 +00:00
ilyes-ced
29ec8cbd0a small fixes 2024-03-24 18:48:57 +00:00
Sidharth Vinod
3072604070 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-23 22:59:54 +05:30
Sidharth Vinod
562d10809c v11.0.0-alpha.7 2024-03-23 18:53:26 +05:30
Sidharth Vinod
c7d41cd963 Merge branch 'develop' into sidv/deprecateMermaidAPI 2024-03-23 18:21:39 +05:30
Sidharth Vinod
46346d2a51 Remove comment 2024-03-23 15:49:02 +05:30
Sidharth Vinod
830a58cebd Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (588 commits)
  Linting
  chore:  temp fix for eslint OOM
  chore: Update error snapshots
  Fix ESLint
  chore: Prettier
  chore: YOLO `pnpm --recursive update`
  chore: Remove commitlint
  Fix flowchart-elk render test
  chore: Add example page link in index
  chore: Minor fixes
  chore: Build docs
  Use develop as base on develop branch.
  Update renovate json
  update link
  update announcement and blog pages
  Remove `--force` flag
  Tweak editor.bash
  update link
  chore: update browsers list
  Update integrations-community: add Drupal and module.
  ...
2024-03-23 15:47:59 +05:30
ilyes-ced
37ba7af6f6 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-11 22:02:34 +00:00
ilyes-ced
5b43460ea4 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-09 16:29:15 +00:00
ilyes-ced
33444466f3 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-08 18:02:54 +00:00
ilyes-ced
b1915132d5 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-08 14:18:34 +00:00
Sidharth Vinod
01082f86b7 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-07 18:30:24 +05:30
ilyes-ced
358d855c88 fixed typo 2024-03-06 13:29:15 +00:00
ilyes-ced
1059dd389f Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-06 13:13:19 +00:00
ilyes-ced
b8e6672e60 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-05 18:36:12 +00:00
ilyes-ced
67e482ff97 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-29 21:53:59 +00:00
ilyes-ced
fc7427536c Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-29 13:08:58 +00:00
ilyes-ced
cabcf1e270 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-20 01:15:41 +00:00
ilyes-ced
af7364bdf9 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-14 18:21:51 +00:00
ilyes-ced
14e1e6368a Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-12 14:15:50 +00:00
ilyes-ced
f1aa6fff9c some fixes 2024-02-11 18:56:33 +00:00
ilyes-ced
8ad056b8a2 1 tiny typo 2024-02-07 01:20:04 +00:00
ilyes-ced
c1cb171071 added styles values validation + unit tests 2024-02-07 00:57:05 +00:00
ilyes-ced
17959f648a various fixes + add unit tests for parsed styles 2024-02-07 00:21:33 +00:00
ilyes-ced
2640120be8 fixed parsing for classes and styles are in jison 2024-02-06 22:18:17 +00:00
ilyes-ced
b55014617e Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-06 21:06:23 +00:00
ilyes-ced
42589a0034 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-05 15:42:44 +00:00
Sidharth Vinod
8691874dbb Merge branch 'develop' into c4-sys-boundary-stereotype 2024-02-01 17:36:58 +05:30
Jon McEwen
db92b5a219 Correct the System_Boundary stereotype 2024-01-26 16:15:12 +00:00
ilyes-ced
4e3d935acf Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-01-18 11:23:13 +00:00
ilyes-ced
38ee1724a8 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-01-16 10:06:08 +00:00
ilyes-ced
0d8016d926 cypress tests 2024-01-13 12:30:41 +00:00
ilyes-ced
a599e33ec2 add: class names and class definitions|todo: tests 2024-01-12 20:41:25 +00:00
ilyes-ced
9cca389031 fix:styles can be in random order and are optional 2024-01-11 23:27:48 +00:00
ilyes-ced
e965507470 Merge branch 'mermaid-js:develop' into feature/add-point-styling-quadrant-to-charts 2024-01-11 22:42:19 +00:00
ilyes-ced
8ab00442ea add: tests 2024-01-02 01:53:03 +00:00
ilyes-ced
cba803abaf add: point styling for quadrant chart (incomplete) 2024-01-01 23:26:14 +00:00
Sidharth Vinod
4fe2f31301 Merge branch 'next' into sidv/deprecateMermaidAPI
* next: (387 commits)
  build(deps-dev): bump vite from 4.4.9 to 4.4.12
  Changes to .prettierignore 1. Added 'demos/dev/**' to be ignored by Prettier. 2. Added '!/demos/dev/example.html' so that Prettier ensures no one changes the example.html in a way that doesn't obey the Prettier code formatting rules.
  build: use `tsx` instead of `ts-node-esm`
  chore: Downgrade node to 18.18.2
  fix: #5100 Add viewbox to sankey
  chore(deps): update all minor dependencies
  chore: Rename test
  test: Add unit test for generic classname and namespace
  fix: Check if parentCommit is provided
  Split type from generic class name
  Condition of Parent Id Without Merge Commit Added
  Referenced the PmWiki's Cookbook recipe enabling MermaidJs schematics in wiki pages
  test(e2e): fix pie chart E2E tests for PR #4288
  Add dummy commit to trigger GH checks
  chore: Revert unnecessary export
  refactor: Remove unnecessary calculations
  chore: Fix computeWidth function
  chore: Cleanup setupGraphViewbox
  Update docs
  update mermaidAPI to cleanup the text before passing to getDiagramFromText
  ...
2023-12-07 10:26:50 +05:30
Sidharth Vinod
fcd983d915 chore: Deprecate mermaidAPI 2023-09-08 08:27:20 +05:30
315 changed files with 20215 additions and 15146 deletions

View File

@@ -1,3 +1,4 @@
/* eslint-disable no-console */
import { packageOptions } from './common.js';
import { execSync } from 'child_process';
@@ -5,11 +6,17 @@ const buildType = (packageName: string) => {
console.log(`Building types for ${packageName}`);
try {
const out = execSync(`tsc -p ./packages/${packageName}/tsconfig.json --emitDeclarationOnly`);
out.length > 0 && console.log(out.toString());
if (out.length > 0) {
console.log(out.toString());
}
} catch (e) {
console.error(e);
e.stdout.length > 0 && console.error(e.stdout.toString());
e.stderr.length > 0 && console.error(e.stderr.toString());
if (e.stdout.length > 0) {
console.error(e.stdout.toString());
}
if (e.stderr.length > 0) {
console.error(e.stderr.toString());
}
}
};

View File

@@ -13,6 +13,7 @@ bqstring
BQUOTE
bramp
BRKT
brotli
callbackargs
callbackname
classdef
@@ -111,6 +112,7 @@ STYLECLASS
STYLEOPTS
subcomponent
subcomponents
subconfig
SUBROUTINEEND
SUBROUTINESTART
Subschemas
@@ -125,6 +127,7 @@ titlevalue
topbar
TRAPEND
TRAPSTART
treemap
ts-nocheck
tsdoc
typeof

View File

@@ -4,5 +4,6 @@ cpettitt
Dong Cai
Nikolay Rozhkov
Peng Xiao
Per Brolin
subhash-halder
Vinod Sidharth

View File

@@ -20,6 +20,7 @@ dagre-d3
Deepdwn
Docsify
Docsy
Doctave
DokuWiki
dompurify
elkjs
@@ -55,12 +56,14 @@ pyplot
redmine
rehype
rscratch
shiki
sparkline
sphinxcontrib
ssim
stylis
Swimm
tsbuildinfo
tseslint
Tuleap
Typora
unocss

View File

@@ -1 +1,4 @@
BRANDES
handdrawn
KOEPF
newbranch

View File

@@ -2,7 +2,8 @@ import { build } from 'esbuild';
import { mkdir, writeFile } from 'node:fs/promises';
import { packageOptions } from '../.build/common.js';
import { generateLangium } from '../.build/generateLangium.js';
import { MermaidBuildOptions, defaultOptions, getBuildConfig } from './util.js';
import type { MermaidBuildOptions } from './util.js';
import { defaultOptions, getBuildConfig } from './util.js';
const shouldVisualize = process.argv.includes('--visualize');
@@ -35,11 +36,11 @@ const buildPackage = async (entryName: keyof typeof packageOptions) => {
if (shouldVisualize) {
for (const { metafile } of results) {
if (!metafile) {
if (!metafile?.outputs) {
continue;
}
const fileName = Object.keys(metafile.outputs)
.filter((file) => !file.includes('chunks') && file.endsWith('js'))[0]
.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));
@@ -48,13 +49,14 @@ const buildPackage = async (entryName: keyof typeof packageOptions) => {
};
const handler = (e) => {
// eslint-disable-next-line no-console
console.error(e);
process.exit(1);
};
const main = async () => {
await generateLangium();
await mkdir('stats').catch(() => {});
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) {

View File

@@ -1,6 +1,6 @@
import { readFile } from 'node:fs/promises';
import { transformJison } from '../.build/jisonTransformer.js';
import { Plugin } from 'esbuild';
import type { Plugin } from 'esbuild';
export const jisonPlugin: Plugin = {
name: 'jison',

View File

@@ -1,11 +1,12 @@
import express from 'express';
import type { NextFunction, Request, Response } from 'express';
import cors from 'cors';
import { getBuildConfig, defaultOptions } from './util.js';
import { context } from 'esbuild';
/* eslint-disable no-console */
import chokidar from 'chokidar';
import { generateLangium } from '../.build/generateLangium.js';
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, entryName: packageName })
@@ -19,16 +20,28 @@ const mermaidIIFEConfig = getBuildConfig({
});
configs.push(mermaidIIFEConfig);
const contexts = await Promise.all(configs.map((config) => context(config)));
const contexts = await Promise.all(
configs.map(async (config) => ({ config, context: await context(config) }))
);
let rebuildCounter = 1;
const rebuildAll = async () => {
console.time('Rebuild time');
await Promise.all(contexts.map((ctx) => ctx.rebuild())).catch((e) => console.error(e));
console.timeEnd('Rebuild time');
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, next: NextFunction) {
function eventsHandler(request: Request, response: Response) {
const headers = {
'Content-Type': 'text/event-stream',
Connection: 'keep-alive',
@@ -45,19 +58,20 @@ function eventsHandler(request: Request, response: Response, next: NextFunction)
});
}
let timeoutId: NodeJS.Timeout | undefined = undefined;
let timeoutID: NodeJS.Timeout | undefined = undefined;
/**
* Debounce file change events to avoid rebuilding multiple times.
*/
function handleFileChange() {
if (timeoutId !== undefined) {
clearTimeout(timeoutId);
if (timeoutID !== undefined) {
clearTimeout(timeoutID);
}
timeoutId = setTimeout(async () => {
// eslint-disable-next-line @typescript-eslint/no-misused-promises
timeoutID = setTimeout(async () => {
await rebuildAll();
sendEventsToAll();
timeoutId = undefined;
timeoutID = undefined;
}, 100);
}
@@ -74,15 +88,16 @@ async function createServer() {
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;
}
if (/\.langium$/.test(path)) {
console.log(`${path} changed. Rebuilding...`);
if (path.endsWith('.langium')) {
await generateLangium();
}
console.log(`${path} changed. Rebuilding...`);
handleFileChange();
});
@@ -99,4 +114,4 @@ async function createServer() {
});
}
createServer();
void createServer();

View File

@@ -56,7 +56,7 @@ export const getBuildConfig = (options: MermaidBuildOptions): BuildOptions => {
const external: string[] = ['require', 'fs', 'path'];
const { name, file, packageName } = packageOptions[entryName];
const outFileName = getFileName(name, options);
let output: BuildOptions = buildOptions({
const output: BuildOptions = buildOptions({
absWorkingDir: resolve(__dirname, `../packages/${packageName}`),
entryPoints: {
[outFileName]: `src/${file}`,

View File

@@ -1,11 +0,0 @@
dist/**
.github/**
docs/Setup.md
cypress.config.js
cypress/plugins/index.js
coverage
*.json
node_modules
# autogenereated by langium-cli
generated/

View File

@@ -1,189 +0,0 @@
module.exports = {
env: {
browser: true,
es6: true,
'jest/globals': true,
node: true,
},
root: true,
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
experimentalObjectRestSpread: true,
jsx: true,
},
tsconfigRootDir: __dirname,
sourceType: 'module',
ecmaVersion: 2022,
allowAutomaticSingleRunInference: true,
project: ['./tsconfig.eslint.json', './packages/*/tsconfig.json'],
parser: '@typescript-eslint/parser',
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:json/recommended',
'plugin:markdown/recommended-legacy',
'plugin:@cspell/recommended',
'prettier',
],
plugins: [
'@typescript-eslint',
'no-only-tests',
'html',
'jest',
'jsdoc',
'json',
'@cspell',
'lodash',
'unicorn',
],
ignorePatterns: [
// this file is automatically generated by `pnpm run --filter mermaid types:build-config`
'packages/mermaid/src/config.type.ts',
],
rules: {
curly: 'error',
'no-console': 'error',
'no-prototype-builtins': 'off',
'no-unused-vars': 'off',
'cypress/no-async-tests': 'off',
'@typescript-eslint/consistent-type-imports': 'error',
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-floating-promises': 'error',
'@typescript-eslint/no-misused-promises': 'error',
'@typescript-eslint/no-unused-vars': 'warn',
'@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,
},
],
'@typescript-eslint/naming-convention': [
'error',
{
selector: 'typeLike',
format: ['PascalCase'],
custom: {
regex: '^I[A-Z]',
match: false,
},
},
],
'json/*': ['error', 'allowComments'],
'@cspell/spellchecker': [
'error',
{
checkIdentifiers: true,
checkStrings: true,
checkStringTemplates: true,
},
],
'no-empty': [
'error',
{
allowEmptyCatch: true,
},
],
'no-only-tests/no-only-tests': 'error',
'lodash/import-scope': ['error', 'method'],
'unicorn/better-regex': 'error',
'unicorn/no-abusive-eslint-disable': 'error',
'unicorn/no-array-push-push': 'error',
'unicorn/no-for-loop': 'error',
'unicorn/no-instanceof-array': 'error',
'unicorn/no-typeof-undefined': 'error',
'unicorn/no-unnecessary-await': 'error',
'unicorn/no-unsafe-regex': 'warn',
'unicorn/no-useless-promise-resolve-reject': 'error',
'unicorn/prefer-array-find': 'error',
'unicorn/prefer-array-flat-map': 'error',
'unicorn/prefer-array-index-of': 'error',
'unicorn/prefer-array-some': 'error',
'unicorn/prefer-default-parameters': 'error',
'unicorn/prefer-includes': 'error',
'unicorn/prefer-negative-index': 'error',
'unicorn/prefer-object-from-entries': 'error',
'unicorn/prefer-string-starts-ends-with': 'error',
'unicorn/prefer-string-trim-start-end': 'error',
'unicorn/string-content': 'error',
'unicorn/prefer-spread': 'error',
'unicorn/no-lonely-if': 'error',
},
overrides: [
{
files: ['cypress/**', 'demos/**'],
rules: {
'no-console': 'off',
},
},
{
files: ['*.{js,jsx,mjs,cjs}'],
extends: ['plugin:jsdoc/recommended'],
rules: {
'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',
},
},
{
files: ['*.{ts,tsx}'],
plugins: ['tsdoc'],
rules: {
'no-restricted-syntax': [
'error',
{
selector: 'TSEnumDeclaration',
message:
'Prefer using TypeScript union types over TypeScript enum, since TypeScript enums have a bunch of issues, see https://dev.to/dvddpl/whats-the-problem-with-typescript-enums-2okj',
},
],
'tsdoc/syntax': 'error',
},
},
{
files: ['*.spec.{ts,js}', 'cypress/**', 'demos/**', '**/docs/**'],
rules: {
'jsdoc/require-jsdoc': 'off',
'@typescript-eslint/no-unused-vars': 'off',
},
},
{
files: ['*.spec.{ts,js}', 'tests/**', 'cypress/**/*.js'],
rules: {
'@cspell/spellchecker': [
'error',
{
checkIdentifiers: false,
checkStrings: false,
checkStringTemplates: false,
},
],
},
},
{
files: ['*.html', '*.md', '**/*.md/*'],
rules: {
'no-var': 'error',
'no-undef': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-floating-promises': 'off',
'@typescript-eslint/no-misused-promises': 'off',
},
parserOptions: {
project: null,
},
},
],
};

5
.github/lychee.toml vendored
View File

@@ -41,7 +41,10 @@ exclude = [
"https://bundlephobia.com",
# Chrome webstore migration issue. Temporary
"https://chromewebstore.google.com"
"https://chromewebstore.google.com",
# Drupal 403
"https://(www.)?drupal.org"
]
# Exclude all private IPs from checking.

View File

@@ -18,7 +18,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4

View File

@@ -18,7 +18,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js
@@ -37,13 +37,13 @@ jobs:
run: pnpm run build
- name: Upload Mermaid Build as Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: mermaid-build
path: packages/mermaid/dist
- name: Upload Mermaid Mindmap Build as Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: mermaid-mindmap-build
path: packages/mermaid-mindmap/dist

View File

@@ -33,7 +33,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
config-file: ./.github/codeql/codeql-config.yml
languages: ${{ matrix.language }}
@@ -45,7 +45,7 @@ jobs:
# 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)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
# 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
@@ -59,4 +59,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@@ -17,4 +17,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@v4
- name: 'Dependency Review'
uses: actions/dependency-review-action@v3
uses: actions/dependency-review-action@v4

View File

@@ -32,7 +32,7 @@ jobs:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js

View File

@@ -1,9 +1,3 @@
# We use github cache to save snapshots between runs.
# For PRs and MergeQueues, the target commit is used, and for push events, github.event.previous is used.
# If a snapshot for a given Hash is not found, we checkout that commit, run the tests and cache the snapshots.
# These are then downloaded before running the E2E, providing the reference snapshots.
# If there are any errors, the diff image is uploaded to artifacts, and the user is notified.
name: E2E
on:
@@ -30,6 +24,7 @@ env:
) ||
github.event.before
}}
shouldRunParallel: ${{ secrets.CYPRESS_RECORD_KEY != '' && !(github.event_name == 'push' && github.ref == 'refs/heads/develop') }}
jobs:
cache:
runs-on: ubuntu-latest
@@ -38,7 +33,7 @@ jobs:
options: --user 1001
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
@@ -72,16 +67,6 @@ jobs:
mkdir -p cypress/snapshots/stats/base
mv stats cypress/snapshots/stats/base
- name: Cypress run
uses: cypress-io/github-action@v6
id: cypress-snapshot-gen
if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true' }}
with:
install: false
start: pnpm run dev
wait-on: 'http://localhost:9000'
browser: chrome
e2e:
runs-on: ubuntu-latest
container:
@@ -95,7 +80,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js
@@ -106,7 +91,7 @@ jobs:
# These cached snapshots are downloaded, providing the reference snapshots.
- name: Cache snapshots
id: cache-snapshot
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: ./cypress/snapshots
key: ${{ runner.os }}-snapshots-${{ env.targetHash }}
@@ -132,7 +117,7 @@ jobs:
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 ) }}
if: ${{ env.shouldRunParallel == 'true' || ( matrix.containers == 1 ) }}
with:
install: false
start: pnpm run dev:coverage
@@ -140,15 +125,19 @@ jobs:
browser: chrome
# Disable recording if we don't have an API key
# e.g. if this action was run from a fork
record: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
parallel: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
record: ${{ env.shouldRunParallel == 'true' }}
parallel: ${{ env.shouldRunParallel == 'true' }}
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
VITEST_COVERAGE: true
CYPRESS_COMMIT: ${{ github.sha }}
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}
ARGOS_PARALLEL: ${{ env.shouldRunParallel == 'true' }}
ARGOS_PARALLEL_TOTAL: 4
ARGOS_PARALLEL_INDEX: ${{ matrix.containers }}
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
# 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:
@@ -158,55 +147,3 @@ jobs:
fail_ci_if_error: false
verbose: true
token: 6845cc80-77ee-4e17-85a1-026cd95e0766
# We upload the artifacts into numbered archives to prevent overwriting
- name: Upload Artifacts
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: snapshots-${{ matrix.containers }}
retention-days: 1
path: ./cypress/snapshots
combineArtifacts:
needs: e2e
runs-on: ubuntu-latest
if: ${{ always() }}
steps:
# Download all snapshot artifacts and merge them into a single folder
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: snapshots
pattern: snapshots-*
merge-multiple: true
# For successful push events, we save the snapshots cache
- name: Save snapshots cache
id: cache-upload
if: ${{ github.event_name == 'push' && needs.e2e.result != 'failure' }}
uses: actions/cache/save@v3
with:
path: ./snapshots
key: ${{ runner.os }}-snapshots-${{ github.event.after }}
- name: Flatten images to a folder
if: ${{ needs.e2e.result == 'failure' }}
run: |
mkdir errors
cd snapshots
find . -mindepth 2 -type d -name "*__diff_output__*" -exec sh -c 'mv "$0"/*.png ../errors/' {} \;
- name: Upload Error snapshots
if: ${{ needs.e2e.result == 'failure' }}
uses: actions/upload-artifact@v4
id: upload-artifacts
with:
name: error-snapshots
retention-days: 10
path: errors/
- name: Notify Users
if: ${{ needs.e2e.result == 'failure' }}
run: |
echo "::error title=Visual tests failed::You can view images that failed by downloading the error-snapshots artifact: ${{ steps.upload-artifacts.outputs.artifact-url }}"

View File

@@ -29,7 +29,7 @@ jobs:
- uses: actions/checkout@v4
- name: Restore lychee cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}

View File

@@ -19,7 +19,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js

View File

@@ -22,7 +22,7 @@ jobs:
pull-requests: write # write permission is required to label PRs
steps:
- name: Label PR
uses: release-drafter/release-drafter@v5
uses: release-drafter/release-drafter@v6
with:
config-name: pr-labeler.yml
disable-autolabeler: false

View File

@@ -25,7 +25,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
@@ -37,13 +37,13 @@ jobs:
run: pnpm install --frozen-lockfile
- name: Setup Pages
uses: actions/configure-pages@v3
uses: actions/configure-pages@v4
- name: Run Build
run: pnpm --filter mermaid run docs:build:vitepress
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
uses: actions/upload-pages-artifact@v3
with:
path: packages/mermaid/src/vitepress/.vitepress/dist
@@ -56,4 +56,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: actions/deploy-pages@v4

View File

@@ -16,7 +16,7 @@ jobs:
pull-requests: read # required to read PR titles/labels
steps:
- name: Draft Release
uses: release-drafter/release-drafter@v5
uses: release-drafter/release-drafter@v6
with:
disable-autolabeler: true
env:

View File

@@ -13,7 +13,7 @@ jobs:
with:
fetch-depth: 0
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4

View File

@@ -11,7 +11,7 @@ jobs:
- uses: actions/checkout@v4
- uses: fregante/setup-git-user@v2
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js

View File

@@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js
@@ -39,7 +39,7 @@ jobs:
pnpm exec vitest run ./packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts --coverage
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
# Run step only pushes to develop and pull_requests
if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/develop' }}
with:

View File

@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- run: npx update-browserslist-db@latest
- name: Commit changes
uses: EndBug/add-and-commit@v9
@@ -19,7 +19,7 @@ jobs:
message: 'chore: update browsers list'
push: false
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
uses: peter-evans/create-pull-request@v6
with:
branch: update-browserslist
title: Update Browserslist

3
.gitignore vendored
View File

@@ -48,6 +48,7 @@ demos/dev/**
!/demos/dev/example.html
!/demos/dev/reload.js
tsx-0/**
vite.config.ts.timestamp-*
# autogenereated by langium-cli
generated/
generated/

View File

@@ -1 +1 @@
v20.11.1
20.12.2

View File

@@ -1,4 +1,5 @@
import { build, InlineConfig, type PluginOption } from 'vite';
import type { InlineConfig } from 'vite';
import { build, type PluginOption } from 'vite';
import { resolve } from 'path';
import { fileURLToPath } from 'url';
import jisonPlugin from './jisonPlugin.js';
@@ -46,9 +47,10 @@ interface BuildOptions {
export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions): InlineConfig => {
const external: (string | RegExp)[] = ['require', 'fs', 'path'];
// eslint-disable-next-line no-console
console.log(entryName, packageOptions[entryName]);
const { name, file, packageName } = packageOptions[entryName];
let output: OutputOptions = [
const output: OutputOptions = [
{
name,
format: 'esm',
@@ -83,7 +85,6 @@ export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions)
plugins: [
jisonPlugin(),
jsonSchemaPlugin(), // handles `.schema.yaml` files
// @ts-expect-error According to the type definitions, rollup plugins are incompatible with vite
typescript({ compilerOptions: { declaration: false } }),
istanbul({
exclude: ['node_modules', 'test/', '__mocks__', 'generated'],
@@ -121,10 +122,10 @@ await generateLangium();
if (watch) {
await build(getBuildConfig({ minify: false, watch, core: false, entryName: 'parser' }));
build(getBuildConfig({ minify: false, watch, core: false, entryName: 'mermaid' }));
void build(getBuildConfig({ minify: false, watch, core: false, entryName: 'mermaid' }));
if (!mermaidOnly) {
build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-example-diagram' }));
build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-zenuml' }));
void build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-example-diagram' }));
void build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-zenuml' }));
}
} else if (visualize) {
await build(getBuildConfig({ minify: false, watch, core: false, entryName: 'parser' }));

View File

@@ -1,4 +1,4 @@
import { PluginOption } from 'vite';
import type { PluginOption } from 'vite';
import { getDefaults, getSchema, loadSchema } from '../.build/jsonSchema.js';
/**

View File

@@ -23,8 +23,9 @@ async function createServer() {
app.use(express.static('cypress/platform'));
app.listen(9000, () => {
// eslint-disable-next-line no-console
console.log(`Listening on http://localhost:9000`);
});
}
createServer();
void createServer();

View File

@@ -1,2 +1,2 @@
FROM node:20.11.1-alpine3.19 AS base
FROM node:20.12.2-alpine3.19 AS base
RUN wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.shrc" SHELL="$(which sh)" sh -

7
FUNDING.json Normal file
View File

@@ -0,0 +1,7 @@
{
"drips": {
"ethereum": {
"ownedBy": "0x0831DDFe60d009d9448CC976157b539089aB821E"
}
}
}

View File

@@ -35,6 +35,7 @@ Try Live Editor previews of future releases: <a href="https://develop.git.mermai
[![NPM Downloads](https://img.shields.io/npm/dm/mermaid)](https://www.npmjs.com/package/mermaid)
[![Join our Discord!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=discord&label=discord)](https://discord.gg/AgrbSrBer3)
[![Twitter Follow](https://img.shields.io/badge/Social-mermaidjs__-blue?style=social&logo=X)](https://twitter.com/mermaidjs_)
[![Covered by Argos Visual Testing](https://argos-ci.com/badge.svg)](https://argos-ci.com)
<img src="./img/header.png" alt="" />

View File

@@ -2,6 +2,8 @@ import { defineConfig } from 'cypress';
import { addMatchImageSnapshotPlugin } from 'cypress-image-snapshot/plugin';
import coverage from '@cypress/code-coverage/task';
import eyesPlugin from '@applitools/eyes-cypress';
import { registerArgosTask } from '@argos-ci/cypress/task';
export default eyesPlugin(
defineConfig({
projectId: 'n2sma2',
@@ -17,10 +19,17 @@ export default eyesPlugin(
}
return launchOptions;
});
addMatchImageSnapshotPlugin(on, config);
// copy any needed variables from process.env to config.env
config.env.useAppli = process.env.USE_APPLI ? true : false;
config.env.useArgos = !!process.env.CI;
if (config.env.useArgos) {
registerArgosTask(on, config, {
token: 'fc3a35cf5200db928d65b2047861582d9444032b',
});
} else {
addMatchImageSnapshotPlugin(on, config);
}
// do not forget to return the changed config object!
return config;
},

View File

@@ -35,7 +35,7 @@ export const mermaidUrl = (
};
const objStr: string = JSON.stringify(codeObject);
let url = `http://localhost:9000/e2e.html?graph=${utf8ToB64(objStr)}`;
if (api) {
if (api && typeof graphStr === 'string') {
url = `http://localhost:9000/xss.html?graph=${graphStr}`;
}
@@ -54,16 +54,15 @@ export const imgSnapshotTest = (
): void => {
const options: CypressMermaidConfig = {
..._options,
fontFamily: _options.fontFamily || 'courier',
fontFamily: _options.fontFamily ?? 'courier',
// @ts-ignore TODO: Fix type of fontSize
fontSize: _options.fontSize || '16px',
fontSize: _options.fontSize ?? '16px',
sequence: {
...(_options.sequence || {}),
...(_options.sequence ?? {}),
actorFontFamily: 'courier',
noteFontFamily:
_options.sequence && _options.sequence.noteFontFamily
? _options.sequence.noteFontFamily
: 'courier',
noteFontFamily: _options.sequence?.noteFontFamily
? _options.sequence.noteFontFamily
: 'courier',
messageFontFamily: 'courier',
},
};
@@ -95,18 +94,7 @@ export const openURLAndVerifyRendering = (
options: CypressMermaidConfig,
validation?: any
): void => {
const useAppli: boolean = Cypress.env('useAppli');
const name: string = (options.name || cy.state('runnable').fullTitle()).replace(/\s+/g, '-');
if (useAppli) {
cy.log(`Opening eyes ${Cypress.spec.name} --- ${name}`);
cy.eyesOpen({
appName: 'Mermaid',
testName: name,
batchName: Cypress.spec.name,
batchId: batchId + Cypress.spec.name,
});
}
const name: string = (options.name ?? cy.state('runnable').fullTitle()).replace(/\s+/g, '-');
cy.visit(url);
cy.window().should('have.property', 'rendered', true);
@@ -116,11 +104,29 @@ export const openURLAndVerifyRendering = (
cy.get('svg').should(validation);
}
verifyScreenshot(name);
};
export const verifyScreenshot = (name: string): void => {
const useAppli: boolean = Cypress.env('useAppli');
const useArgos: boolean = Cypress.env('useArgos');
if (useAppli) {
cy.log(`Opening eyes ${Cypress.spec.name} --- ${name}`);
cy.eyesOpen({
appName: 'Mermaid',
testName: name,
batchName: Cypress.spec.name,
batchId: batchId + Cypress.spec.name,
});
cy.log(`Check eyes ${Cypress.spec.name}`);
cy.eyesCheckWindow('Click!');
cy.log(`Closing eyes ${Cypress.spec.name}`);
cy.eyesClose();
} else if (useArgos) {
cy.argosScreenshot(name, {
threshold: 0.01,
});
} else {
cy.matchImageSnapshot(name);
}

View File

@@ -1,4 +1,4 @@
import { renderGraph } from '../../helpers/util.ts';
import { renderGraph, verifyScreenshot } from '../../helpers/util.ts';
describe('Configuration', () => {
describe('arrowMarkerAbsolute', () => {
it('should handle default value false of arrowMarkerAbsolute', () => {
@@ -119,8 +119,7 @@ describe('Configuration', () => {
const url = 'http://localhost:9000/regression/issue-1874.html';
cy.visit(url);
cy.window().should('have.property', 'rendered', true);
cy.get('svg').should('be.visible');
cy.matchImageSnapshot(
verifyScreenshot(
'configuration.spec-should-not-taint-initial-configuration-when-using-multiple-directives'
);
});
@@ -145,7 +144,7 @@ describe('Configuration', () => {
// none of the diagrams should be error diagrams
expect($svg).to.not.contain('Syntax error');
});
cy.matchImageSnapshot(
verifyScreenshot(
'configuration.spec-should-not-render-error-diagram-if-suppressErrorRendering-is-set'
);
});
@@ -162,7 +161,7 @@ describe('Configuration', () => {
// some of the diagrams should be error diagrams
expect($svg).to.contain('Syntax error');
});
cy.matchImageSnapshot(
verifyScreenshot(
'configuration.spec-should-render-error-diagram-if-suppressErrorRendering-is-not-set'
);
});

View File

@@ -10,7 +10,6 @@ describe('XSS', () => {
cy.wait(1000).then(() => {
cy.get('.mermaid').should('exist');
});
cy.get('svg');
});
it('should not allow tags in the css', () => {
@@ -137,4 +136,9 @@ describe('XSS', () => {
cy.wait(1000);
cy.get('#the-malware').should('not.exist');
});
it('should sanitize backticks block diagram labels properly', () => {
cy.visit('http://localhost:9000/xss25.html');
cy.wait(1000);
cy.get('#the-malware').should('not.exist');
});
});

View File

@@ -30,7 +30,6 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Container diagram', () => {
imgSnapshotTest(
@@ -50,7 +49,6 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Component diagram', () => {
imgSnapshotTest(
@@ -69,7 +67,6 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Dynamic diagram', () => {
imgSnapshotTest(
@@ -93,7 +90,6 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Deployment diagram', () => {
imgSnapshotTest(
@@ -117,6 +113,5 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
});

View File

@@ -32,7 +32,6 @@ describe('Class diagram', () => {
`,
{ logLevel: 1 }
);
cy.get('svg');
});
it('2: should render a simple class diagrams with cardinality', () => {
@@ -61,7 +60,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('3: should render a simple class diagram with different visibilities', () => {
@@ -79,7 +77,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('4: should render a simple class diagram with comments', () => {
@@ -109,7 +106,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('5: should render a simple class diagram with abstract method', () => {
@@ -121,7 +117,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('6: should render a simple class diagram with static method', () => {
@@ -133,7 +128,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('7: should render a simple class diagram with Generic class', () => {
@@ -153,7 +147,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('8: should render a simple class diagram with Generic class and relations', () => {
@@ -174,7 +167,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('9: should render a simple class diagram with clickable link', () => {
@@ -196,7 +188,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('10: should render a simple class diagram with clickable callback', () => {
@@ -218,7 +209,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('11: should render a simple class diagram with return type on method', () => {
@@ -233,7 +223,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('12: should render a simple class diagram with generic types', () => {
@@ -249,7 +238,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('13: should render a simple class diagram with css classes applied', () => {
@@ -267,7 +255,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('14: should render a simple class diagram with css classes applied directly', () => {
@@ -283,7 +270,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('15: should render a simple class diagram with css classes applied to multiple classes', () => {
@@ -298,7 +284,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('16: should render multiple class diagrams', () => {
@@ -351,7 +336,6 @@ describe('Class diagram', () => {
],
{}
);
cy.get('svg');
});
// it('17: should render a class diagram when useMaxWidth is true (default)', () => {
@@ -421,7 +405,6 @@ describe('Class diagram', () => {
`,
{ logLevel: 1 }
);
cy.get('svg');
});
it('should render class diagram with newlines in title', () => {
@@ -439,7 +422,6 @@ describe('Class diagram', () => {
+quack()
}
`);
cy.get('svg');
});
it('should render class diagram with many newlines in title', () => {

View File

@@ -218,7 +218,6 @@ describe('Entity Relationship Diagram', () => {
`,
{ loglevel: 1 }
);
cy.get('svg');
});
it('should render entities with keys', () => {

View File

@@ -1458,5 +1458,79 @@ gitGraph TB:
{ gitGraph: { parallelCommits: true } }
);
});
it('73: should render a simple gitgraph with three branches and tagged merge commit using switch instead of checkout', () => {
imgSnapshotTest(
`gitGraph
commit id: "1"
commit id: "2"
branch nice_feature
switch nice_feature
commit id: "3"
switch main
commit id: "4"
switch nice_feature
branch very_nice_feature
switch very_nice_feature
commit id: "5"
switch main
commit id: "6"
switch nice_feature
commit id: "7"
switch main
merge nice_feature id: "12345" tag: "my merge commit"
switch very_nice_feature
commit id: "8"
switch main
commit id: "9"
`,
{}
);
});
it('74: should render commits for more than 8 branches using switch instead of checkout', () => {
imgSnapshotTest(
`
gitGraph
switch main
%% Make sure to manually set the ID of all commits, for consistent visual tests
commit id: "1-abcdefg"
switch main
branch branch1
commit id: "2-abcdefg"
switch main
merge branch1
branch branch2
commit id: "3-abcdefg"
switch main
merge branch2
branch branch3
commit id: "4-abcdefg"
switch main
merge branch3
branch branch4
commit id: "5-abcdefg"
switch main
merge branch4
branch branch5
commit id: "6-abcdefg"
switch main
merge branch5
branch branch6
commit id: "7-abcdefg"
switch main
merge branch6
branch branch7
commit id: "8-abcdefg"
switch main
merge branch7
branch branch8
commit id: "9-abcdefg"
switch main
merge branch8
branch branch9
commit id: "10-abcdefg"
`,
{}
);
});
});
});

View File

@@ -10,6 +10,15 @@ describe('packet structure', () => {
);
});
it('should render a simple packet diagram without ranges', () => {
imgSnapshotTest(
`packet-beta
0: "h"
1: "i"
`
);
});
it('should render a complex packet diagram', () => {
imgSnapshotTest(
`packet-beta

View File

@@ -1,4 +1,4 @@
import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts';
import { imgSnapshotTest } from '../../helpers/util.ts';
describe('Quadrant Chart', () => {
it('should render if only chart type is provided', () => {
@@ -8,7 +8,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render a complete quadrant chart', () => {
imgSnapshotTest(
@@ -30,7 +29,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render without points', () => {
imgSnapshotTest(
@@ -46,7 +44,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render y-axix on right side', () => {
imgSnapshotTest(
@@ -63,7 +60,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render x-axix on bottom', () => {
imgSnapshotTest(
@@ -80,7 +76,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render x-axix on bottom and y-axis on right', () => {
imgSnapshotTest(
@@ -97,7 +92,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render without title', () => {
imgSnapshotTest(
@@ -112,7 +106,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should use all the config', () => {
imgSnapshotTest(
@@ -135,7 +128,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should use all the theme variable', () => {
imgSnapshotTest(
@@ -158,7 +150,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render x-axis labels in the center, if x-axis has two labels', () => {
imgSnapshotTest(
@@ -180,7 +171,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render y-axis labels in the center, if y-axis has two labels', () => {
imgSnapshotTest(
@@ -202,7 +192,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render both axes labels on the left and bottom, if both axes have only one label', () => {
imgSnapshotTest(
@@ -224,6 +213,52 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('it should render data points with styles', () => {
imgSnapshotTest(
`
quadrantChart
title Reach and engagement of campaigns
x-axis Reach -->
y-axis Engagement -->
quadrant-1 We should expand
quadrant-2 Need to promote
quadrant-3 Re-evaluate
quadrant-4 May be improved
Campaign A: [0.3, 0.6] radius: 20
Campaign B: [0.45, 0.23] color: #ff0000
Campaign C: [0.57, 0.69] stroke-color: #ff00ff
Campaign D: [0.78, 0.34] stroke-width: 3px
Campaign E: [0.40, 0.34] radius: 20, color: #ff0000 , stroke-color : #ff00ff, stroke-width : 3px
Campaign F: [0.35, 0.78] stroke-width: 3px , color: #ff0000, radius: 20, stroke-color: #ff00ff
Campaign G: [0.22, 0.22] stroke-width: 3px , color: #309708 , radius : 20 , stroke-color: #5060ff
Campaign H: [0.22, 0.44]
`,
{}
);
});
it('it should render data points with styles + classes', () => {
imgSnapshotTest(
`
quadrantChart
title Reach and engagement of campaigns
x-axis Reach -->
y-axis Engagement -->
quadrant-1 We should expand
quadrant-2 Need to promote
quadrant-3 Re-evaluate
quadrant-4 May be improved
Campaign A:::class1: [0.3, 0.6] radius: 20
Campaign B: [0.45, 0.23] color: #ff0000
Campaign C: [0.57, 0.69] stroke-color: #ff00ff
Campaign D:::class2: [0.78, 0.34] stroke-width: 3px
Campaign E:::class2: [0.40, 0.34] radius: 20, color: #ff0000, stroke-color: #ff00ff, stroke-width: 3px
Campaign F:::class1: [0.35, 0.78]
classDef class1 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px
classDef class2 color: #f00fff, radius : 10
`
);
});
});

View File

@@ -44,6 +44,5 @@ describe('Requirement diagram', () => {
`,
{}
);
cy.get('svg');
});
});

View File

@@ -1,8 +1,6 @@
/// <reference types="Cypress" />
import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts';
context('Sequence diagram', () => {
describe('Sequence diagram', () => {
it('should render a sequence diagram with boxes', () => {
renderGraph(
`
@@ -68,6 +66,19 @@ context('Sequence diagram', () => {
{ sequence: { actorFontFamily: 'courier' } }
);
});
it('should render bidirectional arrows', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice<<->>John: Hello John, how are you?
Alice<<-->>John: Hi Alice, I can hear you!
John<<->>Alice: This also works the other way
John<<-->>Alice: Yes
Alice->John: Test
John->>Alice: Still works
`
);
});
it('should handle different line breaks', () => {
imgSnapshotTest(
`
@@ -231,7 +242,7 @@ context('Sequence diagram', () => {
`
);
});
context('font settings', () => {
describe('font settings', () => {
it('should render different note fonts when configured', () => {
imgSnapshotTest(
`
@@ -328,7 +339,7 @@ context('Sequence diagram', () => {
);
});
});
context('auth width scaling', () => {
describe('auth width scaling', () => {
it('should render long actor descriptions', () => {
imgSnapshotTest(
`
@@ -464,6 +475,18 @@ context('Sequence diagram', () => {
{}
);
});
it('should render notes over actors and participant', () => {
imgSnapshotTest(
`
sequenceDiagram
actor Alice
participant Charlie
note over Alice: some note
note over Charlie: other note
`,
{}
);
});
it('should render long messages from an actor to the left to one to the right', () => {
imgSnapshotTest(
`
@@ -505,7 +528,7 @@ context('Sequence diagram', () => {
);
});
});
context('background rects', () => {
describe('background rects', () => {
it('should render a single and nested rects', () => {
imgSnapshotTest(
`
@@ -785,7 +808,7 @@ context('Sequence diagram', () => {
);
});
});
context('directives', () => {
describe('directives', () => {
it('should override config with directive settings', () => {
imgSnapshotTest(
`
@@ -817,7 +840,7 @@ context('Sequence diagram', () => {
);
});
});
context('links', () => {
describe('links', () => {
it('should support actor links', () => {
renderGraph(
`
@@ -833,7 +856,7 @@ context('Sequence diagram', () => {
);
cy.get('#actor0_popup').should((popupMenu) => {
const style = popupMenu.attr('style');
expect(style).to.undefined;
// expect(style).to.undefined;
});
cy.get('#root-0').click();
cy.get('#actor0_popup').should((popupMenu) => {
@@ -908,7 +931,7 @@ context('Sequence diagram', () => {
);
});
});
context('svg size', () => {
describe('svg size', () => {
it('should render a sequence diagram when useMaxWidth is true (default)', () => {
renderGraph(
`
@@ -987,7 +1010,7 @@ context('Sequence diagram', () => {
});
});
});
context('render after error', () => {
describe('render after error', () => {
it('should render diagram after fixing destroy participant error', () => {
cy.on('uncaught:exception', (err) => {
return false;

View File

@@ -8,7 +8,6 @@ describe('State diagram', () => {
`,
{ logLevel: 1, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams', () => {
imgSnapshotTest(
@@ -20,7 +19,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a long descriptions instead of id when available', () => {
imgSnapshotTest(
@@ -32,7 +30,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a long descriptions with additional descriptions', () => {
imgSnapshotTest(
@@ -44,7 +41,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a single state with short descriptions', () => {
imgSnapshotTest(
@@ -55,7 +51,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a transition descriptions with new lines', () => {
imgSnapshotTest(
@@ -69,7 +64,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with a note', () => {
imgSnapshotTest(
@@ -83,7 +77,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with on the left side when so specified', () => {
imgSnapshotTest(
@@ -97,7 +90,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with a note together with another state', () => {
imgSnapshotTest(
@@ -113,7 +105,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a note with multiple lines in it', () => {
imgSnapshotTest(
@@ -156,7 +147,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams 2', () => {
imgSnapshotTest(
@@ -169,7 +159,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams with labels', () => {
imgSnapshotTest(
@@ -185,7 +174,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render state descriptions', () => {
imgSnapshotTest(
@@ -198,7 +186,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render composite states', () => {
imgSnapshotTest(
@@ -217,7 +204,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render multiple composite states', () => {
imgSnapshotTest(
@@ -287,7 +273,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render concurrency states', () => {
imgSnapshotTest(
@@ -311,7 +296,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with states in it', () => {
imgSnapshotTest(

View File

@@ -10,7 +10,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a long descriptions instead of id when available', () => {
imgSnapshotTest(
@@ -22,7 +21,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a long descriptions with additional descriptions', () => {
imgSnapshotTest(
@@ -34,7 +32,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a single state with short descriptions', () => {
imgSnapshotTest(
@@ -45,7 +42,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a transition descriptions with new lines', () => {
imgSnapshotTest(
@@ -59,7 +55,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a state with a note', () => {
imgSnapshotTest(
@@ -73,7 +68,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a state with on the left side when so specified', () => {
imgSnapshotTest(
@@ -87,7 +81,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a state with a note together with another state', () => {
imgSnapshotTest(
@@ -103,7 +96,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a note with multiple lines in it', () => {
imgSnapshotTest(
@@ -146,7 +138,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a simple state diagrams 2', () => {
imgSnapshotTest(
@@ -159,7 +150,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a simple state diagrams with labels', () => {
imgSnapshotTest(
@@ -175,7 +165,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render state descriptions', () => {
imgSnapshotTest(
@@ -188,7 +177,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render composite states', () => {
imgSnapshotTest(
@@ -207,7 +195,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render multiple composit states', () => {
imgSnapshotTest(
@@ -277,7 +264,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render concurrency states', () => {
imgSnapshotTest(
@@ -301,7 +287,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a state with states in it', () => {
imgSnapshotTest(

View File

@@ -10,7 +10,6 @@ describe('themeCSS balancing, it', () => {
`,
{}
);
cy.get('svg');
});
it('should not allow unbalanced CSS definitions 2', () => {
imgSnapshotTest(
@@ -21,7 +20,6 @@ describe('themeCSS balancing, it', () => {
`,
{}
);
cy.get('svg');
});
});
@@ -45,7 +43,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a flowchart diagram', () => {
imgSnapshotTest(
@@ -70,7 +67,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a new flowchart diagram', () => {
imgSnapshotTest(
@@ -96,7 +92,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a sequence diagram', () => {
imgSnapshotTest(
@@ -125,7 +120,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a class diagram', () => {
@@ -175,7 +169,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a state diagram', () => {
imgSnapshotTest(
@@ -210,7 +203,6 @@ stateDiagram
`,
{ theme }
);
cy.get('svg');
});
it('should render a state diagram (v2)', () => {
imgSnapshotTest(
@@ -245,7 +237,6 @@ stateDiagram-v2
`,
{ theme }
);
cy.get('svg');
});
it('should render a er diagram', () => {
imgSnapshotTest(
@@ -266,7 +257,6 @@ erDiagram
`,
{ theme }
);
cy.get('svg');
});
it('should render a user journey diagram', () => {
imgSnapshotTest(
@@ -287,7 +277,6 @@ erDiagram
`,
{ theme }
);
cy.get('svg');
});
it('should render a gantt diagram', () => {
cy.clock(new Date('2014-01-06').getTime());
@@ -326,7 +315,6 @@ erDiagram
`,
{ theme }
);
cy.get('svg');
});
});
});

View File

@@ -9,7 +9,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Should render a complete chart', () => {
imgSnapshotTest(
@@ -35,7 +34,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('y-axis title not required', () => {
imgSnapshotTest(
@@ -48,7 +46,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Should render a chart without y-axis with different range', () => {
imgSnapshotTest(
@@ -60,7 +57,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('x axis title not required', () => {
imgSnapshotTest(
@@ -72,7 +68,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Multiple plots can be rendered', () => {
imgSnapshotTest(
@@ -87,7 +82,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Decimals and negative numbers are supported', () => {
imgSnapshotTest(
@@ -98,7 +92,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render spark line with "plotReservedSpacePercent"', () => {
imgSnapshotTest(
@@ -116,7 +109,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render spark bar without displaying other property', () => {
imgSnapshotTest(
@@ -143,7 +135,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Should use all the config from directive', () => {
imgSnapshotTest(
@@ -158,7 +149,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Should use all the config from yaml', () => {
imgSnapshotTest(
@@ -199,7 +189,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render with show axis title false', () => {
imgSnapshotTest(
@@ -221,7 +210,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render with show axis label false', () => {
imgSnapshotTest(
@@ -243,7 +231,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render with show axis tick false', () => {
imgSnapshotTest(
@@ -265,7 +252,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render with show axis line false', () => {
imgSnapshotTest(
@@ -287,7 +273,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render all the theme color', () => {
imgSnapshotTest(
@@ -317,6 +302,17 @@ describe('XY Chart', () => {
`,
{}
);
});
it('should use the correct distances between data points', () => {
imgSnapshotTest(
`
xychart-beta
x-axis 0 --> 2
line [0, 1, 0, 1]
bar [1, 0, 1, 0]
`,
{}
);
cy.get('svg');
});
});

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css"

View File

@@ -27,7 +27,7 @@ const code3 = `flowchart TD
A(<img scr='https://iconscout.com/ms-icon-310x310.png' width='20' height='20' />)
B(<b>Bold text!</b>)`;
if (location.href.match('test-html-escaping')) {
if (/test-html-escaping/.exec(location.href)) {
code = code3;
}

View File

@@ -3,7 +3,7 @@
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -3,7 +3,7 @@
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -3,7 +3,7 @@
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -3,7 +3,7 @@
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -132,7 +132,7 @@ if (typeof document !== 'undefined') {
window.addEventListener(
'load',
function () {
if (this.location.href.match('xss.html')) {
if (/xss.html/.exec(this.location.href)) {
this.console.log('Using api');
void contentLoadedApi().finally(markRendered);
} else {

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

108
cypress/platform/xss25.html Normal file
View File

@@ -0,0 +1,108 @@
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"
rel="stylesheet"
/>
<style>
body {
/* background: rgb(221, 208, 208); */
/* background:#333; */
font-family: 'Arial';
/* font-size: 18px !important; */
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
.mermaid svg {
/* font-size: 18px !important; */
}
.malware {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 150px;
background: red;
color: black;
display: flex;
display: flex;
justify-content: center;
align-items: center;
font-family: monospace;
font-size: 72px;
}
</style>
<script>
function xssAttack() {
const div = document.createElement('div');
div.id = 'the-malware';
div.className = 'malware';
div.innerHTML = 'XSS Succeeded';
document.getElementsByTagName('body')[0].appendChild(div);
throw new Error('XSS Succeeded');
}
</script>
</head>
<body>
<div>Security check</div>
<div class="flex">
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
mermaid.initialize({
theme: 'forest',
arrowMarkerAbsolute: true,
// themeCSS: '.edgePath .path {stroke: red;} .arrowheadPath {fill: red;}',
logLevel: 0,
state: {
defaultRenderer: 'dagre-wrapper',
},
flowchart: {
// defaultRenderer: 'dagre-wrapper',
nodeSpacing: 10,
curve: 'cardinal',
htmlLabels: true,
},
htmlLabels: false,
// gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorFontFamily: 'courier', actorMargin: 50, showSequenceNumbers: false },
// sequenceDiagram: { actorMargin: 300 } // deprecated
// fontFamily: '"times", sans-serif',
// fontFamily: 'courier',
fontSize: 18,
curve: 'basis',
securityLevel: 'strict',
startOnLoad: false,
secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize'],
// themeVariables: {relationLabelColor: 'red'}
});
function callback() {
alert('It worked');
}
let diagram = 'block-beta\n';
diagram += '`A-- "X<img src=x on';
diagram += 'error=xssAttack()>" -->B';
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
const { svg } = await mermaid.render('diagram', diagram);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -15,6 +15,7 @@
import '@cypress/code-coverage/support';
import '@applitools/eyes-cypress/commands';
import '@argos-ci/cypress/support';
// Import commands.js using ES2015 syntax:
import './commands';

View File

@@ -2,7 +2,7 @@
"compilerOptions": {
"target": "es2020",
"lib": ["es2020", "dom"],
"types": ["cypress", "node"],
"types": ["cypress", "node", "@argos-ci/cypress/dist/support.d.ts"],
"allowImportingTsExtensions": true,
"noEmit": true
},

View File

@@ -238,6 +238,17 @@
Alice-xJohn: Hello John, how are you?
John--xAlice: Great!
</pre>
<hr />
<pre class="mermaid">
sequenceDiagram
participant Alice
participant Bob
Alice<<->>Bob: Hello!
Alice<<->>Bob: Wow, we said that at the same time!
Bob<<-->>Alice: Bidirectional Arrows are so cool
</pre>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({

View File

@@ -1,4 +1,3 @@
version: '3.9'
services:
mermaid:
build:
@@ -8,7 +7,7 @@ services:
tty: true
working_dir: /mermaid
mem_limit: '8G'
entrypoint: docker-entrypoint.sh
entrypoint: ./docker-entrypoint.sh
environment:
- NODE_OPTIONS=--max_old_space_size=8192
volumes:
@@ -16,11 +15,12 @@ services:
- root_cache:/root/.cache
- root_local:/root/.local
- root_npm:/root/.npm
- /tmp:/tmp
ports:
- 9000:9000
- 3333:3333
cypress:
image: cypress/included:12.17.4
image: cypress/included:13.7.3
stdin_open: true
tty: true
working_dir: /mermaid

View File

@@ -56,7 +56,7 @@ The following commands must be sufficient enough to start with:
```bash
curl -fsSL https://get.pnpm.io/install.sh | sh -
pnpm env use --global 18
pnpm env use --global 20
```
You may also need to reload `.shrc` or `.bashrc` afterwards.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -84,3 +84,13 @@ Example with legacy mode enabled (the latest version of KaTeX's stylesheet can b
</body>
</html>
```
## Handling Rendering Differences
Due to differences between default fonts across operating systems and browser's MathML implementations, inconsistent results can be seen across platforms. If having consistent results are important, or the most optimal rendered results are desired, `forceLegacyMathML` can be enabled in the config.
This option will always use KaTeX's stylesheet instead of only when MathML is not supported (as with `legacyMathML`). Note that only `forceLegacyMathML` needs to be set.
If including KaTeX's stylesheet is not a concern, enabling this option is recommended to avoid scenarios where no MathML implementation within a browser provides the desired output (as seen below).
![Image showing differences between Browsers](img/mathMLDifferences.png)

View File

@@ -10,4 +10,4 @@
- [config](modules/config.md)
- [defaultConfig](modules/defaultConfig.md)
- [mermaidAPI](modules/mermaidAPI.md)
- [mermaid](modules/mermaid.md)

View File

@@ -0,0 +1,171 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/classes/mermaid.UnknownDiagramError.md](../../../../packages/mermaid/src/docs/config/setup/classes/mermaid.UnknownDiagramError.md).
# Class: UnknownDiagramError
[mermaid](../modules/mermaid.md).UnknownDiagramError
## Hierarchy
- `Error`
**`UnknownDiagramError`**
## Constructors
### constructor
**new UnknownDiagramError**(`message`): [`UnknownDiagramError`](mermaid.UnknownDiagramError.md)
#### Parameters
| Name | Type |
| :-------- | :------- |
| `message` | `string` |
#### Returns
[`UnknownDiagramError`](mermaid.UnknownDiagramError.md)
#### Overrides
Error.constructor
#### Defined in
[packages/mermaid/src/errors.ts:2](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/errors.ts#L2)
## Properties
### cause
`Optional` **cause**: `unknown`
#### Inherited from
Error.cause
#### Defined in
node_modules/.pnpm/typescript\@5.4.5/node_modules/typescript/lib/lib.es2022.error.d.ts:24
---
### message
**message**: `string`
#### Inherited from
Error.message
#### Defined in
node_modules/.pnpm/typescript\@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1077
---
### name
**name**: `string`
#### Inherited from
Error.name
#### Defined in
node_modules/.pnpm/typescript\@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1076
---
### stack
`Optional` **stack**: `string`
#### Inherited from
Error.stack
#### Defined in
node_modules/.pnpm/typescript\@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1078
---
### prepareStackTrace
`Static` `Optional` **prepareStackTrace**: (`err`: `Error`, `stackTraces`: `CallSite`\[]) => `any`
Optional override for formatting stack traces
**`See`**
<https://v8.dev/docs/stack-trace-api#customizing-stack-traces>
#### Type declaration
▸ (`err`, `stackTraces`): `any`
##### Parameters
| Name | Type |
| :------------ | :------------ |
| `err` | `Error` |
| `stackTraces` | `CallSite`\[] |
##### Returns
`any`
#### Inherited from
Error.prepareStackTrace
#### Defined in
node_modules/@types/node/globals.d.ts:28
---
### stackTraceLimit
`Static` **stackTraceLimit**: `number`
#### Inherited from
Error.stackTraceLimit
#### Defined in
node_modules/@types/node/globals.d.ts:30
## Methods
### captureStackTrace
**captureStackTrace**(`targetObject`, `constructorOpt?`): `void`
Create .stack property on a target object
#### Parameters
| Name | Type |
| :---------------- | :--------- |
| `targetObject` | `object` |
| `constructorOpt?` | `Function` |
#### Returns
`void`
#### Inherited from
Error.captureStackTrace
#### Defined in
node_modules/@types/node/globals.d.ts:21

Some files were not shown because too many files have changed in this diff Show More