From 96f94253d66eb9302855d7a6ae4534e12d818d58 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 21 Feb 2026 12:50:15 +0900 Subject: feat(update): implement update command with resolver-based dependency updates Add full update command supporting --lock (content-hash refresh only), --dry-run, --no-install, --no-dev, --prefer-stable, --prefer-lowest, and partial updates (named packages). Extract install_from_lock() from install.rs for shared use. Add Stability::parse() to package.rs. Co-Authored-By: Claude Opus 4.6 --- crates/mozart/src/package.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'crates/mozart/src/package.rs') diff --git a/crates/mozart/src/package.rs b/crates/mozart/src/package.rs index e0e8c6c..e439ac5 100644 --- a/crates/mozart/src/package.rs +++ b/crates/mozart/src/package.rs @@ -17,6 +17,22 @@ pub enum Stability { Dev = 20, } +impl Stability { + /// Parse a stability string (case-insensitive) into a `Stability` value. + /// + /// Recognizes: "stable", "RC", "beta", "alpha", "dev". + /// Defaults to `Stability::Stable` for unrecognized values. + pub fn parse(s: &str) -> Self { + match s.to_lowercase().as_str() { + "dev" => Stability::Dev, + "alpha" => Stability::Alpha, + "beta" => Stability::Beta, + "rc" => Stability::RC, + _ => Stability::Stable, + } + } +} + /// A versioned relationship between two packages. /// Corresponds to `Composer\Package\Link`. #[derive(Debug, Clone)] -- cgit v1.3.1