diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-01 20:54:50 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-01 20:54:50 +0900 |
| commit | 6d36c654b094dbef823850e9a90047d8bafc1adc (patch) | |
| tree | d5f8fe31a080cd25af5c33a0efa0ca259b51f67c /crates | |
| parent | fe210391f59d5fe19d5c3d56d369ab7918117de1 (diff) | |
| download | php-mozart-6d36c654b094dbef823850e9a90047d8bafc1adc.tar.gz php-mozart-6d36c654b094dbef823850e9a90047d8bafc1adc.tar.zst php-mozart-6d36c654b094dbef823850e9a90047d8bafc1adc.zip | |
fix(registry): default missing composer.lock _readme to canonical text
Composer treats _readme as write-only metadata: Locker.php injects it on
write but the loader never requires it. Mozart's deserializer was strict,
so any composer.lock without _readme failed to parse — including most
fixtures under composer/tests/.../installer/*.test.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/mozart-registry/src/lockfile.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/mozart-registry/src/lockfile.rs b/crates/mozart-registry/src/lockfile.rs index eea9b29..64333e6 100644 --- a/crates/mozart-registry/src/lockfile.rs +++ b/crates/mozart-registry/src/lockfile.rs @@ -18,7 +18,7 @@ fn default_empty_object() -> serde_json::Value { /// Represents the content of a composer.lock file. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct LockFile { - #[serde(rename = "_readme")] + #[serde(rename = "_readme", default = "LockFile::default_readme")] pub readme: Vec<String>, #[serde(rename = "content-hash")] |
