From 4df5f8491320e5795718cf0222e80fa27e57c8ad Mon Sep 17 00:00:00 2001 From: nsfisis Date: Mon, 11 May 2026 02:05:34 +0900 Subject: refactor(package): rename traits and switch dep maps to IndexMap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename Package/CompletePackage to PackageInterface/CompletePackageInterface to mirror Composer's interface names, and split each into its own module under crates/mozart-core/src/package/. Switch dependency-link and metadata maps from BTreeMap to indexmap::IndexMap so serialized JSON preserves the original key ordering rather than sorting alphabetically — matching PHP associative-array semantics. The --sort-packages behaviour in `require` is preserved via sort_unstable_keys. --- crates/mozart-core/src/repository/installed.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'crates/mozart-core/src/repository/installed.rs') diff --git a/crates/mozart-core/src/repository/installed.rs b/crates/mozart-core/src/repository/installed.rs index 422f79f..4bee0e5 100644 --- a/crates/mozart-core/src/repository/installed.rs +++ b/crates/mozart-core/src/repository/installed.rs @@ -1,7 +1,6 @@ use crate::installer::HasSuggests; use crate::package::to_json_pretty; use serde::{Deserialize, Serialize}; -use std::collections::BTreeMap; use std::fs; use std::path::Path; @@ -56,7 +55,7 @@ pub struct InstalledPackageEntry { pub support: Option, #[serde(flatten)] - pub extra_fields: BTreeMap, + pub extra_fields: indexmap::IndexMap, } impl HasSuggests for InstalledPackageEntry { @@ -215,7 +214,7 @@ mod tests { aliases: vec![], homepage: None, support: None, - extra_fields: BTreeMap::new(), + extra_fields: indexmap::IndexMap::new(), } } -- cgit v1.3.1