From f354c2573f4b848f632021948db22563582348ee Mon Sep 17 00:00:00 2001 From: Jesse Date: Mon, 3 Nov 2025 12:22:16 -0700 Subject: [PATCH] fix: resolve pinned versions --- src/toml.rs | 15 +++++++++++---- test/main.mo | 4 ++-- test/mops.toml | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/toml.rs b/src/toml.rs index 7a08fac..c02a9ed 100644 --- a/src/toml.rs +++ b/src/toml.rs @@ -22,6 +22,10 @@ use std::path::{Path, PathBuf}; use std::rc::Rc; use toml_edit::{value, DocumentMut, ImDocument}; +fn dep_base(name: &str) -> String { + name.split('@').next().unwrap_or(name).to_string() +} + #[derive(Debug, Serialize, Deserialize)] struct Package { name: String, @@ -88,7 +92,10 @@ pub async fn update_mops_toml( if doc["dependencies"].get(&lib).is_some() { continue; } - let version = service.get_highest_version(&lib).await?.into_result(); + let version = service + .get_highest_version(&dep_base(&lib)) + .await? + .into_result(); match version { Ok(version) => { println( @@ -211,7 +218,7 @@ async fn update_mops_lock(agent: &Agent, env: &Env) -> Result<()> { continue; } let pkg = service - .get_package_details(&name, &version) + .get_package_details(&dep_base(&name), &version) .await? .into_result() .map_err(Error::msg)?; @@ -447,7 +454,7 @@ async fn get_latest_package_version( match pkg.get_type() { PackageType::Mops { .. } => { let latest = service - .get_highest_version(&pkg.name) + .get_highest_version(&dep_base(&pkg.name)) .await? .into_result() .map_err(Error::msg)?; @@ -530,7 +537,7 @@ async fn download_mops_package( bar: Rc, ) -> Result<()> { let ids = service - .get_file_ids(&lib, &version) + .get_file_ids(&dep_base(&lib), &version) .await? .into_result() .map_err(Error::msg)?; diff --git a/test/main.mo b/test/main.mo index 48694e2..96354bb 100644 --- a/test/main.mo +++ b/test/main.mo @@ -6,6 +6,6 @@ import DB "mo:candb/CanDB"; //import IC "ic:aaaaa-aa"; import Ledger "ic:ryjl3-tyaaa-aaaaa-aaaba-cai"; import Named "canister:backend"; +import Iter "mo:core@1/Iter"; -actor { -} +persistent actor {}; diff --git a/test/mops.toml b/test/mops.toml index 7ba015e..46abeb0 100644 --- a/test/mops.toml +++ b/test/mops.toml @@ -4,6 +4,7 @@ prng = "0.0.5" splay = "https://github.com/chenyan2002/motoko-splay.git" base_local = "../../motoko-base" candb = "1.0.8" +"core@1" = "1.0.0" [[canister]] name = "backend" @@ -11,4 +12,3 @@ canister_id = "um5iw-rqaaa-aaaaq-qaaba-cai" [[canister]] canister_id = "ryjl3-tyaaa-aaaaa-aaaba-cai" -