6358 Commits

Author SHA1 Message Date
Sidharth Vinod
4890999206
Merge branch 'sidv/viz' into sidv/dagre-es-viz
* sidv/viz:
  Fix Lodash import
  fix: Viz build
  feat: Add package visualization
  Ignore stats.html
  feat: Add bundle visualization
  style(docs): use `github-dark` hightlight theme
  refactor(docs): use default vitepress highlighter
  fix: Move redirection to router
  chore: Add docs to redirect.ts
  feat: Redirect old documentation links.
  comments in states are skipped now
  Remove extra arrow and adjust cross position
2022-11-21 08:13:43 +05:30
Sidharth Vinod
8a2d3a400c
Fix Lodash import 2022-11-20 19:12:52 +05:30
Sidharth Vinod
29342ea726
fix: Viz build 2022-11-20 17:16:09 +05:30
Sidharth Vinod
4ad99a25d0
feat: Add package visualization 2022-11-20 14:16:22 +05:30
Sidharth Vinod
fc859528e4
Ignore stats.html 2022-11-20 12:13:03 +05:30
Sidharth Vinod
49a931f712
feat: Add bundle visualization 2022-11-20 12:13:00 +05:30
Alois Klink
fd76e0e270 chore: replace dagre/dagre-d3 with dagre-d3-es
Replace the dagre and dagre-d3 libraries with dagre-d3-es.

Both dagre and dagre-d3 are deprecated and unmaintained,
and haven't been updated for more than 3 years.

Since dagre-d3 still requires an old version of d3, this causes
a bunch of security warnings,
e.g. https://github.com/advisories/GHSA-36jr-mh4h-2g58

