aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-core/src/package.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-03 22:30:16 +0900
committernsfisis <nsfisis@gmail.com>2026-05-03 22:30:16 +0900
commit94d217dc9a6a23b6bcd695b776a34ac0db0ce539 (patch)
treeb390530d0b4dd1374c2a5b1d2659adc4a9ade3db /crates/mozart-core/src/package.rs
parent2a680f571eae31737525ef96105e929ae420b061 (diff)
downloadphp-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