diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-21 11:04:06 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-21 11:04:06 +0900 |
| commit | f030dc63ea84a13f1e494a1541b6120c0969f383 (patch) | |
| tree | 578dc7eec648c0b9ac50bcb234430fa913c0e23c /crates/mozart/src/constraint.rs | |
| parent | a03ad0152ec28cdd1cc05f96a9823807dbb2b818 (diff) | |
| download | php-mozart-f030dc63ea84a13f1e494a1541b6120c0969f383.tar.gz php-mozart-f030dc63ea84a13f1e494a1541b6120c0969f383.tar.zst php-mozart-f030dc63ea84a13f1e494a1541b6120c0969f383.zip | |
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 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart/src/constraint.rs')
| -rw-r--r-- | crates/mozart/src/constraint.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/mozart/src/constraint.rs b/crates/mozart/src/constraint.rs index ff9b14e..d009028 100644 --- a/crates/mozart/src/constraint.rs +++ b/crates/mozart/src/constraint.rs @@ -235,7 +235,10 @@ fn normalize_pre_release(s: &str) -> String { .to_string(); // Extract the alphabetic prefix (stability name) - let alpha: String = normalized.chars().take_while(|c| c.is_alphabetic()).collect(); + let alpha: String = normalized + .chars() + .take_while(|c| c.is_alphabetic()) + .collect(); // Extract only digits from the rest (strip separators like dots) let num: String = normalized .chars() |