The [dagre-d3-es](https://github.com/tbo47/dagre-es) package is a fork
that contains support for `"d3": "^7.6.1"`. Also, it's ESM, so we will
hopefully get smaller bundle sizes too. The only issue is that this
fork isn't very well used (only has 3000 weekly downloads),
compared to `dagre-d3`'s 250,000 weekly downloads.

(although to be fair, a large proportion of dagre-d3's downloads
 probably come from mermaid)

Since it's is a less popular package,
**I've pinned `dagre-d3-es` to `"7.0.2"` instead of `"^7.0.2"`**.
This does mean if there is a bug in `dagre-d3-es`, we will have to
manually bump it ourselves, but it also means we won't accidentally
be sending a buggy version of `dagre-d3-es` out to users in cases
something changes (it might be worth disabling renovate for this
if we're feeling paranoid!)
2022-11-18 18:33:05 +00:00
Alois Klink
537a627b75 test(e2e): test for mindmap before snapshot
Sometimes, the mindmap e2e tests take a snapshot when the mindmap
SVG has been created, but hasn't yet been fully rendered.

This adds a quick check for a mindmap section root, so that the
snapshot is only taken after the mindmap diagram has started
rendering.

I was also running into JSDoc ESLint warnings, so I moved the file
into a TypeScript file to fix those warnings.
2022-11-18 18:31:14 +00:00
Alois Klink
57edcfe87d test(e2e): remove unused mermaid.spec.js file
All tests have been moved to `mindmap.spec.js` in a previous commit.
2022-11-18 18:07:40 +00:00
Alois Klink
b9dcdb00a5 test(e2e): move mindmap tests to mindmap.spec.js
Currently, we have mindmap tests in the
cypress/integration/rendering/mermaid.spec.js which is a bit
odd. They should probably all be in the mindmap.spec.js file.
2022-11-18 17:58:17 +00:00
Sidharth Vinod
09ed41b7d2
Merge pull request #3807 from aloisklink/docs/update-code-highlighting-theme
Use `github-dark` to highlight fence blocks in vitepress docs
2022-11-18 23:09:59 +05:30
Alois Klink
6e234f135d docs: create some basic mermaid mindmap demos 2022-11-18 17:32:23 +00:00
pbrolin47
804a23595d
Merge pull request #3797 from mermaid-js/sidv/redirectOldDocs
feat: Redirect old documentation links.
2022-11-18 10:46:34 +01:00
Knut Sveidqvist
8655db371e
Merge pull request #3762 from avijit1258/bug/3728_comments_not_ignored_composite_states
comments in states are skipped now
2022-11-18 10:45:01 +01:00
Knut Sveidqvist
9b8d5c1b3b
Merge pull request #3641 from ishuen/bug/3637_extra_arrow
Remove extra arrow and adjust cross position
2022-11-18 10:38:57 +01:00
Alois Klink
c30aa6f9cf
style(docs): use github-dark hightlight theme
Use the `github-dark` highlight theme for fence blocks in vitepress,
instead of the default `material-palenight` theme.

This increases the contrast ratio of `#comments` from 2.75:1 to 4.43:1,
which is a lot more visible.

It still doesn't reach WCAG 2.0 level AA contrast standards,
which requires 4.5:1 as a minimum constrast ratio, but 4.43:1 is
pretty close, and we don't need to manually modify the theme's colours.
2022-11-17 19:05:41 +00:00
Alois Klink
6da6edfc01
refactor(docs): use default vitepress highlighter
Use the default vitepress highlighter instead of making our own
highlighter using shiki.

The benefits are:
  - We don't need to directly depend on shiki
  - `mermaid-example` code-blocks will use the same highlighting
    as other languages (e.g. `html`/`js`).
  - We can control the theme from the global `vitepress` config.
  - Darkmode/lightmode themes are supported
  - Escaping is already handled by the default highlight function
2022-11-17 19:05:38 +00:00
Sidharth Vinod
461236030c
Merge pull request #3798 from weedySeaDragon/bug/1952-stateDiagram--classDef-fix-classes-type
bug: State diagram  fix classes type
2022-11-17 22:01:09 +05:30
Sidharth Vinod
8cc291162f
Merge pull request #3735 from aloisklink/ci/disable-pinning-dependencies
CI: disable pinning dependencies
2022-11-17 21:59:06 +05:30
Sidharth Vinod
b83ba4d293
fix: Move redirection to router 2022-11-17 11:14:15 +05:30
Alois Klink
c2bd6a490f ci(renovate): disable pinning dependencies
We shouldn't pin dependencies unless we have to.

This is for two reasons:

- If a dependency has a security issue, users should be able to
  easily update the dependency, before `mermaid` makes a new release
- If using `mermaid.core.js` in an app, using a dependency range
  means that users can bundle less dependencies.
  E.g. they won't need to bundle `lodash@4.17.y` just becasue mermaid
  needs `lodash@4.17.x`.

For development/CI, our dependencies are pinned by pnpm-lock.yaml
file anyway.
2022-11-16 20:00:17 +00:00
Alois Klink
476917bda9 Revert "chore(deps): pin dependencies"
This reverts commit 17b72d565de595c94c1e339da37fc81676c4b200.
2022-11-16 20:00:16 +00:00
Sidharth Vinod
653682a4b8 Merge pull request #3804 from weedySeaDragon/bug/3803_vitepress-config-shiki-import-fix
bug: change shiki getHighlighter import
2022-11-16 10:16:04 +05:30
Ashley Engelund (weedySeaDragon @ github)
717aca6824 change shiki getHighlighter import 2022-11-15 13:09:16 -08:00
Ashley Engelund (weedySeaDragon @ github)
2cbf6110a6 create separate spec for stateRenderer-v2 2022-11-15 12:30:10 -08:00
Ashley Engelund (weedySeaDragon @ github)
fcec9adbcd diagramStates should not be global; pass it into functions; minor comment fixes 2022-11-15 09:19:27 -08:00
Ashley Engelund (weedySeaDragon @ github)
13f3008f82 diagramClasses no longer needs to be cached; mermaidAPI no longer calls it repeatedly 2022-11-15 09:18:10 -08:00
Ashley Engelund (weedySeaDragon @ github)
6090a1f65a (minor) import expectTypeOf in spec 2022-11-15 09:14:00 -08:00
Ashley Engelund (weedySeaDragon @ github)
1ecd4a551d (minor) fix JSdoc tag 2022-11-15 09:13:27 -08:00
Ashley Engelund (weedySeaDragon @ github)
c6db0524bd + spec stateRenderer-v2.js getClasses() to verify it returns a {} 2022-11-15 09:01:34 -08:00
Ashley Engelund (weedySeaDragon @ github)
d3f5474f38 (minor) fix JSdoc types in comments 2022-11-15 08:59:01 -08:00
Ashley Engelund (weedySeaDragon @ github)
9996e53e24 (minor) add comments, remove duplicated line 2022-11-15 08:50:20 -08:00
Knut Sveidqvist
3b79ee35e0
Merge pull request #3780 from mermaid-js/sidv/mergeMaster
chore: Merge master to develop
2022-11-15 12:47:32 +01:00
Sidharth Vinod
b202b539bf
Merge pull request #3765 from spier/feature/check-links-in-docs
Add GHA that will check links + Fix broken links
2022-11-15 14:17:18 +05:30
Sidharth Vinod
e27966c15f
chore: Add master to link checker 2022-11-15 14:16:41 +05:30
Sidharth Vinod
18c27c6f1d
chore: Add docs to redirect.ts 2022-11-15 11:13:54 +05:30
Ashley Engelund (weedySeaDragon @ github)
345eaade22 stateDB classes must be a {} not [] 2022-11-14 11:39:58 -08:00
Sidharth Vinod
82f63b056f
feat: Redirect old documentation links. 2022-11-15 01:06:04 +05:30
Ashley Engelund (weedySeaDragon @ github)
ccd55a0bde add stateDiagram-v2 to list of graphs with classDefs 2022-11-14 11:24:59 -08:00
Sidharth Vinod
846a03663c
fix(docs): ClassDiagram table 2022-11-14 22:15:34 +05:30
Sidharth Vinod
ad6eba452c
Merge branch 'develop' into sidv/mergeMaster
* develop:
  fix(deps): update dependency rollup to v3
2022-11-14 16:44:57 +05:30
Sidharth Vinod
eae88c51d2
Cleanup 2022-11-14 16:42:08 +05:30
Sidharth Vinod
752cc3a527
Merge pull request #3674 from mermaid-js/renovate/rollup-3.x
fix(deps): update dependency rollup to v3
2022-11-14 16:41:09 +05:30
Sidharth Vinod
051b4271d3
Cleanup docs 2022-11-14 15:24:47 +05:30
Sidharth Vinod
4decaf0308
chore: Fix tsdoc 2022-11-14 15:17:13 +05:30
Sidharth Vinod
9144fa390f
cleanup 2022-11-14 15:05:58 +05:30
Sidharth Vinod
c354d9e1e3
Merge remote-tracking branch 'origin/master' into sidv/mergeMaster
* origin/master: (76 commits)
  fix: `use-inline-specifiers-lockfile-format` to pnpm
  Hacky fix for pnpm issue
  chore: Cleanup pakage.json, fix jisonLint
  feat: Switch CDN
  Updated README-files
  Updated URL
  Updated release
  Increased package version to 9.2.2
  Added registerExternalDiagram for Mindmap
  fix: Remove registerDiagram export
  fix versions
  feat: Add config validator MVP
  Apply suggestions from code review
  fix: Import path in viewer.js
  Cleanup package.json
  Restore package and lock from master
  fix pnpm lock
  Fix pnpm-lock
  Fixing applitools batches
  Fix pnpm
  ...
2022-11-14 14:57:08 +05:30
Sidharth Vinod
77a326dedf
Merge Master 2022-11-14 14:51:23 +05:30
Sidharth Vinod
2d9bdedaf5
Merge branch 'develop' into sidv/mergeMaster
* develop:
  chore(deps): update all non-major dependencies
  fix(deps): update all non-major dependencies
  fix: `sourceLinkTemplate` in typedoc
  only call getClasses if the diagram renderer supports it
  fix typo
  merge fix: get classDefs only if diagram is in CLASSDEF_DIAGRAMS
  use lodash isEmpty instead of method defined in utils
  chore: Fix cspell
  fix: Type of DiagramStyleClassDef, general cleanup
  change spec descriptions to active voice (= shorter b/c 'should' isn't needed)
  functions and specs: removeExistingElements
  functions and specs: createUserstyles; minor changes
  functions and specs: createCssStyles, appendDivSvgG,cleanUpSvgCode, putIntoIFrame [for render]
  add MockedD3.ts
  const isSandboxed, isLooseSecurityLevel, fontFamily; a few more CONSTs
  more meaningful var names; move related lines together; const idSelector
  comment the main steps (prepare to break into functions that can be tested)
  render: define const iFrameId, enclosingDivID and _selector to use in function
  specs: encodeEntities, decodeEntities
  render: constants
2022-11-14 13:57:09 +05:30
renovate[bot]
04a99a7cd3
fix(deps): update dependency rollup to v3 2022-11-14 07:51:09 +00:00