Skip to content

git summary - #22

Merged
ignatandrei merged 10 commits into
mainfrom
us
May 9, 2026
Merged

ignatandrei merged 10 commits into
mainfrom
us

Conversation

@ignatandrei

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings May 8, 2026 20:02
@coderabbitai

coderabbitai Bot commented May 8, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 270 files, which is 120 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1c099c85-9b3c-4368-aa44-0b4434a0bebd

📥 Commits

Reviewing files that changed from the base of the PR and between b149224 and 997fa60.

📒 Files selected for processing (270)
  • src/NetPackageAnalyzer/AnalyzeMerge/AnalyzeMerge.csproj
  • src/NetPackageAnalyzer/AnalyzeMerge/AnalyzeMergeData.cs
  • src/NetPackageAnalyzer/AnalyzeMerge/ProcessOutput.cs
  • src/NetPackageAnalyzer/NPA.BigResources/NPA.BigResources.csproj
  • src/NetPackageAnalyzer/NPA.BigResources/ZipFiles.cs
  • src/NetPackageAnalyzer/NPA.GitInfo/GitInfo.cs
  • src/NetPackageAnalyzer/NPA.GitInfo/NPA.GitInfo.csproj
  • src/NetPackageAnalyzer/NPA.GitSummary.Tests/GitRepositorySummaryAnalyzerTests.cs
  • src/NetPackageAnalyzer/NPA.GitSummary.Tests/NPA.GitSummary.Tests.csproj
  • src/NetPackageAnalyzer/NPA.GitSummary/GitRepositorySummaryAnalyzer.cs
  • src/NetPackageAnalyzer/NPA.GitSummary/GitRepositorySummaryReport.cs
  • src/NetPackageAnalyzer/NPA.GitSummary/NPA.GitSummary.csproj
  • src/NetPackageAnalyzer/NPA.HtmlData/ExtractImages.cs
  • src/NetPackageAnalyzer/NPA.HtmlData/NPA.HtmlData.csproj
  • src/NetPackageAnalyzer/NPA.ProcessRunner/FakeProcessRunner.cs
  • src/NetPackageAnalyzer/NPA.ProcessRunner/IProcessRunner.cs
  • src/NetPackageAnalyzer/NPA.ProcessRunner/NPA.ProcessRunner.csproj
  • src/NetPackageAnalyzer/NPA.ProcessRunner/ProcessExecutionResult.cs
  • src/NetPackageAnalyzer/NPA.ProcessRunner/SystemProcessRunner.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzeHistory/Commits.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzeHistory/FileHistorySimple.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzeHistory/NetPackageAnalyzeHistory.csproj
  • src/NetPackageAnalyzer/NetPackageAnalyzer.slnx
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/NetPackageAnalyzerConsole.Tests.csproj
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/TestProcessStarter.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_1.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_10.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_100.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_101.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_102.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_103.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_104.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_105.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_106.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_107.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_108.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_109.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_11.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_110.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_111.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_112.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_113.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_114.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_115.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_116.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_117.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_118.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_119.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_12.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_120.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_121.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_122.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_123.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_124.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_125.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_126.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_127.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_128.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_129.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_13.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_130.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_131.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_132.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_133.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_134.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_135.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_136.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_137.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_138.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_139.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_14.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_140.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_141.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_142.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_143.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_144.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_145.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_146.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_147.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_148.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_149.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_15.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_150.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_151.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_152.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_153.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_154.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_155.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_156.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_157.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_158.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_159.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_16.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_160.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_161.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_162.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_163.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_164.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_165.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_166.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_167.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_168.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_169.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_17.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_170.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_171.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_172.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_173.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_174.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_175.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_176.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_177.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_178.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_179.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_18.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_180.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_181.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_182.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_183.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_184.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_185.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_186.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_187.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_188.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_189.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_19.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_190.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_191.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_192.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_193.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_194.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_195.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_196.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_197.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_198.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_199.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_2.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_20.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_200.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_201.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_202.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_203.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_204.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_205.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_206.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_207.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_208.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_209.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_21.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_210.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_211.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_212.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_213.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_214.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_215.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_22.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_23.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_24.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_25.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_251.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_252.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_253.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_254.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_255.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_26.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_27.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_28.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_29.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_3.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_30.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_31.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_32.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_33.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_34.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_35.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_36.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_37.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_38.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_39.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_4.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_40.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_41.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_42.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_43.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_44.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_45.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_46.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_47.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_48.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_49.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_5.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_50.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_51.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_52.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_53.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_54.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_55.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_56.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_57.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_58.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_59.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_6.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_60.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_61.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_62.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_63.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_64.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_65.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_66.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_67.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_68.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_69.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_7.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_70.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_71.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_72.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_73.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_74.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_75.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_76.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_77.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_78.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_79.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_8.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_80.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_81.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_82.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_83.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_84.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_85.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_86.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_87.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_88.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_89.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_9.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_90.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_91.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_92.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_93.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_94.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_95.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_96.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_97.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_98.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/output_99.json
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole/InternalsVisibleTo.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole/NetPackageAnalyzerConsole.csproj
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole/Program.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerConsole/RealMain.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/GenerateHTML.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/HtmlSummary.cshtml
  • src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/NetPackageAnalyzerExportHTML.csproj
  • src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/Templates/matzehuels_stacktower.cshtml
  • src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/globals.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/GenerateData.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/GenerateFiles.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/NetPackageAnalyzerObjects.csproj
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/PackageData.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/PackageWithVersion.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/ProcessOutput.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/ProjectsDict.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/generatedPartial/IOperations.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/generatedPartial/PackageGatherInfo.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/generatedPartial/PackageWithVersion.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/many.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerObjects/mixin/Packages.mixin
  • src/NetPackageAnalyzer/NetPackageAnalyzerWork/GenerateFilesDocusaurus.cs
  • src/NetPackageAnalyzer/NetPackageAnalyzerWork/NetPackageAnalyzerDocusaurus.csproj
  • src/NetPackageAnalyzer/NuGetInfo/NuGetInfo.csproj
  • src/NetPackageAnalyzer/NuGetInfo/NugetInfoData.cs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch us

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a “Git Summary” capability (new analyzer + HTML rendering) and introduces a process-execution abstraction (IProcessRunner) alongside broader adoption of System.IO.Abstractions to improve testability and enable recording/replay of external command output.

