Weekly GitHub Report for Mermaid: March 24, 2025 - March 31, 2025 (12:00:52)
Weekly GitHub Report for Mermaid
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is @mermaid-js/parser@0.4.0
1.2 Version Information:
On March 25, 2025, a minor update was released for the Mermaid project, introducing a new feature that adds support for Radar Charts, thanks to contributor @thomascizeron.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
XY Chart: Add config for data lables: This issue proposes adding a configuration option to display data labels within an XY chart in a GitHub project, allowing users to enable or disable the display of data labels directly on the chart. The request includes an example configuration and screenshots to illustrate the current state and the desired outcome with data labels visible.
- Two contributors expressed interest in working on the issue and have implemented a solution to add the data label display option in the chart configuration, with plans to proceed to testing and provide updates.
- Number of comments this week: 2
-
Feature Request: Add Support for Clickable Links in State Diagram Nodes: This issue is a feature request to add support for clickable links in state diagram nodes within the Mermaid.js library, similar to the existing functionality in flowcharts. The proposal suggests implementing a
click
directive for state diagrams to enhance interactivity by allowing nodes to link to external URLs or trigger JavaScript functions, which would be beneficial for documentation, tutorials, and applications.- The comments discuss the feasibility and implementation details of adding clickable links to state diagrams, with one user expressing support and outlining the current functionality in flowcharts. Another user provides updates on their progress, including extending the parser and updating the database, while seeking guidance on rendering logic. The final comment announces the successful implementation and submission of a pull request for review.
- Number of comments this week: 2
-
Direction TD Inside subgraph Causes Parsing Error: This issue highlights a parsing error in Mermaid.js when using the direction "TD" inside a subgraph, which is inconsistent as other directions like "LR", "RL", and "BT" work correctly. The problem is significant because "TD" is a valid global direction, and direction changes are generally supported within subgraphs for other layouts.
- The comments discuss a parsing inconsistency with "TD" inside subgraphs, with initial investigations and a fix that resolves the issue for subgraphs but introduces a new problem with global directions. A subsequent fix ensures all directions, including "TD", work correctly inside subgraphs, and a pull request has been opened to address the issue.
- Number of comments this week: 2
-
Long Words are Cut Off: This issue describes a problem in the Mermaid Live Editor where long words on a node are not accommodated properly, resulting in the text being cut off. The issue occurs because the foreign object width does not adjust to fit the long word, leading to a visual discrepancy in flowcharts.
- The comments discuss testing the issue on different versions of the Mermaid Live Editor, revealing that the problem is more about text overflow rather than being cut off. A contributor plans to address this by implementing text wrapping or adding a max width. A pull request has been submitted to fix the issue by dynamically expanding nodes to fit long labels, adjusting the node dimensions and text alignment accordingly.
- Number of comments this week: 2
-
Markdown lists are not supported: This issue highlights a problem with Mermaid diagrams where Markdown lists are not supported, resulting in an error message "Unsupported markdown: list" when attempting to render diagrams that include Markdown list syntax. The issue provides examples using both '-' and '*' list markers, and suggests a workaround by using alternative characters like '•' or '-' to avoid the error.
- The comments discuss various aspects of the issue, including a regression from Mermaid version 10 to 11, and clarify that block-level Markdown is not supported, only inline Markdown. Users share workarounds, such as downgrading Mermaid or using a backslash to escape list characters, and mention related bug reports and pull requests aimed at addressing the problem.
- Number of comments this week: 1
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
- Tooltips for emoji in Diagram Syntax doc tree: This issue addresses the lack of clarity in the "Diagram Syntax" section of the documentation, where emojis are used next to diagram types without any explanation of their meanings. The proposal suggests adding tooltips to these emojis to help users understand the information they are intended to convey, enhancing the usability of the documentation.
- log scale for
xychart-beta
: This issue proposes the addition of a string field namedscale
to thexychart-beta
feature, which would default tolinear
but also acceptlog
as an option, allowing for future extensions to other scales. The implementation of this feature would enable users to maintain version control of graph descriptions with true values while plotting the logged values, enhancing the flexibility and accuracy of data representation in charts. - Unable to Style Sequence Diagram Title: This issue pertains to the inability to modify the font size of the title in a sequence diagram created using Mermaid, which is causing the title to become very small when additional participants and interactions are added. The user notes that while other graph types in Mermaid have configurable title attributes, such as QuadrantChartConfig, this feature is not yet available for sequence diagrams, leading them to use a Markdown title as a workaround.
- SVG rendering formatting issues with markdown input: This issue pertains to formatting problems encountered when rendering SVG diagrams that include markdown-formatted nodes, specifically within the Mermaid live editor. Users have reported that when opening the SVG in a new tab, additional height is added to the node, and when downloading the SVG, the text is cut off, although the height remains unchanged.
- Vite build error with mermaid version 10.9.0: This issue involves a build error encountered when using Vite with Mermaid version 10.9.0 in a Vue 3 application, where the developer successfully views graphs during development but encounters a "TypeError: Cannot set properties of undefined" upon building the project. The error seems to occur during the application startup, specifically when attempting to set the 'prototype' property, and the developer has provided a code snippet illustrating their setup and the error context.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 13
Summarized Issues:
- Flowchart Generation Issues: Flowchart generation in Mermaid.js faces issues when code mappings are not in order, leading to errors due to undefined properties. Additionally, CSS styling problems arise when default styles override user-defined styles unless
!important
is used, necessitating documentation updates for clarity.
- Diagram Layout and Styling Problems: Mermaid.js encounters layout issues where subgraphs default to a top-to-down layout, ignoring global direction settings, and sequence diagrams conflict with prototype.js, causing syntax errors. Furthermore, the layout engine for architecture diagrams is criticized for being too messy, and a feature to adjust line order in diagrams is proposed to prevent overlapping.
- Text and Node Display Issues: In the Mermaid Live Editor, long words on nodes are not accommodated, leading to text overflow, and a solution involving text wrapping is suggested. Additionally, a proposal to support multiline text in edge labels within flowcharts aims to enhance readability without altering existing syntax.
- Gantt and Timeline Diagram Issues: The "exclude weekends" flag in Gantt diagrams causes incorrect day offsets, and in the light theme, timeline events are displayed in an incorrect color, suggesting a need for consistency in event color alignment.
- Venn Diagram and Collaboration Metrics: A Venn Diagram feature or problem is noted without further details, and feedback is sought on the accuracy of collaboration metrics visualized by a tool for the mermaid-js/mermaid project.
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 5
Summarized Issues:
- Mermaid Rendering Issues: Several issues have been identified with the rendering of diagrams in Mermaid.js. One issue involves text labels being truncated in Safari, while another involves a regression in version 11.5.0 where containment arrowheads are incorrectly drawn.
- Mermaid Configuration and Parsing Problems: Users have reported problems with configuration and parsing in Mermaid.js. Changing the curve interpolation type for flowcharts does not take effect in the live editor, and a parsing error occurs when specifying
direction TD
within a subgraph while the global direction is alsoTD
.
- Mermaid Customization Limitations: There is a limitation in Mermaid.js regarding the customization of diagram elements. The current system does not allow for custom IDs on edges, which complicates individual styling and requires manual adjustments when the graph structure changes.
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 8
Key Open Pull Requests
1. Fix: greedy regex in common langium: This pull request addresses the issue of unwanted greedy regex in the common Langium grammar by refactoring it to include common terminals in the correct order, separating greedy terminals into distinct files, adapting existing grammar, removing redundant code through imports, and adding tests to ensure the architecture diagrams' title keyword does not break, thereby resolving issue #6162.
- URL: pull/6407
- Merged: No
2. Fix: Support direction TD
in Subgraphs: This pull request addresses a parsing issue in the Mermaid project by updating the flow.jison
grammar to support subgraph-local directions such as TD
, ensuring they are correctly parsed and rendered, thereby resolving issue #6338.
- URL: pull/6415
- Merged: No
3. Feature: Added support for clickable states using the click directive : This pull request introduces a new feature to the Mermaid project by adding support for the click
directive in stateDiagram
syntax, enabling nodes to become clickable and open external URLs in a new tab, with additional support for tooltips, thereby resolving issues #6314 and #6304.
- URL: pull/6423
- Merged: No
Other Open Pull Requests
- Flowchart Layout and Rendering Issues: This topic covers improvements in the Mermaid project related to flowchart layouts and rendering. One pull request modifies the
flowDb.ts
file to ensure subgraphs inherit the global graph direction unless explicitly set, addressing issue #6428. Another pull request dynamically resizes flowchart nodes based on label dimensions to prevent overflow or cropping, and updates SVG text alignment and global styling for proper display.
- Mindmap Node Label Decoding: This pull request resolves issue #6396 by fixing the incorrect rendering of characters
<
,>
, and&
in mindmap node labels. The solution involves using thedecodeEntities()
function increateText.ts
, with manual verification, necessary tests, and documentation updates included.
- ELK Example Code Syntax Fix: This pull request addresses a syntax error in the ELK example code within a Mermaid diagram caused by incorrect tabbing. It includes formatting fixes, a sample implementation, and links to the "ELK Customization" documentation, ensuring compliance with contribution guidelines and documentation updates.
- VitePress LLM-Friendly Documentation: This pull request introduces the
vitepress-plugin-llms
to the VitePress configuration, enabling the automatic generation of LLM-Friendly documentation. It includesllms.txt
,llms-full.txt
, and LLM-Friendly markdown versions of each page to enhance the accessibility and usability of the website's documentation for language models.
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 6
Key Closed Pull Requests
1. Release/11.6.0: This pull request introduces a new feature by adding a radar chart diagram type, fixes bugs related to curve type configuration for flowcharts and the requirements containment arrow, and includes updates to documentation, tests, and themes, as part of the release version 11.6.0 for the Mermaid project.
- URL: pull/6409
- Merged: 2025-03-25T10:51:38Z
- Associated Commits: d6022, d80cc, 1fb91, d53c6, 5e97b, a7f2c, 12c12, 0f512, 95d73, 288ab, 5d1b2, bb5a7, a7bcd, fac57, 85ce3, f5f3b, ad653, 9b9ce, f8e32, 40b85, d1b1a
2. Feature: Added support for clickable states using the click directive: This pull request introduces a new feature to the Mermaid project by adding support for the click
directive in stateDiagram
syntax, enabling nodes to become clickable and open external URLs in a new tab, with additional support for tooltips, as detailed in the design decisions and tasks outlined in the pull request description.
- URL: pull/6422
- Merged: No
3. Merge back v11.6.0 to develop: This pull request involves merging the changes from version 11.6.0 back into the develop branch of the mermaid-js project, ensuring that updates and fixes from the release are integrated into the ongoing development work.
- URL: pull/6413
- Merged: 2025-03-25T13:02:35Z
Other Closed Pull Requests
- Node.JS Compatibility Issue: This pull request addresses a compatibility issue with Node.JS v20.19.0 that affects the import of certain modules in the
cypress.config.ts
file. The solution involves modifying the import paths to ensure compatibility with the newexperimental-require-module
feature.
- Requirement Diagrams Arrowhead Adjustment: This pull request focuses on improving the visual accuracy of requirement diagrams by moving the containment arrowhead to the start of the edge. It also includes geometric adjustments to prevent clipping, addressing issue #6380.
- Flowchart Curve Type Configuration: This pull request restores and enhances the curve type configuration for flowcharts in Mermaid. It expands the
curve
property to include additional types and updates relevant classes and functions to handle these changes, resolving issue #6193.
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
Contributor | Commits | Pull Requests | Issues | Comments |
---|---|---|---|---|
BambioGaming | 21 | 4 | 0 | 15 |
ashishjain0512 | 18 | 5 | 0 | 1 |
thomascizeron | 16 | 2 | 0 | 0 |
nourhenta | 5 | 2 | 4 | 4 |
nour0205 | 1 | 3 | 4 | 7 |
No author found | 14 | 0 | 0 | 0 |
jeswr | 8 | 4 | 0 | 0 |
knsv | 5 | 1 | 1 | 3 |
Shahir-47 | 10 | 0 | 0 | 0 |
huynhicode | 7 | 2 | 0 | 0 |