fix(update): normalize version strings for correct comparison
The version check was comparing "4.0.8" (no prefix) with "v4.0.8" (with prefix), causing it to always think an update was available. Now both versions are normalized to have the "v" prefix before comparison, so "Already up to date!" works correctly.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@serve.zone/nupst",
|
"name": "@serve.zone/nupst",
|
||||||
"version": "4.0.8",
|
"version": "4.0.9",
|
||||||
"exports": "./mod.ts",
|
"exports": "./mod.ts",
|
||||||
"tasks": {
|
"tasks": {
|
||||||
"dev": "deno run --allow-all mod.ts",
|
"dev": "deno run --allow-all mod.ts",
|
||||||
|
@@ -145,12 +145,16 @@ export class ServiceHandler {
|
|||||||
const release = JSON.parse(response);
|
const release = JSON.parse(response);
|
||||||
const latestVersion = release.tag_name; // e.g., "v4.0.7"
|
const latestVersion = release.tag_name; // e.g., "v4.0.7"
|
||||||
|
|
||||||
logger.dim(`Current version: ${currentVersion}`);
|
// Normalize versions for comparison (ensure both have "v" prefix)
|
||||||
logger.dim(`Latest version: ${latestVersion}`);
|
const normalizedCurrent = currentVersion.startsWith('v') ? currentVersion : `v${currentVersion}`;
|
||||||
|
const normalizedLatest = latestVersion.startsWith('v') ? latestVersion : `v${latestVersion}`;
|
||||||
|
|
||||||
|
logger.dim(`Current version: ${normalizedCurrent}`);
|
||||||
|
logger.dim(`Latest version: ${normalizedLatest}`);
|
||||||
console.log('');
|
console.log('');
|
||||||
|
|
||||||
// Compare versions (both are in format "v4.0.7")
|
// Compare normalized versions
|
||||||
if (currentVersion === latestVersion) {
|
if (normalizedCurrent === normalizedLatest) {
|
||||||
logger.success('Already up to date!');
|
logger.success('Already up to date!');
|
||||||
console.log('');
|
console.log('');
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user