From 50aa70a76a973a8be772a1ccf9f6fe752ac87d1b Mon Sep 17 00:00:00 2001 From: Danila Alekseev Date: Wed, 20 May 2020 23:50:49 +0300 Subject: [PATCH] fixed asset's semver comparison --- api/controllers/VersionController.js | 9 ++++++--- api/services/VersionService.js | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/api/controllers/VersionController.js b/api/controllers/VersionController.js index 819e02e7a..cd9578deb 100644 --- a/api/controllers/VersionController.js +++ b/api/controllers/VersionController.js @@ -399,15 +399,18 @@ module.exports = { function(asset) { return asset.filetype === '.nupkg' && _.includes(asset.name.toLowerCase(), '-delta') - && semver.lte(version, asset.version) - && semver.gt(latestVersion.name, asset.version); + && semver.lte(version, VersionService.clearAssetVersion(asset.version)) + && semver.gt(latestVersion.name, VersionService.clearAssetVersion(asset.version)); })); }, []); Array.prototype.unshift.apply(latestVersion.assets, deltaAssets); latestVersion.assets.sort(function(a1, a2) { - return semver.compare(a1.version, a2.version); + return semver.compare( + VersionService.clearAssetVersion(a1.version), + VersionService.clearAssetVersion(a2.version) + ); }); sails.log.debug('Latest Windows Version', latestVersion); diff --git a/api/services/VersionService.js b/api/services/VersionService.js index 971378baf..107a39b04 100644 --- a/api/services/VersionService.js +++ b/api/services/VersionService.js @@ -24,6 +24,11 @@ VersionService.compare = function(v1, v2) { return 0; }; +// Remove flavor from asset version +VersionService.clearAssetVersion = function(version) { + return version.replace(/_.*/, ''); +}; + /** * Deletes a version from the database. * @param {Object} version The versions record object from sails