From f963b35e0132eea56541ac2b2ba2a634afe4b55e Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Tue, 10 Mar 2026 23:11:14 -0600 Subject: [PATCH] ref(watchexec): move cli- prefix stripping from config to code The cli- prefix is a watchexec-specific monorepo artifact, not a generic config concern. Move it to internal/releases/watchexec/versions.go alongside other per-package normalizers (git, lf). --- internal/classifypkg/classifypkg.go | 3 +++ internal/releases/watchexec/versions.go | 18 ++++++++++++++++++ watchexec/releases.conf | 1 - 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 internal/releases/watchexec/versions.go diff --git a/internal/classifypkg/classifypkg.go b/internal/classifypkg/classifypkg.go index 34b9d6c..ce00eac 100644 --- a/internal/classifypkg/classifypkg.go +++ b/internal/classifypkg/classifypkg.go @@ -32,6 +32,7 @@ import ( "github.com/webinstall/webi-installers/internal/releases/node" "github.com/webinstall/webi-installers/internal/releases/ollama" "github.com/webinstall/webi-installers/internal/releases/pwsh" + "github.com/webinstall/webi-installers/internal/releases/watchexec" "github.com/webinstall/webi-installers/internal/releases/xcaddy" "github.com/webinstall/webi-installers/internal/releases/zigdist" "github.com/webinstall/webi-installers/internal/storage" @@ -100,6 +101,8 @@ func NormalizeVersions(pkg string, assets []storage.Asset) { assets[i].Version = "0." + v[1:] + ".0" } } + case "watchexec": + watchexec.NormalizeVersions(assets) } } diff --git a/internal/releases/watchexec/versions.go b/internal/releases/watchexec/versions.go new file mode 100644 index 0000000..447080d --- /dev/null +++ b/internal/releases/watchexec/versions.go @@ -0,0 +1,18 @@ +package watchexec + +import ( + "strings" + + "github.com/webinstall/webi-installers/internal/storage" +) + +// NormalizeVersions strips the "cli-" prefix from watchexec version strings. +// +// Watchexec transitioned to a monorepo with cli-prefixed tags (cli-v1.20.0) +// while older releases used plain tags (v1.20.6). Both are valid releases; +// the prefix is just a tag namespace, not part of the version. +func NormalizeVersions(assets []storage.Asset) { + for i := range assets { + assets[i].Version = strings.TrimPrefix(assets[i].Version, "cli-") + } +} diff --git a/watchexec/releases.conf b/watchexec/releases.conf index d42585d..947645f 100644 --- a/watchexec/releases.conf +++ b/watchexec/releases.conf @@ -1,4 +1,3 @@ source = github owner = watchexec repo = watchexec -version_prefixes = cli-