diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-27 19:44:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-27 20:18:56 +0900 |
| commit | e63ccb5cbb479df0f0e5010065ff57bbf4ca238f (patch) | |
| tree | f91c7db9b3475e845b023f51cef2d6379e80ae5e /composer | |
| parent | 3cb13f1d7025351615c254b9225a4c5d1bcbd170 (diff) | |
| download | php-shirabe-e63ccb5cbb479df0f0e5010065ff57bbf4ca238f.tar.gz php-shirabe-e63ccb5cbb479df0f0e5010065ff57bbf4ca238f.tar.zst php-shirabe-e63ccb5cbb479df0f0e5010065ff57bbf4ca238f.zip | |
fix(json): encode empty stdClass fields as {} not []
Empty PhpMixed::Array now serializes as [], so the several places that build a
PHP `new \stdClass` via an empty Array were emitting [] where Composer writes
{}. Use PhpMixed::Object for those empty-object cases:
- InitCommand: require / require-dev
- Locker::fixupJsonDataType: stability-flags / platform / platform-dev
- JsonConfigSource fallback: require/config keys that must stay objects
Align the affected test expectations with Composer: JsonFile::read() decodes
with assoc=true, collapsing the on-disk {} back to [], so reads expect [].
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'composer')
0 files changed, 0 insertions, 0 deletions
