diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs index d8571843fe..7694e9acfb 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs @@ -345,11 +345,37 @@ namespace Volo.Abp.Cli.ProjectModification protected virtual List 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(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(); + + 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);