Skip to content

Update dependency mermaid to v10 - autoclosed

Ghost User requested to merge renovate/mermaid-10.x into main

This MR contains the following updates:

Package Change Age Adoption Passing Confidence
mermaid 9.3.0 -> 10.0.2 age adoption passing confidence

Release Notes

mermaid-js/mermaid

v10.0.2: 10.0.2

Compare Source

Release Notes

Bugfixes

v10.0.1: 10.0.1

Compare Source

Release Notes

Features

Bugfixes

Documentation

  • docs(flowchart): duplicated hexagon node example by @​Oliboy50
  • add links to NiceGUI integration by @​rodja
  • Adding app (Deepdwn) to integrations list by @​Billiam

Chores

🎉 Thanks to all contributors helping with this release! 🎉

New Contributors

Full Changelog: https://github.com/mermaid-js/mermaid/compare/v10.0.0...v10.0.1

v10.0.0

Compare Source

Mermaid is ESM only!

We've dropped CJS support. So, you will have to update your import scripts as follows.

<script type="module">
  import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
  mermaid.initialize({ startOnLoad: true });
</script>

You can keep using v9 by adding the @9 in the CDN URL.

- <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/mermaid@9/dist/mermaid.js"></script>
mermaid.render is async and doesn't accept callbacks
// < v10
mermaid.render('id', 'graph TD;\nA-->B', (svg, bindFunctions) => {
  element.innerHTML = svg;
  if (bindFunctions) {
    bindFunctions(element);
  }
});

// Shorter syntax
if (bindFunctions) {
  bindFunctions(element);
}
// can be replaced with the `?.` shorthand
bindFunctions?.(element);

// >= v10 with async/await
const { svg, bindFunctions } = await mermaid.render('id', 'graph TD;\nA-->B');
element.innerHTML = svg;
bindFunctions?.(element);

// >= v10 with promise.then
mermaid.render('id', 'graph TD;A-->B').then(({ svg, bindFunctions }) => {
  element.innerHTML = svg;
  bindFunctions?.(element);
});
mermaid.parse is async and ParseError is removed
// < v10
mermaid.parse(text, parseError);

//>= v10
await mermaid.parse(text).catch(parseError);
// or
try {
  await mermaid.parse(text);
} catch (err) {
  parseError(err);
}
Init deprecated and InitThrowsErrors removed

The config passed to init was not being used eariler. It will now be used. The init function is deprecated and will be removed in the next major release. init currently works as a wrapper to initialize and run.

// < v10
mermaid.init(config, selector, cb);

//>= v10
mermaid.initialize(config);
mermaid.run({
  querySelector: selector,
  postRenderCallback: cb,
  suppressErrors: true,
});
// < v10
mermaid.initThrowsErrors(config, selector, cb);

//>= v10
mermaid.initialize(config);
mermaid.run({
  querySelector: selector,
  postRenderCallback: cb,
  suppressErrors: false,
});

// TODO: Populate changelog pre v10

  • Config has a lot of changes
  • globalReset resets to defaultConfig instead of current config. Use reset instead.

v9.4.0

Compare Source

What's Changed

Features
Breaking changes
  • Mind map and timeline diagrams are lazy loaded by mermaid. In order to use these diagrams you need to use the renderAsync method of rendering. The @​mermaid-js/mermaid-mindmap package is deprecated by this.
Documentation
Bug Fixes
Chores

New Contributors

Full Changelog: https://github.com/mermaid-js/mermaid/compare/v9.3.0...v9.4.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Ghost User

Merge request reports