From 7d9d587c96728d6878c8a5d5bc64a4e773bdb64d Mon Sep 17 00:00:00 2001 From: E Spelt Date: Wed, 26 Aug 2026 18:38:06 +0200 Subject: [PATCH] fix(installer): don't fail install when a dependency has no boss.json verifyDependencyCompatibility loads the dependency's boss.json to check engine/platform constraints, but returned an error when the file does not exist. Most Delphi libraries (Kastri, Alcinoe, ...) ship without a boss.json, so any install of such a dependency failed with: failed to load package from ...\boss.json: The system cannot find the file specified. Treat a missing boss.json as "no engine constraints declared" and skip the compatibility check; other load errors (e.g. malformed JSON) still fail the install. Co-Authored-By: Claude Fable 5 --- internal/core/services/installer/core.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/core/services/installer/core.go b/internal/core/services/installer/core.go index 3a1ca21..b062e0f 100644 --- a/internal/core/services/installer/core.go +++ b/internal/core/services/installer/core.go @@ -634,6 +634,10 @@ func (ic *installContext) verifyDependencyCompatibility(dep domain.Dependency) ( depPath := filepath.Join(ic.modulesDir, dep.Name()) depPkg, err := pkgmanager.LoadPackageOther(filepath.Join(depPath, "boss.json")) if err != nil { + // A dependency without a boss.json declares no engine constraints. + if errors.Is(err, os.ErrNotExist) { + return "", nil + } return "", err }