Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(theme-mermaid): upgrade Mermaid to v10.4 - handle async rendering #9305

Merged
merged 2 commits into from
Sep 14, 2023

Conversation

slorber
Copy link
Collaborator

@slorber slorber commented Sep 14, 2023

Breaking change

We upgrade Mermaid v9 to v10. Like all major version upgrades, Mermaid v10+ comes with its own breaking changes documented here:

The Docusaurus code has also evolved to adapt for those breaking changes, notably the fact Mermaid.render is async now.

In theory most Docusaurus Mermaid users shouldn't be affected by those changes that are handled internally in our Mermaid theme. But we can't be 100% sure, so make sure to read the full v10 changelog.

Motivation

Fix #9032

Mermaid v10.4 comes with a few features that have been requested by Docusaurus users, notably:

Test Plan

Preview

Test links

https://deploy-preview-9305--docusaurus-2.netlify.app/tests/pages/diagrams

@slorber slorber added pr: new feature This PR adds a new API or behavior. pr: breaking change Existing sites may not build successfully in the new version. Description contains more details. labels Sep 14, 2023
@facebook-github-bot facebook-github-bot added the CLA Signed Signed Facebook CLA label Sep 14, 2023
@slorber slorber added this to the 3.0 milestone Sep 14, 2023
@netlify
Copy link

netlify bot commented Sep 14, 2023

[V2]

Name Link
🔨 Latest commit 13d5b70
🔍 Latest deploy log https://app.netlify.com/sites/docusaurus-2/deploys/650320525877680008565642
😎 Deploy Preview https://deploy-preview-9305--docusaurus-2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@github-actions
Copy link

github-actions bot commented Sep 14, 2023

⚡️ Lighthouse report for the deploy preview of this PR

URL Performance Accessibility Best Practices SEO PWA Report
/ 🟠 72 🟢 97 🟢 92 🟢 100 🟠 89 Report
/docs/installation 🟠 72 🟢 98 🟢 92 🟢 100 🟠 89 Report

@github-actions
Copy link

github-actions bot commented Sep 14, 2023

Size Change: +239 B (0%)

Total Size: 1.11 MB

Filename Size Change
website/build/assets/js/main.********.js 836 kB +221 B (0%)
ℹ️ View Unchanged
Filename Size Change
website/.docusaurus/globalData.json 117 kB 0 B
website/build/assets/css/styles.********.css 113 kB +18 B (0%)
website/build/index.html 41.4 kB 0 B

compressed-size-action

Comment on lines +72 to +79
try {
return await mermaid.render(id, text);
} catch (e) {
// Because Mermaid add a weird SVG/Message to the DOM on error
// https://github.com/mermaid-js/mermaid/issues/3205#issuecomment-1719620183
document.querySelector(`#d${id}`)?.remove();
throw e;
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to future self, track if Mermaid fix their weird errorRender.

See mermaid-js/mermaid#3205 (comment)

@slorber slorber changed the title feat: upgrade Mermaid to v10.4 - handle async rendering feat(theme-mermaid): upgrade Mermaid to v10.4 - handle async rendering Sep 14, 2023
@slorber slorber merged commit 58be496 into main Sep 14, 2023
28 of 29 checks passed
@slorber slorber deleted the slorber/mermaid-v10 branch September 14, 2023 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Signed Facebook CLA pr: breaking change Existing sites may not build successfully in the new version. Description contains more details. pr: new feature This PR adds a new API or behavior.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can't render mindmap mermaid diagrams
2 participants