aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-core/src/repository/vcs_bridge.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-11 02:05:34 +0900
committernsfisis <nsfisis@gmail.com>2026-05-11 02:05:34 +0900
commit4df5f8491320e5795718cf0222e80fa27e57c8ad (patch)
tree707e19f34dbdef18490ec3245d34389e3d189a57 /crates/mozart-core/src/repository/vcs_bridge.rs
parent8871b923fa3df1935c263db155cb8bc3d59705cd (diff)
downloadphp-mozart-4df5f8491320e5795718cf0222e80fa27e57c8ad.tar.gz
php-mozart-4df5f8491320e5795718cf0222e80fa27e57c8ad.tar.zst
php-mozart-4df5f8491320e5795718cf0222e80fa27e57c8ad.zip
refactor(package): rename traits and switch dep maps to IndexMap
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.
Diffstat (limited to 'crates/mozart-core/src/repository/vcs_bridge.rs')
-rw-r--r--crates/mozart-core/src/repository/vcs_bridge.rs3
1 files changed, 1 insertions, 2 deletions
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<String, String> {
+fn extract_dep_map(json: &serde_json::Value, key: &str) -> indexmap::IndexMap<String, String> {
json.get(key)
.and_then(|v| v.as_object())
.map(|obj| {