I recently found out about a nifty feature of the dart package manager where running dart pub downgrade will do the opposite of a swift package update and sets the lockfile to the minimum version that is compatible with the declared version ranges.
This has applications for testing that if a library declares it works with "from: 1.2.3" that CI can test that assertion. If someone introduces a dependency on a newer feature than the declared version range, the testing should fail.
Ideally, there would be some SPM option to do this, but I didn't see it in the documentation.
If not (which I'm assuming right now), would this be at all possible to implement as an external tool? It feels like something that would be possible to do with access to the internals of the version solver, but might be hard to do without.