From 8c9335f3156ef632c9c82b59e50d4f3bf8be677e Mon Sep 17 00:00:00 2001 From: bymyself Date: Thu, 18 Sep 2025 20:39:24 -0700 Subject: [PATCH 1/6] Replace manual semantic versioning with semver package - Replace custom compareVersions() with semver.compare() - Replace custom isSemVer() with semver.valid() - Remove deprecated version comparison functions from formatUtil.ts - Update all version comparison logic across components and stores - Fix tests to use semver mocking instead of formatUtil mocking Improves reliability and consistency by using industry-standard semantic version handling. The semver package provides better edge case handling and is well-maintained. Fixes #4787 --- .../content/MissingCoreNodesMessage.vue | 4 +- .../content/manager/PackVersionBadge.vue | 6 +- .../manager/PackVersionSelectorPopover.vue | 6 +- .../nodePack/usePackUpdateStatus.ts | 6 +- .../nodePack/useUpdateAvailableNodes.ts | 6 +- src/platform/settings/settingStore.ts | 13 +-- src/platform/updates/common/releaseStore.ts | 12 ++- src/utils/formatUtil.ts | 33 ------- .../useUpdateAvailableNodes.test.ts | 44 +++++----- tests-ui/tests/store/releaseStore.test.ts | 87 ++++++++++--------- 10 files changed, 99 insertions(+), 118 deletions(-) diff --git a/src/components/dialog/content/MissingCoreNodesMessage.vue b/src/components/dialog/content/MissingCoreNodesMessage.vue index cf81441f19..e9e5b5a6cd 100644 --- a/src/components/dialog/content/MissingCoreNodesMessage.vue +++ b/src/components/dialog/content/MissingCoreNodesMessage.vue @@ -43,11 +43,11 @@