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/vcs_bridge.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'crates/mozart-core/src/repository/vcs_bridge.rs') diff --git a/crates/mozart-core/src/repository/vcs_bridge.rs b/crates/mozart-core/src/repository/vcs_bridge.rs index 18a8420..79c0c5b 100644 --- a/crates/mozart-core/src/repository/vcs_bridge.rs +++ b/crates/mozart-core/src/repository/vcs_bridge.rs @@ -10,7 +10,6 @@ use crate::repository::resolver::{parse_normalized, version_stability}; use crate::repository::vcs::DriverConfig; use crate::vcs::repository::{VcsPackageVersion, VcsRepository}; use indexmap::IndexMap; -use std::collections::BTreeMap; /// Scan all VCS-type repositories and collect package versions. /// @@ -191,7 +190,7 @@ pub fn vcs_to_packagist_version(vpkg: &VcsPackageVersion) -> PackagistVersion { } /// Extract a dependency map from composer.json JSON. -fn extract_dep_map(json: &serde_json::Value, key: &str) -> BTreeMap { +fn extract_dep_map(json: &serde_json::Value, key: &str) -> indexmap::IndexMap { json.get(key) .and_then(|v| v.as_object()) .map(|obj| { -- cgit v1.3.1