diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-03 22:30:16 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-03 22:30:16 +0900 |
| commit | 94d217dc9a6a23b6bcd695b776a34ac0db0ce539 (patch) | |
| tree | b390530d0b4dd1374c2a5b1d2659adc4a9ade3db /crates/mozart-core/src/package.rs | |
| parent | 2a680f571eae31737525ef96105e929ae420b061 (diff) | |
| download | php-mozart-94d217dc9a6a23b6bcd695b776a34ac0db0ce539.tar.gz php-mozart-94d217dc9a6a23b6bcd695b776a34ac0db0ce539.tar.zst php-mozart-94d217dc9a6a23b6bcd695b776a34ac0db0ce539.zip | |
fix(install): reject lock when a locked dep's require excludes the root
Mozart's install verification didn't surface the slice of Composer's
SAT-verify failure where a locked package's `require` targets the
current root by name but the root's `version` no longer satisfies the
declared constraint (e.g. lock has `b/requirer` requiring `root/pkg
^1`, root composer.json now ships `2.x-dev`). The install ran
package operations against a lock that Composer would have rejected
with exit-code 2. Add a targeted check that walks each locked
package's requires, looks for ones aimed at the root's name, and
fails with the same "found root/pkg[X.x-dev] but it does not match
the constraint" pointer Composer prints from `Problem::getPrettyString`.
Diffstat (limited to 'crates/mozart-core/src/package.rs')
0 files changed, 0 insertions, 0 deletions
