public static UnpkgJsonEntry Create(string packageName, DistFile file) { var entry = new UnpkgJsonEntry { PackageName = packageName, Version = file.BaseUrl, Files = new List <UnpkgJsonFile>() }; AddFiles(entry.Files, file.BaseUrl, file.Files); return(entry); }
private static async Task DownloadFile(string package, string basePath, DistFile file) { basePath = basePath.TrimSlashes(); var path = file.Path.TrimSlashes(); var pathSegments = path.Split('/'); if (basePath.Split('/').LastOrDefault() == pathSegments.FirstOrDefault()) { path = string.Join('/', pathSegments.Skip(1)); } var(cdn, localPath) = await Download.DistFile(package, $"{basePath}/{path}"); file.Url = cdn; file.LocalPath = localPath.Replace(Path.DirectorySeparatorChar, '/'); }