diff --git a/src/NetPackageAnalyzer/NetPackageAnalyzerConsole/NetPackageAnalyzerConsole.csproj b/src/NetPackageAnalyzer/NetPackageAnalyzerConsole/NetPackageAnalyzerConsole.csproj index e99bdc3..80dd459 100644 --- a/src/NetPackageAnalyzer/NetPackageAnalyzerConsole/NetPackageAnalyzerConsole.csproj +++ b/src/NetPackageAnalyzer/NetPackageAnalyzerConsole/NetPackageAnalyzerConsole.csproj @@ -10,6 +10,7 @@ + diff --git a/src/NetPackageAnalyzer/NetPackageAnalyzerObjects/ProjectsDict.cs b/src/NetPackageAnalyzer/NetPackageAnalyzerObjects/ProjectsDict.cs index 4aa4b37..74fdbf8 100644 --- a/src/NetPackageAnalyzer/NetPackageAnalyzerObjects/ProjectsDict.cs +++ b/src/NetPackageAnalyzer/NetPackageAnalyzerObjects/ProjectsDict.cs @@ -14,6 +14,16 @@ public long MaxPackages return this.Values.Select(it => it.Packages.Count).Max(); } } + public long MaxUpStreamReferences + { + get + { + return this. + Values + .Select(it => it.UpStreamProjectReferences.Count) + .Max(); + } + } public long MaxReferences { diff --git a/src/NetPackageAnalyzer/NetPackageAnalyzerWork/NetPackageAnalyzerDocusaurus.csproj b/src/NetPackageAnalyzer/NetPackageAnalyzerWork/NetPackageAnalyzerDocusaurus.csproj index 39ab291..0065fea 100644 --- a/src/NetPackageAnalyzer/NetPackageAnalyzerWork/NetPackageAnalyzerDocusaurus.csproj +++ b/src/NetPackageAnalyzer/NetPackageAnalyzerWork/NetPackageAnalyzerDocusaurus.csproj @@ -39,6 +39,7 @@ + all diff --git a/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/DisplayAllVersionsForMarkdown.cshtml b/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/DisplayAllVersionsForMarkdown.cshtml index ade95a1..46407d8 100644 --- a/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/DisplayAllVersionsForMarkdown.cshtml +++ b/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/DisplayAllVersionsForMarkdown.cshtml @@ -1,10 +1,23 @@ -@inherits RazorBlade.HtmlTemplate; +@inherits RazorBlade.PlainTextTemplate; @{ var keysPackageMultiple = Model.KeysPackageMultiple(); } --- sidebar_position: 30 --- + +export const Highlight = ({children, color}) => ( + + {children} + +); + + # Packages ## Number of packages : @Model.NrPackages() @@ -25,16 +38,16 @@ sidebar_position: 30 var vals = pack.VersionsPerProject; var majorDiff = pack.MajorVersionDiffer(); string textReferences = vals.Count > 1 ? $" *(References: {vals.Count})* " : ""; - string diffMajor = majorDiff ? $" **Major differs** " : ""; + string diffMajor = majorDiff ? $" **Major differs** " : ""; string refs = ""; @foreach (var vers in vals) { refs += " *"+vers.Key + "* " + string.Join(",", vers.Value.Select(it => it.NameCSproj()).ToArray()); - @* @Html.Raw(vers.Key) @Html.Raw(" ") @Html.Raw(string.Join(",",vers.Value.Select(it=>it.NameCSproj()))) *@ + @* @(vers.Key) @(" ") @(string.Join(",",vers.Value.Select(it=>it.NameCSproj()))) *@ } -| @Html.Raw(i) | @Html.Raw(item.Key) @Html.Raw(textReferences) | @Html.Raw(diffMajor) @refs| +| @(i) | @(item.Key) @(textReferences) | @(diffMajor) @refs| } diff --git a/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/MermaidVisualizerMajorDiffer.cshtml b/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/MermaidVisualizerMajorDiffer.cshtml index 1373478..17cdcbf 100644 --- a/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/MermaidVisualizerMajorDiffer.cshtml +++ b/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/MermaidVisualizerMajorDiffer.cshtml @@ -7,7 +7,7 @@ sidebar_position: 70 --- -# Different major version packages +# Packages with major version different ## Packages major version differ : @keysPackageMultiple.Length diff --git a/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/SolutionRelations.cshtml b/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/SolutionRelations.cshtml index dae0161..7a75f15 100644 --- a/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/SolutionRelations.cshtml +++ b/src/NetPackageAnalyzer/NetPackageAnalyzerWork/Templates/SolutionRelations.cshtml @@ -3,6 +3,7 @@ var rootProjects = Model.RootProjects; var nrPackages = Model.MaxPackages+1; var nrRelations = Model.MaxReferences+1; + var nrUpstream = Model.MaxUpStreamReferences+1; var prefix = GlobalsForGenerating.globalPrefix(); } @@ -11,9 +12,41 @@ sidebar_position: 10 --- -# Solution relations (without tests) +# Solution relations -## Quadrant Packages / Relations +## Number projects (without tests): @Model.MaxReferences + +## Quadrant relations in / out + +```mermaid + +quadrantChart + title Number of Relations of each project + x-axis Low number Upstream --> High number Upstream + y-axis Small number Relations --> High number Relations +@* quadrant-1 Difficult + quadrant-2 Business experience + quadrant-3 Easy + quadrant-4 Nuget experience + *@ +@foreach (var proj in Model.AlphabeticOrderedProjectsNoTests) +{ + if (proj.IsTestProject()) continue; + var nameCsproj = proj.NameCSproj(); + var relativePath = proj.RelativePath(); + var nrUpstreamProj = Decimal.Divide(proj.UpStreamProjectReferences.Count, nrUpstream); + var nrRelationsProj = Decimal.Divide(proj.ProjectsReferences.Count, nrRelations); + if (((int)nrUpstreamProj) == nrUpstreamProj) nrUpstreamProj = nrUpstreamProj + 0.01M; + if (((int)nrRelationsProj) == nrRelationsProj) nrRelationsProj = nrRelationsProj + 0.01M; + string data = $"{nameCsproj}: [{nrUpstreamProj.ToString("F2")},{nrRelationsProj.ToString("F2")}]"; + + @data + +} + +``` + +## Quadrant packages / relations ```mermaid