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..8fc800c146 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,20 @@ 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 = ExtractVersions(output); + return JsonConvert.DeserializeObject(versionListAsJson) .OrderByDescending(SemanticVersion.Parse, new VersionComparer()).ToList(); } + protected virtual string ExtractVersions(string output) + { + var arrayStart = output.IndexOf('['); + return output.Substring(arrayStart, output.IndexOf(']') - arrayStart + 1); + } + protected virtual bool SpecifiedVersionExists(string version, JProperty package) { var versionList = GetPackageVersionList(package);