diff options
Diffstat (limited to 'crates/mozart-core/src/package.rs')
| -rw-r--r-- | crates/mozart-core/src/package.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/mozart-core/src/package.rs b/crates/mozart-core/src/package.rs index ce2ff12..5906c7e 100644 --- a/crates/mozart-core/src/package.rs +++ b/crates/mozart-core/src/package.rs @@ -458,6 +458,7 @@ delegate_complete_package!(RootPackageData => complete); /// and map directly to the JSON keys via serde. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct RawPackageData { + #[serde(default = "default_root_package_name")] pub name: String, #[serde(skip_serializing_if = "Option::is_none")] @@ -531,6 +532,12 @@ pub struct RawRepository { pub url: String, } +/// Default root-package name when `composer.json` omits the `name` field. +/// Mirrors Composer's `RootPackageLoader` fallback. +fn default_root_package_name() -> String { + "__root__".to_string() +} + impl RawPackageData { pub fn new(name: String) -> Self { Self { |