Changes:

  • Introduce NPA.ProcessRunner (IProcessRunner, SystemProcessRunner, FakeProcessRunner) and refactor git/process callers to use it.
  • Add NPA.GitSummary (report model + analyzer) and render results in the HTML summary templates.
  • Add new test projects and a large set of serialized command outputs for replay-based tests.

Reviewed changes

Copilot reviewed 183 out of 270 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
src/NetPackageAnalyzer/NuGetInfo/NugetInfoData.cs Inject IFileSystem into NuGet license discovery.
src/NetPackageAnalyzer/NuGetInfo/NuGetInfo.csproj Add IO abstraction wrapper package reference.
src/NetPackageAnalyzer/NPA.ProcessRunner/IProcessRunner.cs Define process-runner abstraction.
src/NetPackageAnalyzer/NPA.ProcessRunner/SystemProcessRunner.cs Provide real process runner implementation.
src/NetPackageAnalyzer/NPA.ProcessRunner/FakeProcessRunner.cs Provide replay-based fake runner for tests.
src/NetPackageAnalyzer/NPA.ProcessRunner/ProcessExecutionResult.cs Add process result DTOs + JSON (de)serialization helpers.
src/NetPackageAnalyzer/NPA.ProcessRunner/NPA.ProcessRunner.csproj New project for process execution abstraction.
src/NetPackageAnalyzer/NPA.GitSummary/GitRepositorySummaryAnalyzer.cs New git-summary analyzer that shells out to git.
src/NetPackageAnalyzer/NPA.GitSummary/GitRepositorySummaryReport.cs Report model types for churn/bus factor/velocity/etc.
src/NetPackageAnalyzer/NPA.GitSummary/NPA.GitSummary.csproj New project for git summary feature.
src/NetPackageAnalyzer/NPA.GitSummary.Tests/GitRepositorySummaryAnalyzerTests.cs Unit tests for report builders/analyzer helpers.
src/NetPackageAnalyzer/NPA.GitSummary.Tests/NPA.GitSummary.Tests.csproj New test project for git summary.
src/NetPackageAnalyzer/NPA.GitInfo/GitInfo.cs Refactor git info gathering to use IProcessRunner.
src/NetPackageAnalyzer/NPA.GitInfo/NPA.GitInfo.csproj Reference NPA.ProcessRunner.
src/NetPackageAnalyzer/NPA.HtmlData/ExtractImages.cs Inject IFileSystem for image output.
src/NetPackageAnalyzer/NPA.HtmlData/NPA.HtmlData.csproj Add IO abstraction wrapper package reference.
src/NetPackageAnalyzer/NPA.BigResources/ZipFiles.cs Add optional IFileSystem parameter and directory ops via abstraction.
src/NetPackageAnalyzer/NPA.BigResources/NPA.BigResources.csproj Add IO abstraction wrapper package reference.
src/NetPackageAnalyzer/AnalyzeMerge/ProcessOutput.cs Refactor git command execution to use IProcessRunner.
src/NetPackageAnalyzer/AnalyzeMerge/AnalyzeMergeData.cs Inject IFileSystem and use abstraction for output writes.
src/NetPackageAnalyzer/AnalyzeMerge/AnalyzeMerge.csproj Reference NPA.ProcessRunner + IO abstraction wrapper package.
src/NetPackageAnalyzer/NetPackageAnalyzeHistory/FileHistorySimple.cs Refactor git history execution to use IProcessRunner.
src/NetPackageAnalyzer/NetPackageAnalyzeHistory/Commits.cs Refactor git history execution to use IProcessRunner.
src/NetPackageAnalyzer/NetPackageAnalyzeHistory/NetPackageAnalyzeHistory.csproj Reference NPA.ProcessRunner.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/ProjectsDict.cs Thread IProcessRunner through history/ref discovery.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/PackageWithVersion.cs Require process runner when constructing problem package records.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/PackageData.cs Thread IProcessRunner into package data gathering.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/mixin/Packages.mixin Update generated APIs to accept IProcessRunner.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/many.cs Add NamePerCountArray.FromData helper.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/GenerateFiles.cs Thread IProcessRunner through generation pipeline.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/generatedPartial/PackageWithVersion.cs Thread IProcessRunner into PackageWithVersion.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/generatedPartial/PackageGatherInfo.cs Thread IProcessRunner into PackageGatherInfo.VerifyWhy.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/generatedPartial/IOperations.cs Update interface signature to require IProcessRunner.
src/NetPackageAnalyzer/NetPackageAnalyzerObjects/NetPackageAnalyzerObjects.csproj Reference NPA.ProcessRunner.
src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/NetPackageAnalyzerExportHTML.csproj Reference NPA.GitSummary + NPA.ProcessRunner.
src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/HtmlSummary.cshtml Add new “Git Summary” tab rendering.
src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/Templates/matzehuels_stacktower.cshtml Update template model to include git summary report.
src/NetPackageAnalyzer/NetPackageAnalyzerExportHTML/globals.cs Add global using for NPA.GitSummary.
src/NetPackageAnalyzer/NetPackageAnalyzerWork/NetPackageAnalyzerDocusaurus.csproj Reference NPA.ProcessRunner.
src/NetPackageAnalyzer/NetPackageAnalyzerConsole/Program.cs Change default args behavior (currently hard-coded).
src/NetPackageAnalyzer/NetPackageAnalyzerConsole/NetPackageAnalyzerConsole.csproj Reference NPA.ProcessRunner + NPA.GitSummary.
src/NetPackageAnalyzer/NetPackageAnalyzerConsole/InternalsVisibleTo.cs Add InternalsVisibleTo for console test project.
src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/TestProcessStarter.cs Add replay-based integration-ish test harness.
src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/NetPackageAnalyzerConsole.Tests.csproj New console tests project + copy JSON outputs to build output.
src/NetPackageAnalyzer/NetPackageAnalyzerConsole.Tests/eshopJSON/* Add recorded command outputs for replay tests.
src/NetPackageAnalyzer/NetPackageAnalyzer.slnx Add new projects to solution.
Comments suppressed due to low confidence (1)

src/NetPackageAnalyzer/NPA.BigResources/ZipFiles.cs:25

  • SaveToFile now accepts an IFileSystem, but extraction is still performed via ZipFile.ExtractToDirectoryAsync(stream, folderPath), which always writes to the real OS filesystem and ignores the injected filesystem. This makes the parameter misleading and limits testability. Either remove the IFileSystem parameter or implement extraction using the abstraction (or clearly document that extraction always targets the real filesystem).
        using var stream = EmbeddedResources.GetStream(embeddedResource);
        
        await ZipFile.ExtractToDirectoryAsync(stream, folderPath);
        
        return ;

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +5 to +7
public record NugetInfoData(string PackageId, IFileSystem? fileSystem = null)
{
private readonly IFileSystem fileSystem = fileSystem ?? new FileSystem();
Comment on lines +8 to +12
public SystemProcessRunner()
{

Console.WriteLine(nr);
}
}
public sealed record GitMonthlyCommitFrequency(int Year, int Month, int CommitCount)
{
public string YearMonth => $"Year {Year:D4}-Month {Month:D2}:";
Comment on lines +11 to +13
FakeProcessRunner fakeProcessRunner = new ();
fakeProcessRunner.DeserializeFromFolder("eShopJSON");
RealMainExecuting.ProcessRunner = fakeProcessRunner;
Comment on lines +9 to +10
private readonly Queue<ProcessExecutionResult> runResults = new();
Dictionary<ProcessToSerialize, ProcessExecutionResultToSerialize> results = new();
Comment on lines +45 to +49
string foldedOutput = @"D:\eu\GitHub\PackageAnalyzer\src\NetPackageAnalyzer\NetPackageAnalyzerConsole.Tests\eshopJSON";
var serialize= p.Serialize();
nr=Interlocked.Increment(ref nr);
await File.WriteAllTextAsync(Path.Combine(foldedOutput, $"output_{nr}.json"), serialize);
return ret;
Comment on lines 5 to +8
if (args.Length == 0)
{
args = new[] { "-h" };

Comment on lines +24 to +29
args = new[] { "generateFiles",
"--folder", @"D:\eu\GitHub\eShop",
"-wg","HtmlSummary",
"--where", @"D:\eu\GitHub\PackageAnalyzer\src\documentation1\",
"--verbose","true"
};
Comment on lines +14 to +18
var args = new[] { "generateFiles",
"--folder", @"D:\eu\GitHub\eShop",
"-wg","HtmlSummary",
"--where", @"D:\eu\GitHub\PackageAnalyzer\src\documentation1\",
"--verbose","true"
Comment out debug console output and hard-coded JSON file writes in SystemProcessRunner to avoid leaving test artifacts. Simplify GitMonthlyCommitFrequency.YearMonth formatting. Update test to use the corrected "eshopJSON" folder name and comment out hard-coded args in Program.cs. Refactor NugetInfoData to use the injected IFileSystem (fs) fallback instead of directly referencing a possibly null field when checking/reading package files.
@ignatandrei
ignatandrei merged commit 075607e into main May 9, 2026
2 checks passed
@ignatandrei
ignatandrei deleted the us branch May 9, 2026 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants