From 0a8e5935e6305819bb02d8c69e2f046ff397913a Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 22 Feb 2026 00:37:54 +0900 Subject: refactor(workspace): split monolithic crate into 6 workspace crates Extract modules from the single `mozart` crate into 5 focused library crates to improve compilation parallelism and architectural clarity: - mozart-constraint: version constraint parser (independent) - mozart-core: base types, console, validation, platform utilities - mozart-archiver: archive creation (tar, zip, bzip2) - mozart-registry: Packagist API, cache, resolver, downloader, lockfile - mozart-autoload: autoloader generation and PHP scanner Refactor Console::from_cli and build_cache_config to accept primitive args instead of &Cli to break circular dependencies. Introduce [workspace.dependencies] for centralized version management. Remove 9 unused direct dependencies from the CLI crate. Co-Authored-By: Claude Opus 4.6 --- crates/mozart/src/commands/diagnose.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'crates/mozart/src/commands/diagnose.rs') diff --git a/crates/mozart/src/commands/diagnose.rs b/crates/mozart/src/commands/diagnose.rs index 199ed60..606d00e 100644 --- a/crates/mozart/src/commands/diagnose.rs +++ b/crates/mozart/src/commands/diagnose.rs @@ -220,7 +220,7 @@ fn check_composer_lock(working_dir: &Path) -> CheckResult { } }; - let lock = match crate::lockfile::LockFile::read_from_file(&lock_path) { + let lock = match mozart_registry::lockfile::LockFile::read_from_file(&lock_path) { Ok(l) => l, Err(e) => return CheckResult::Fail(format!("composer.lock is invalid: {e}")), }; @@ -374,7 +374,7 @@ fn check_cache_dir(cache_dir: &Path) -> CheckResult { pub fn execute( _args: &DiagnoseArgs, cli: &super::Cli, - _console: &crate::console::Console, + _console: &mozart_core::console::Console, ) -> anyhow::Result<()> { let working_dir = match &cli.working_dir { Some(dir) => PathBuf::from(dir), @@ -551,7 +551,7 @@ mod tests { #[test] fn test_check_composer_lock_fresh() { - use crate::lockfile::LockFile; + use mozart_registry::lockfile::LockFile; let dir = tempdir().unwrap(); @@ -587,7 +587,7 @@ mod tests { #[test] fn test_check_composer_lock_stale() { - use crate::lockfile::LockFile; + use mozart_registry::lockfile::LockFile; let dir = tempdir().unwrap(); -- cgit v1.3.1