Skip to content

Commit

Permalink
fix: fix unused package detection
Browse files Browse the repository at this point in the history
  • Loading branch information
mob-sakai committed Aug 28, 2020
1 parent e5dacba commit b057892
Showing 1 changed file with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,16 @@ private static void UninstallUnusedPackages()
.Where(x => x != null) // Skip null
.ToArray();

var used = autoInstalledPackages
.Where(x => allDependencies.Any(y => y.name == x.name)) // Depended from other packages
.GroupBy(x => x.name) // Grouped by package name
.Select(x => x.OrderByDescending(y => y.version).First()) // Latest package
.ToArray();

// Collect unused pakages.
var unusedPackages = autoInstalledPackages
.Where(x => Path.GetFileName(x.path).StartsWith(".", Ordinal)) // Directory name starts with '.'. This is 'auto-installed package'
.Where(x => !allDependencies.Any(y => y.name == x.name && (y.version == null || y.version == x.version))) // No depended from other packages
;
var unused = autoInstalledPackages
.Except(used) // Exclude used packages
.ToArray();

var sb = new StringBuilder();
sb.AppendLine("############## UninstallUnusedPackages ##############");
Expand All @@ -84,7 +89,7 @@ private static void UninstallUnusedPackages()
Log(sb.ToString());

// Uninstall unused packages and re-check.
foreach (var p in unusedPackages)
foreach (var p in unused)
{
needToCheck = true;
Log("Uninstall the unused package '{0}@{1}'", p.name, p.version);
Expand Down

0 comments on commit b057892

Please sign in to comment.