As found with recent changes to the Terraform manager, although we
generally have `lockFileMaintenance` being executed by an external
package manager being invoked by `exec(...)`, there are a few package
managers that do not do so.
To make it very clear how this happens, we can add a new field to the
Manager API, which will provide a means to document this.
Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
* feat(nuget): add supportsLockFileMaintenance flag
The NuGet manager supports lock file maintenance via `packages.lock.json`
but was missing the `supportsLockFileMaintenance` export.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(manager): add lockFileNames metadata to all lock file managers
Add `lockFileNames` field to `ManagerApi` interface and export it from
all 24 managers that support lock file maintenance. This metadata will
be used to auto-generate the lock file support table in docs.
Also adds a validation test ensuring managers with
`supportsLockFileMaintenance` always provide `lockFileNames`.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix(nix): flake lock refresh
* fix(nix): handle nixpkgs upgrades with not explicit ref correct
* Remove fileMatch hack
* Force lock file updates for nix
* Support new lockable channel
as requested by @Mic92
* Fix lints
* Remove hack and set rangeStrategy instead
* Fix tests
* Add example comments
* Use codeBlock, inline fixtures
* Add test back which went missing while merging
* Simplify code
* Fix tests
* Fix undefined being displayed in dashboard
* revert: Fix undefined being displayed in dashboard
* fix(nix): use lockedVersion, fake confirmations and conditionally set currentValue
* test(nix): check for lockedVersion instead of currentDigest, remove rangeStrategy
* fix: only replace digest
* fix: make sure flake.nix contains new digest
* fix: replace deprecated update-input with flake update
* fix: update tests
* fix: only set lockedVersion for lockable tarballs, cleanup
* fix: don't use special versioning
* fix: get nixpkgs currentValue in tarballs
* test: fill in code coverage gaps
* test: fill in more code coverage gaps
* fix: use correct extract type
* test: improve code coverage
* test: explicitly check flakeLocked and flakeOriginal to see what isn't being covered
* fix: check both original and locked inputs for bad types
* test: add missing root
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: Joshua Spence <josh@spence.com.au>
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: Joshua Spence <josh@spence.com.au>
* fix: explicitly set log messages
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
---------
Co-authored-by: Sandro Jäckel <sandro.jaeckel@gmail.com>
Co-authored-by: Joshua Spence <josh@spence.com.au>
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>