Merged
Conversation
- Refactor - Change scope to be more appropriate - DRY - More tests
Improve tests
Update all dependencies
Add nerdback versioning for 1.1
Owner
Author
This was
linked to
issues
Apr 30, 2025
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This pull request introduces a new feature to filter projects when generating Mermaid diagrams along with various other improvements and updates. Below are the details of the changes:
Key Changes
New Filter Feature
Purpose: Allow users to exclude projects whose names match a specified filter when generating diagrams.
Changes Made:
Added a --filter option to the command-line interface in Program.cs.
Updated Commands.cs to include a filter parameter for both Project and Solution methods.
Modified implementations in MermaidDiagram, ClassDiagram, and GraphDiagram to respect the filter parameter.
Enhanced test cases in CommandsTests.cs to validate filtered content.
Codebase Refactoring
Moved classes/interfaces (DiagramType, IMermaidDiagram, MermaidDiagram) into a new Base subfolder under mermaid-graph/Diagrams.
Updated namespace references to MermaidGraph.Diagrams.Base.
Simplified the factory method for retrieving DiagramType.
Dependency Updates
Updated NuGet package versions:
Microsoft.Build from 17.12.6 to 17.13.9
Microsoft.Build.Locator from 1.7.8 to 1.9.1
Microsoft.Build.Utilities.Core from 17.12.6 to 17.13.9
Microsoft.ClearScript.V8 from 7.4.5 to 7.5.0
Microsoft.ClearScript.V8.Native.win-x64 from 7.4.5 to 7.5.0
Testing Libraries:
MSTest.TestAdapter from 3.7.3 to 3.8.3
MSTest.TestFramework from 3.7.3 to 3.8.3
NUnit.Analyzers from 4.6.0 to 4.7.0
NUnit3TestAdapter from 4.3.2 to 5.0.0
New Additions
Added a version.json file for versioning using Nerdbank.GitVersioning.
Documentation Updates
Updated README.md to include documentation for the new --filter parameter.
Made a minor style change to the NuGet badge to use flat-round.
Testing Enhancements
Introduced new test cases in MermaidDiagramTests.cs:
Validate diagram type retrieval.
Test header initialization for diagrams.
Improved existing tests:
Enhanced assertions to validate filter functionality.
Expanded test coverage for solution and project diagrams.
Summary of Files Changed
This PR enhances the functionality and maintainability of the project while introducing new testing and documentation improvements.