diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-23 01:23:40 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-23 01:23:40 +0900 |
| commit | c7a5859e1770dbc7cbc7cb1785c34b880162dfac (patch) | |
| tree | 58081330c415776c9020771f12227889abcffa12 /crates/mozart/src/commands/dump_autoload.rs | |
| parent | 7372dc668476cde4bcb789e586cb9a65af1afca0 (diff) | |
| download | php-mozart-c7a5859e1770dbc7cbc7cb1785c34b880162dfac.tar.gz php-mozart-c7a5859e1770dbc7cbc7cb1785c34b880162dfac.tar.zst php-mozart-c7a5859e1770dbc7cbc7cb1785c34b880162dfac.zip | |
fix(global): add ~/.composer fallback, XDG auto-detection, and no-arg handling
Rewrite composer_home() with Composer-compatible resolution: detect XDG
environment (any XDG_* var or /etc/xdg), prefer existing directories,
and fall back to ~/.composer for legacy systems. Consolidate duplicate
composer_home_dir() from global.rs into shared config_helpers. Accept
no subcommand gracefully with a helpful error instead of a parse error.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart/src/commands/dump_autoload.rs')
| -rw-r--r-- | crates/mozart/src/commands/dump_autoload.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/crates/mozart/src/commands/dump_autoload.rs b/crates/mozart/src/commands/dump_autoload.rs index 0828288..ca559f8 100644 --- a/crates/mozart/src/commands/dump_autoload.rs +++ b/crates/mozart/src/commands/dump_autoload.rs @@ -71,14 +71,15 @@ pub async fn execute( let mut composer_config = super::config::ComposerConfig::defaults(); if composer_json_path.exists() && let Ok(content) = std::fs::read_to_string(&composer_json_path) - && let Ok(value) = serde_json::from_str::<serde_json::Value>(&content) - && let Some(cfg_obj) = value.get("config").and_then(|v| v.as_object()) { - let overrides: std::collections::BTreeMap<String, serde_json::Value> = cfg_obj - .iter() - .map(|(k, v)| (k.clone(), v.clone())) - .collect(); - composer_config.merge(&overrides); - } + && let Ok(value) = serde_json::from_str::<serde_json::Value>(&content) + && let Some(cfg_obj) = value.get("config").and_then(|v| v.as_object()) + { + let overrides: std::collections::BTreeMap<String, serde_json::Value> = cfg_obj + .iter() + .map(|(k, v)| (k.clone(), v.clone())) + .collect(); + composer_config.merge(&overrides); + } let optimize = args.optimize || composer_config |
