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/create_project.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'crates/mozart/src/commands/create_project.rs') diff --git a/crates/mozart/src/commands/create_project.rs b/crates/mozart/src/commands/create_project.rs index 654eb0e..e9a1911 100644 --- a/crates/mozart/src/commands/create_project.rs +++ b/crates/mozart/src/commands/create_project.rs @@ -1,12 +1,12 @@ -use crate::console; -use crate::downloader; -use crate::lockfile; -use crate::package::{self, Stability}; -use crate::packagist; -use crate::resolver::{self, PlatformConfig, ResolveRequest}; -use crate::validation; -use crate::version; use clap::Args; +use mozart_core::console; +use mozart_core::package::{self, Stability}; +use mozart_core::validation; +use mozart_registry::downloader; +use mozart_registry::lockfile; +use mozart_registry::packagist; +use mozart_registry::resolver::{self, PlatformConfig, ResolveRequest}; +use mozart_registry::version; use std::collections::HashMap; use std::path::{Path, PathBuf}; @@ -173,7 +173,7 @@ fn is_dir_non_empty(path: &Path) -> bool { pub fn execute( args: &CreateProjectArgs, cli: &super::Cli, - console: &crate::console::Console, + console: &mozart_core::console::Console, ) -> anyhow::Result<()> { // --- Handle deprecated / no-op flags --- if args.prefer_source { @@ -423,8 +423,8 @@ pub fn execute( console.info("Resolving dependencies..."); let resolved = resolver::resolve(&request).map_err(|e| { - crate::exit_code::bail( - crate::exit_code::DEPENDENCY_RESOLUTION_FAILED, + mozart_core::exit_code::bail( + mozart_core::exit_code::DEPENDENCY_RESOLUTION_FAILED, e.to_string(), ) })?; -- cgit v1.3.1