Browse Source

NpmPackagesUpdater: RemoveWarningsFromVersionShowOutput

resolves https://github.com/abpframework/abp/issues/7345
pull/7361/head
Yunus Emre Kalkan 6 years ago
parent
commit
e61f3fabf4
  1. 28
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs

28
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs

@ -345,11 +345,37 @@ namespace Volo.Abp.Cli.ProjectModification
protected virtual List<string> GetPackageVersionList(JProperty package)
{
var versionListAsJson = CmdHelper.RunCmdAndGetOutput($"npm show {package.Name} versions");
var output = CmdHelper.RunCmdAndGetOutput($"npm show {package.Name} versions --json");
var versionListAsJson = RemoveWarningsFromVersionShowOutput(output);
return JsonConvert.DeserializeObject<string[]>(versionListAsJson)
.OrderByDescending(SemanticVersion.Parse, new VersionComparer()).ToList();
}
protected virtual string RemoveWarningsFromVersionShowOutput(string output)
{
var lines = output.Replace(Environment.NewLine, "\n").Replace("\n", Environment.NewLine).SplitToLines();
var resultLines = new List<string>();
var warningSectionEnded = false;
foreach (var line in lines)
{
if (line.TrimEnd() == "[")
{
warningSectionEnded = true;
}
if (warningSectionEnded)
{
resultLines.Add(line);
}
}
return string.Join(Environment.NewLine, resultLines);
}
protected virtual bool SpecifiedVersionExists(string version, JProperty package)
{
var versionList = GetPackageVersionList(package);

Loading…
Cancel
Save