From f030dc63ea84a13f1e494a1541b6120c0969f383 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 21 Feb 2026 11:04:06 +0900 Subject: feat(install): implement install command with lock-based package installation Replaces the todo!() stub with a full implementation that reads composer.lock, computes install/update/skip/remove operations by comparing against vendor/composer/installed.json, downloads packages via the downloader module, and writes the updated installed registry. Handles edge cases: missing lock file, stale lock file, no dist info, empty packages, --dry-run, --no-dev, deprecated flags, and vendor directory cleanup after removals. Co-Authored-By: Claude Opus 4.6 --- crates/mozart/src/downloader.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'crates/mozart/src/downloader.rs') diff --git a/crates/mozart/src/downloader.rs b/crates/mozart/src/downloader.rs index b477ab4..403f4d6 100644 --- a/crates/mozart/src/downloader.rs +++ b/crates/mozart/src/downloader.rs @@ -30,9 +30,7 @@ pub fn download_dist(url: &str, expected_shasum: Option<&str>) -> anyhow::Result let computed = format!("{result:x}"); if computed != shasum { - anyhow::bail!( - "SHA-1 checksum mismatch for {url}: expected {shasum}, got {computed}" - ); + anyhow::bail!("SHA-1 checksum mismatch for {url}: expected {shasum}, got {computed}"); } } -- cgit v1.3.1