From 66d8c67377fc78efba70570be096d6b241ff1773 Mon Sep 17 00:00:00 2001 From: Mike Landau Date: Tue, 19 May 2026 20:01:52 -0700 Subject: [PATCH] Fix noisy service output by skipping Add for utilities already in config Bumps process-compose from 1.87.0 to 1.110.0 and avoids calling Add when the exact versioned utility is already present, which otherwise printed "Package already in devbox.json" on every services interaction. --- .../servers/nginx/devbox.d/nginx/nginx.conf | 4 ++-- examples/servers/nginx/devbox.lock | 4 ++++ internal/devbox/util.go | 22 ++++++++++++++++--- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/examples/servers/nginx/devbox.d/nginx/nginx.conf b/examples/servers/nginx/devbox.d/nginx/nginx.conf index 3054f9ba500..e76ede30935 100644 --- a/examples/servers/nginx/devbox.d/nginx/nginx.conf +++ b/examples/servers/nginx/devbox.d/nginx/nginx.conf @@ -1,8 +1,8 @@ events {} http{ server { - listen 8081; - listen [::]:8081; + listen 8080; + listen [::]:8080; server_name localhost; root ../../../devbox.d/web; diff --git a/examples/servers/nginx/devbox.lock b/examples/servers/nginx/devbox.lock index 229dbefa548..bd71c50a55e 100644 --- a/examples/servers/nginx/devbox.lock +++ b/examples/servers/nginx/devbox.lock @@ -185,6 +185,10 @@ } } }, + "github:NixOS/nixpkgs/nixpkgs-unstable": { + "last_modified": "2026-04-27T06:11:55Z", + "resolved": "github:NixOS/nixpkgs/6368eda62c9775c38ef7f714b2555a741c20c72d?lastModified=1777270315&narHash=sha256-yKB4G6cKsQsWN7M6rZGk6gkJPDNPIzT05y4qzRyCDlI%3D" + }, "nginx@latest": { "last_modified": "2024-02-10T18:15:24Z", "plugin_version": "0.0.4", diff --git a/internal/devbox/util.go b/internal/devbox/util.go index 9ae5ebf8e4b..8a193c2d90f 100644 --- a/internal/devbox/util.go +++ b/internal/devbox/util.go @@ -9,6 +9,7 @@ import ( "io/fs" "os" "path/filepath" + "slices" "github.com/pkg/errors" @@ -16,7 +17,7 @@ import ( "go.jetify.com/devbox/internal/xdg" ) -const processComposeVersion = "1.87.0" +const processComposeVersion = "1.110.0" var utilProjectConfigPath string @@ -38,8 +39,23 @@ func initDevboxUtilityProject(ctx context.Context, stderr io.Writer) error { utilities := []string{ "process-compose@" + processComposeVersion, } - if err = box.Add(ctx, utilities, devopt.AddOpts{}); err != nil { - return err + + // Skip Add for utilities whose exact versioned name is already in the + // config; calling Add anyway would print noisy "Package already in + // devbox.json" messages on every services interaction. A version mismatch + // (e.g. after bumping processComposeVersion) will fall through to Add, + // which replaces the existing package by canonical name. + existing := box.AllPackageNamesIncludingRemovedTriggerPackages() + toAdd := []string{} + for _, u := range utilities { + if !slices.Contains(existing, u) { + toAdd = append(toAdd, u) + } + } + if len(toAdd) > 0 { + if err = box.Add(ctx, toAdd, devopt.AddOpts{}); err != nil { + return err + } } return box.Install(ctx)