Browse Source

refactor NpmPackagesUpdater

pull/4543/head
Yunus Emre Kalkan 6 years ago
parent
commit
2919caf118
  1. 51
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs

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

@ -202,16 +202,22 @@ namespace Volo.Abp.Cli.ProjectModification
{ {
var currentVersion = (string) package.Value; var currentVersion = (string) package.Value;
var version = await GetLatestVersion(package, currentVersion, includePreviews, switchToStable); var version = "";
if (includePreviews || (!switchToStable && currentVersion.Contains("-preview")))
var versionWithPrefix = $"~{version}"; {
version = "preview";
}
else
{
version = await GetLatestVersion(package);
}
if (versionWithPrefix == currentVersion) if (version == currentVersion)
{ {
return false; return false;
} }
package.Value.Replace(versionWithPrefix); package.Value.Replace(version);
Logger.LogInformation( Logger.LogInformation(
$"Updated {package.Name} to {version} in {filePath.Replace(Directory.GetCurrentDirectory(), "")}."); $"Updated {package.Name} to {version} in {filePath.Replace(Directory.GetCurrentDirectory(), "")}.");
@ -219,44 +225,19 @@ namespace Volo.Abp.Cli.ProjectModification
} }
protected virtual async Task<string> GetLatestVersion( protected virtual async Task<string> GetLatestVersion(
JProperty package, JProperty package)
string currentVersion,
bool includePreviews = false,
bool switchToStable = false)
{ {
if (_fileVersionStorage.ContainsKey(package.Name)) if (_fileVersionStorage.ContainsKey(package.Name))
{ {
return _fileVersionStorage[package.Name]; return _fileVersionStorage[package.Name];
} }
var newVersion = currentVersion; var newVersion = CmdHelper.RunCmdAndGetOutput($"npm show {package.Name} version");
var newVersionWithPrefix = $"~{newVersion}";
if (includePreviews || (!switchToStable && currentVersion.Contains("-preview")))
{
// We directly set "preview" version and no longer get the latest preview from myGet.
/*
if (_myGetApiResponse == null)
{
_myGetApiResponse = await _myGetPackageListFinder.GetPackagesAsync();
}
var mygetPackage = _myGetApiResponse.Packages.FirstOrDefault(p => p.Id == package.Name);
if (mygetPackage != null)
{
newVersion = mygetPackage.Versions.Last();
}
*/
newVersion = "preview";
}
else
{
newVersion = CmdHelper.RunCmdAndGetOutput($"npm show {package.Name} version");
}
_fileVersionStorage[package.Name] = newVersion; _fileVersionStorage[package.Name] = newVersionWithPrefix;
return newVersion; return $"~{newVersionWithPrefix}";
} }
protected virtual List<JProperty> GetAbpPackagesFromPackageJson(JObject fileObject) protected virtual List<JProperty> GetAbpPackagesFromPackageJson(JObject fileObject)

Loading…
Cancel
Save