🟣 C# / .NET 6+

Get The npm cache Size Report (C#)

Recursively sums the size of the npm cache, read-only (no deletion).

By WindowsScripting.com · 990 B
NpmCacheSizeReport.cs
// NpmCacheSizeReport.cs
//
// Reports how much disk space the npm cache is using, read-only.
//
// Usage: dotnet new console -o NpmCacheSizeReport, replace Program.cs
// with this file, then dotnet run.

using System;
using System.IO;
using System.Linq;

string targetPath = Environment.ExpandEnvironmentVariables(@"%APPDATA%\npm-cache");

if (!Directory.Exists(targetPath))
{
    Console.WriteLine($"{targetPath} does not exist on this machine.");
    return;
}

// IgnoreInaccessible (the EnumerationOptions default) skips subfolders we
// can't read instead of throwing — GetFiles(pattern, SearchOption) does not.
var enumOptions = new EnumerationOptions { RecurseSubdirectories = true, IgnoreInaccessible = true };
var files = new DirectoryInfo(targetPath).GetFiles("*", enumOptions);
long totalBytes = files.Sum(f => f.Length);

Console.WriteLine(targetPath);
Console.WriteLine($"  Files: {files.Length}");
Console.WriteLine($"  Total size: {(totalBytes / 1024.0 / 1024.0):F2} MB");