aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-27 03:52:05 +0900
committernsfisis <nsfisis@gmail.com>2026-06-27 04:21:34 +0900
commit2b51554ff59d1e5cbf8dd2db65d278b0202a9102 (patch)
treef4d9b0abf4df9b5e363e3bd65511d70e3d5ada00 /crates/shirabe/src/command
parentcc07b5abb83a40d678401c335bdc49bb81b72c5f (diff)
downloadphp-shirabe-2b51554ff59d1e5cbf8dd2db65d278b0202a9102.tar.gz
php-shirabe-2b51554ff59d1e5cbf8dd2db65d278b0202a9102.tar.zst
php-shirabe-2b51554ff59d1e5cbf8dd2db65d278b0202a9102.zip
refactor: fix compiler warnings and clippy warnings
Diffstat (limited to 'crates/shirabe/src/command')
-rw-r--r--crates/shirabe/src/command/about_command.rs8
-rw-r--r--crates/shirabe/src/command/archive_command.rs4
-rw-r--r--crates/shirabe/src/command/audit_command.rs11
-rw-r--r--crates/shirabe/src/command/base_command.rs6
-rw-r--r--crates/shirabe/src/command/base_config_command.rs2
-rw-r--r--crates/shirabe/src/command/base_dependency_command.rs137
-rw-r--r--crates/shirabe/src/command/bump_command.rs11
-rw-r--r--crates/shirabe/src/command/check_platform_reqs_command.rs7
-rw-r--r--crates/shirabe/src/command/clear_cache_command.rs1
-rw-r--r--crates/shirabe/src/command/config_command.rs52
-rw-r--r--crates/shirabe/src/command/create_project_command.rs67
-rw-r--r--crates/shirabe/src/command/depends_command.rs7
-rw-r--r--crates/shirabe/src/command/diagnose_command.rs37
-rw-r--r--crates/shirabe/src/command/dump_autoload_command.rs6
-rw-r--r--crates/shirabe/src/command/exec_command.rs6
-rw-r--r--crates/shirabe/src/command/fund_command.rs13
-rw-r--r--crates/shirabe/src/command/global_command.rs12
-rw-r--r--crates/shirabe/src/command/home_command.rs9
-rw-r--r--crates/shirabe/src/command/init_command.rs18
-rw-r--r--crates/shirabe/src/command/install_command.rs8
-rw-r--r--crates/shirabe/src/command/licenses_command.rs13
-rw-r--r--crates/shirabe/src/command/outdated_command.rs5
-rw-r--r--crates/shirabe/src/command/package_discovery_trait.rs19
-rw-r--r--crates/shirabe/src/command/prohibits_command.rs7
-rw-r--r--crates/shirabe/src/command/reinstall_command.rs10
-rw-r--r--crates/shirabe/src/command/remove_command.rs14
-rw-r--r--crates/shirabe/src/command/repository_command.rs5
-rw-r--r--crates/shirabe/src/command/require_command.rs31
-rw-r--r--crates/shirabe/src/command/run_script_command.rs5
-rw-r--r--crates/shirabe/src/command/script_alias_command.rs6
-rw-r--r--crates/shirabe/src/command/search_command.rs5
-rw-r--r--crates/shirabe/src/command/self_update_command.rs6
-rw-r--r--crates/shirabe/src/command/show_command.rs44
-rw-r--r--crates/shirabe/src/command/status_command.rs8
-rw-r--r--crates/shirabe/src/command/suggests_command.rs7
-rw-r--r--crates/shirabe/src/command/update_command.rs15
-rw-r--r--crates/shirabe/src/command/validate_command.rs8
37 files changed, 211 insertions, 419 deletions
diff --git a/crates/shirabe/src/command/about_command.rs b/crates/shirabe/src/command/about_command.rs
index 5306b89..6aae55d 100644
--- a/crates/shirabe/src/command/about_command.rs
+++ b/crates/shirabe/src/command/about_command.rs
@@ -1,24 +1,16 @@
//! ref: composer/src/Composer/Command/AboutCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
-use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
use crate::composer;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
-use crate::io::IOInterfaceImmutable;
#[derive(Debug)]
pub struct AboutCommand {
diff --git a/crates/shirabe/src/command/archive_command.rs b/crates/shirabe/src/command/archive_command.rs
index 7355d63..3b27b4c 100644
--- a/crates/shirabe/src/command/archive_command.rs
+++ b/crates/shirabe/src/command/archive_command.rs
@@ -6,11 +6,10 @@ use shirabe_external_packages::composer::pcre::{CaptureKey, Preg};
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
-use shirabe_php_shim::{LogicException, PhpMixed, get_debug_type};
+use shirabe_php_shim::{LogicException, get_debug_type};
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
use crate::composer::PartialComposerHandle;
@@ -18,7 +17,6 @@ use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::package::archiver::ArchiveManager;
diff --git a/crates/shirabe/src/command/audit_command.rs b/crates/shirabe/src/command/audit_command.rs
index 2a4f8a7..e5dc231 100644
--- a/crates/shirabe/src/command/audit_command.rs
+++ b/crates/shirabe/src/command/audit_command.rs
@@ -1,13 +1,11 @@
//! ref: composer/src/Composer/Command/AuditCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_php_shim::{
- InvalidArgumentException, PhpMixed, UnexpectedValueException, array_fill_keys, array_merge,
- implode, in_array,
+ InvalidArgumentException, PhpMixed, UnexpectedValueException, implode, in_array,
};
use std::cell::RefCell;
use std::rc::Rc;
@@ -18,14 +16,9 @@ use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::repository::CanonicalPackagesTrait;
-use crate::repository::InstalledRepository;
-use crate::repository::RepositoryInterface;
use crate::repository::RepositorySet;
use crate::repository::RepositoryUtils;
@@ -252,7 +245,7 @@ impl AuditCommand {
composer: &PartialComposerHandle,
input: std::rc::Rc<std::cell::RefCell<dyn InputInterface>>,
) -> Result<Vec<crate::package::PackageInterfaceHandle>> {
- let mut composer = crate::command::composer_full_mut(composer);
+ let composer = crate::command::composer_full_mut(composer);
if input
.borrow()
.get_option("locked")?
diff --git a/crates/shirabe/src/command/base_command.rs b/crates/shirabe/src/command/base_command.rs
index f3c88e5..149dc09 100644
--- a/crates/shirabe/src/command/base_command.rs
+++ b/crates/shirabe/src/command/base_command.rs
@@ -12,8 +12,8 @@ use shirabe_external_packages::symfony::console::helper::TableSeparator;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_php_shim::{
- AsAny, InvalidArgumentException, LogicException, PhpMixed, RuntimeException,
- UnexpectedValueException, count, explode, in_array, is_string,
+ InvalidArgumentException, LogicException, PhpMixed, RuntimeException, UnexpectedValueException,
+ count, explode, in_array, is_string,
};
use std::cell::RefCell;
use std::rc::Rc;
@@ -23,9 +23,7 @@ use crate::advisory::Auditor;
use crate::composer::PartialComposerHandle;
use crate::config::Config;
use crate::console::Application;
-use crate::console::input::InputArgument;
use crate::console::input::InputDefinitionItem;
-use crate::console::input::InputOption;
use crate::factory::Factory;
use crate::filter::platform_requirement_filter::PlatformRequirementFilterFactory;
use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
diff --git a/crates/shirabe/src/command/base_config_command.rs b/crates/shirabe/src/command/base_config_command.rs
index fa14197..b218961 100644
--- a/crates/shirabe/src/command/base_config_command.rs
+++ b/crates/shirabe/src/command/base_config_command.rs
@@ -1,6 +1,6 @@
//! ref: composer/src/Composer/Command/BaseConfigCommand.php
-use crate::command::{BaseCommand, BaseCommandData};
+use crate::command::BaseCommand;
use crate::config::Config;
use crate::config::JsonConfigSource;
use crate::factory::Factory;
diff --git a/crates/shirabe/src/command/base_dependency_command.rs b/crates/shirabe/src/command/base_dependency_command.rs
index 7bedf7d..ccae039 100644
--- a/crates/shirabe/src/command/base_dependency_command.rs
+++ b/crates/shirabe/src/command/base_dependency_command.rs
@@ -9,11 +9,8 @@ use shirabe_php_shim::{InvalidArgumentException, PhpMixed, UnexpectedValueExcept
use shirabe_semver::constraint::AnyConstraint;
use shirabe_semver::constraint::Bound;
-use crate::command::{BaseCommand, BaseCommandData};
-use crate::io::IOInterface;
+use crate::command::BaseCommand;
use crate::io::IOInterfaceImmutable;
-use crate::package::CompletePackageInterface;
-use crate::package::Link;
use crate::package::Package;
use crate::package::RootPackage;
use crate::package::version::VersionParser;
@@ -47,7 +44,7 @@ pub trait BaseDependencyCommand: BaseCommand {
inverted: bool,
) -> anyhow::Result<i64> {
let composer = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer);
+ let composer = crate::command::composer_full_mut(&composer);
// TODO(plugin): dispatch CommandEvent(PluginEvents::COMMAND, self.get_name(), input, output) via composer.get_event_dispatcher()
let mut repos: Vec<crate::repository::RepositoryInterfaceHandle> =
@@ -148,79 +145,85 @@ pub trait BaseDependencyCommand: BaseCommand {
&needle,
FindPackageConstraint::String(text_constraint.clone()),
)?;
- if matched_package.is_none() {
- let rm = composer.get_repository_manager();
- let mut default_repos = CompositeRepository::new(
- RepositoryFactory::default_repos(
- Some(self.get_io()),
- Some(composer.get_config()),
- Some(&mut rm.borrow_mut()),
- )?
- .into_values()
- .collect(),
- );
- if let Some(r#match) = default_repos.find_package(
- &needle,
- FindPackageConstraint::String(text_constraint.clone()),
- )? {
- installed_repo.add_repository(crate::repository::RepositoryInterfaceHandle::new(
- InstalledArrayRepository::new_with_packages(vec![
- crate::package::PackageInterfaceHandle::dup(&r#match),
- ])?,
- ));
- } else if PlatformRepository::is_platform_package(&needle) {
- let parser = VersionParser::new();
- let platform_constraint = parser.parse_constraints(&text_constraint)?;
- if platform_constraint.get_lower_bound() != Bound::zero() {
- let version = platform_constraint
- .get_lower_bound()
- .get_version()
- .to_string();
- let temp_platform_pkg = Package::new(needle.clone(), version.clone(), version);
+ match &matched_package {
+ None => {
+ let rm = composer.get_repository_manager();
+ let mut default_repos = CompositeRepository::new(
+ RepositoryFactory::default_repos(
+ Some(self.get_io()),
+ Some(composer.get_config()),
+ Some(&mut rm.borrow_mut()),
+ )?
+ .into_values()
+ .collect(),
+ );
+ if let Some(r#match) = default_repos.find_package(
+ &needle,
+ FindPackageConstraint::String(text_constraint.clone()),
+ )? {
installed_repo.add_repository(
crate::repository::RepositoryInterfaceHandle::new(
InstalledArrayRepository::new_with_packages(vec![
- crate::package::PackageHandle::from_package(temp_platform_pkg)
- .into(),
+ crate::package::PackageInterfaceHandle::dup(&r#match),
])?,
),
);
+ } else if PlatformRepository::is_platform_package(&needle) {
+ let parser = VersionParser::new();
+ let platform_constraint = parser.parse_constraints(&text_constraint)?;
+ if platform_constraint.get_lower_bound() != Bound::zero() {
+ let version = platform_constraint
+ .get_lower_bound()
+ .get_version()
+ .to_string();
+ let temp_platform_pkg =
+ Package::new(needle.clone(), version.clone(), version);
+ installed_repo.add_repository(
+ crate::repository::RepositoryInterfaceHandle::new(
+ InstalledArrayRepository::new_with_packages(vec![
+ crate::package::PackageHandle::from_package(temp_platform_pkg)
+ .into(),
+ ])?,
+ ),
+ );
+ }
+ } else {
+ self.get_io().write_error(&format!(
+ "<error>Package \"{}\" could not be found with constraint \"{}\", results below will most likely be incomplete.</error>",
+ needle, text_constraint
+ ));
}
- } else {
+ }
+ Some(matched) if PlatformRepository::is_platform_package(&needle) => {
+ let extra_notice = if matched
+ .get_extra()
+ .get("config.platform")
+ .and_then(|v| v.as_bool())
+ .unwrap_or(false)
+ {
+ " (version provided by config.platform)"
+ } else {
+ ""
+ };
self.get_io().write_error(&format!(
- "<error>Package \"{}\" could not be found with constraint \"{}\", results below will most likely be incomplete.</error>",
- needle, text_constraint
+ "<info>Package \"{} {}\" found in version \"{}\"{}.</info>",
+ needle,
+ text_constraint,
+ matched.get_pretty_version(),
+ extra_notice
));
}
- } else if PlatformRepository::is_platform_package(&needle) {
- let matched = matched_package.as_ref().unwrap();
- let extra_notice = if matched
- .get_extra()
- .get("config.platform")
- .and_then(|v| v.as_bool())
- .unwrap_or(false)
- {
- " (version provided by config.platform)"
- } else {
- ""
- };
- self.get_io().write_error(&format!(
- "<info>Package \"{} {}\" found in version \"{}\"{}.</info>",
- needle,
- text_constraint,
- matched.get_pretty_version(),
- extra_notice
- ));
- } else if inverted {
- let matched = matched_package.as_ref().unwrap();
- self.get_io().write(&format!(
- "<comment>Package \"{}\" {} is already installed! To find out why, run `composer why {}`</comment>",
- needle,
- matched.get_pretty_version(),
- needle
- ));
+ Some(matched) if inverted => {
+ self.get_io().write(&format!(
+ "<comment>Package \"{}\" {} is already installed! To find out why, run `composer why {}`</comment>",
+ needle,
+ matched.get_pretty_version(),
+ needle
+ ));
- return Ok(0);
+ return Ok(0);
+ }
+ Some(_) => {}
}
let mut needles = vec![needle.clone()];
diff --git a/crates/shirabe/src/command/bump_command.rs b/crates/shirabe/src/command/bump_command.rs
index b80e41c..90947ef 100644
--- a/crates/shirabe/src/command/bump_command.rs
+++ b/crates/shirabe/src/command/bump_command.rs
@@ -3,7 +3,6 @@
use crate::io::io_interface;
use crate::package::base_package;
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::composer::pcre::Preg;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
@@ -12,21 +11,15 @@ use shirabe_php_shim::{PhpMixed, file_get_contents, file_put_contents, is_writab
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
use crate::json::JsonManipulator;
-use crate::package::AliasPackage;
-use crate::package::BasePackage;
use crate::package::version::VersionBumper;
use crate::repository::PlatformRepository;
use crate::util::Filesystem;
@@ -107,7 +100,7 @@ impl BumpCommand {
}
let composer = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer);
+ let composer = crate::command::composer_full_mut(&composer);
let has_lock_file_disabled = !composer.get_config().borrow().has("lock")
|| composer
.get_config()
@@ -184,7 +177,7 @@ impl BumpCommand {
.iter()
.map(|constraint| Preg::replace(r"{[:= ].+}", "", constraint))
.collect();
- let mut unique_lower: Vec<String> = packages_filter
+ let unique_lower: Vec<String> = packages_filter
.iter()
.map(|s| strtolower(s))
.collect::<std::collections::HashSet<_>>()
diff --git a/crates/shirabe/src/command/check_platform_reqs_command.rs b/crates/shirabe/src/command/check_platform_reqs_command.rs
index a7f5d9c..d3e8adc 100644
--- a/crates/shirabe/src/command/check_platform_reqs_command.rs
+++ b/crates/shirabe/src/command/check_platform_reqs_command.rs
@@ -11,14 +11,9 @@ use shirabe_semver::constraint::SimpleConstraint;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
use crate::package::Link;
@@ -200,7 +195,7 @@ impl Command for CheckPlatformReqsCommand {
_output: Rc<RefCell<dyn OutputInterface>>,
) -> anyhow::Result<i64> {
let composer = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer);
+ let composer = crate::command::composer_full_mut(&composer);
let io = self.get_io();
let no_dev = input
diff --git a/crates/shirabe/src/command/clear_cache_command.rs b/crates/shirabe/src/command/clear_cache_command.rs
index c3d1eb5..abe72ec 100644
--- a/crates/shirabe/src/command/clear_cache_command.rs
+++ b/crates/shirabe/src/command/clear_cache_command.rs
@@ -15,7 +15,6 @@ use crate::command::base_command::base_command_initialize;
use crate::config::Config;
use crate::console::input::InputOption;
use crate::factory::Factory;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
#[derive(Debug)]
diff --git a/crates/shirabe/src/command/config_command.rs b/crates/shirabe/src/command/config_command.rs
index 308d557..7bf7d1b 100644
--- a/crates/shirabe/src/command/config_command.rs
+++ b/crates/shirabe/src/command/config_command.rs
@@ -10,31 +10,23 @@ use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_php_shim::{
- InvalidArgumentException, JsonObject, PhpMixed, RuntimeException, array_filter,
- array_filter_use_key, array_is_list, array_map, array_merge, array_unique, count,
+ InvalidArgumentException, PhpMixed, RuntimeException, array_is_list, array_merge,
escapeshellcmd, exec, explode, file_exists, file_get_contents, implode, in_array, is_array,
- is_bool, is_dir, is_numeric, is_object, is_string, json_encode, sort, sprintf, str_replace,
- str_starts_with, strpos, strtolower, system, touch, var_export,
+ is_bool, is_dir, is_numeric, is_object, is_string, json_encode, str_replace, strpos,
+ strtolower, system, touch, var_export,
};
-use std::cell::RefCell;
-use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::advisory::Auditor;
use crate::command::BaseConfigCommand;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
use crate::config::Config;
use crate::config::ConfigSourceInterface;
use crate::config::JsonConfigSource;
use crate::console::input::InputArgument;
-use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonEncodeOptions;
use crate::json::JsonFile;
-use crate::package::base_package::{self, BasePackage};
+use crate::package::base_package::{self};
use crate::util::Filesystem;
use crate::util::Platform;
use crate::util::Silencer;
@@ -355,7 +347,7 @@ impl Command for ConfigCommand {
properties_defaults.insert("suggest".to_string(), PhpMixed::List(vec![]));
properties_defaults.insert("extra".to_string(), PhpMixed::List(vec![]));
let raw_data = config_file.borrow_mut().read()?;
- let mut data = config.borrow_mut().all(0)?;
+ let data = config.borrow_mut().all(0)?;
let mut source = config.borrow_mut().get_source_of_value(&setting_key);
let mut value: PhpMixed;
@@ -443,7 +435,7 @@ impl Command for ConfigCommand {
if value.as_array().map(|a| a.is_empty()).unwrap_or(false) {
let schema = JsonFile::parse_json(
Some(
- &file_get_contents(&JsonFile::composer_schema_path())
+ &file_get_contents(JsonFile::composer_schema_path())
.unwrap_or_default(),
),
Some("composer.schema.json"),
@@ -1468,24 +1460,24 @@ impl ConfigCommand {
String::new()
};
- let link: String;
- if k.is_some() && strpos(k.as_ref().unwrap(), "repositories") == Some(0) {
- link = "https://getcomposer.org/doc/05-repositories.md".to_string();
- } else {
- let id_source = if k.as_deref() == Some("") || k.is_none() {
- key.clone()
+ let link: String =
+ if k.is_some() && strpos(k.as_ref().unwrap(), "repositories") == Some(0) {
+ "https://getcomposer.org/doc/05-repositories.md".to_string()
} else {
- k.clone().unwrap()
+ let id_source = if k.as_deref() == Some("") || k.is_none() {
+ key.clone()
+ } else {
+ k.clone().unwrap()
+ };
+ let id = Preg::replace("{\\..*$}", "", &id_source);
+ let id = Preg::replace(
+ "{[^a-z0-9]}i",
+ "-",
+ &strtolower(&shirabe_php_shim::trim(&id, Some(" \t\n\r\0\u{0B}"))),
+ );
+ let id = Preg::replace("{-+}", "-", &id);
+ format!("https://getcomposer.org/doc/06-config.md#{}", id)
};
- let id = Preg::replace("{\\..*$}", "", &id_source);
- let id = Preg::replace(
- "{[^a-z0-9]}i",
- "-",
- &strtolower(&shirabe_php_shim::trim(&id, Some(" \t\n\r\0\u{0B}"))),
- );
- let id = Preg::replace("{-+}", "-", &id);
- link = format!("https://getcomposer.org/doc/06-config.md#{}", id);
- }
if is_string(&raw_val)
&& raw_val
.as_string()
diff --git a/crates/shirabe/src/command/create_project_command.rs b/crates/shirabe/src/command/create_project_command.rs
index 9969cf5..dbc98dd 100644
--- a/crates/shirabe/src/command/create_project_command.rs
+++ b/crates/shirabe/src/command/create_project_command.rs
@@ -17,11 +17,9 @@ use std::cell::RefCell;
use std::path::PathBuf;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::advisory::Auditor;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
use crate::config::Config;
use crate::config::ConfigSourceInterface;
use crate::config::JsonConfigSource;
@@ -428,7 +426,7 @@ impl CreateProjectCommand {
}
}
- let mut composer = crate::command::composer_full_mut(&composer_handle);
+ let composer = crate::command::composer_full_mut(&composer_handle);
let process = composer
.get_loop()
@@ -741,37 +739,40 @@ impl CreateProjectCommand {
if stability.is_none() {
if package_version.is_none() {
stability = Some("stable".to_string());
- } else if {
- let mut matched: IndexMap<CaptureKey, String> = IndexMap::new();
- let ok = Preg::is_match3(
- &format!(
- "{{^[^,\\s]*?@({})$}}i",
- implode(
- "|",
- &STABILITIES
- .keys()
- .map(|k| k.to_string())
- .collect::<Vec<_>>()
- )
- ),
- package_version.as_deref().unwrap_or(""),
- Some(&mut matched),
- );
- if ok {
- stability = Some(
- matched
- .get(&CaptureKey::ByIndex(1))
- .cloned()
- .unwrap_or_default(),
+ } else {
+ let ok = {
+ let mut matched: IndexMap<CaptureKey, String> = IndexMap::new();
+ let ok = Preg::is_match3(
+ &format!(
+ "{{^[^,\\s]*?@({})$}}i",
+ implode(
+ "|",
+ &STABILITIES
+ .keys()
+ .map(|k| k.to_string())
+ .collect::<Vec<_>>()
+ )
+ ),
+ package_version.as_deref().unwrap_or(""),
+ Some(&mut matched),
);
+ if ok {
+ stability = Some(
+ matched
+ .get(&CaptureKey::ByIndex(1))
+ .cloned()
+ .unwrap_or_default(),
+ );
+ }
+ ok
+ };
+ if ok {
+ // stability already set above
+ } else {
+ stability = Some(VersionParser::parse_stability(
+ package_version.as_deref().unwrap_or(""),
+ ));
}
- ok
- } {
- // stability already set above
- } else {
- stability = Some(VersionParser::parse_stability(
- package_version.as_deref().unwrap_or(""),
- ));
}
}
@@ -1032,7 +1033,7 @@ impl CreateProjectCommand {
// ensure that the env var being set does not interfere with create-project
// as it is probably not meant to be used here, so we do not use it if a composer.json can be found
// in the project
- if file_exists(&format!("{}/composer.json", directory))
+ if file_exists(format!("{}/composer.json", directory))
&& Platform::get_env("COMPOSER").is_some()
{
Platform::clear_env("COMPOSER");
diff --git a/crates/shirabe/src/command/depends_command.rs b/crates/shirabe/src/command/depends_command.rs
index f7d57db..fa60a42 100644
--- a/crates/shirabe/src/command/depends_command.rs
+++ b/crates/shirabe/src/command/depends_command.rs
@@ -1,25 +1,18 @@
//! ref: composer/src/Composer/Command/DependsCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
-use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::BaseDependencyCommand;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
#[derive(Debug)]
pub struct DependsCommand {
diff --git a/crates/shirabe/src/command/diagnose_command.rs b/crates/shirabe/src/command/diagnose_command.rs
index 99118cd..514671a 100644
--- a/crates/shirabe/src/command/diagnose_command.rs
+++ b/crates/shirabe/src/command/diagnose_command.rs
@@ -10,35 +10,30 @@ use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_external_packages::symfony::process::ExecutableFinder;
use shirabe_php_shim::{
- CURL_HTTP_VERSION_2_0, CURL_VERSION_HTTP2, CURL_VERSION_HTTP3, CURL_VERSION_ZSTD, INFO_GENERAL,
+ CURL_VERSION_HTTP2, CURL_VERSION_HTTP3, CURL_VERSION_ZSTD, INFO_GENERAL,
InvalidArgumentException, OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_TEXT, PHP_BINARY, PHP_EOL,
- PHP_VERSION, PHP_VERSION_ID, PHP_WINDOWS_VERSION_BUILD, PhpMixed, RuntimeException, count,
- curl_version, defined, disk_free_space, extension_loaded, file_exists, filter_var_boolean,
- function_exists, get_class, get_class_err, hash, implode, ini_get, ioncube_loader_iversion,
- ioncube_loader_version, is_array, is_string, ob_get_clean, ob_start, phpinfo, rtrim, sprintf,
- str_contains, str_replace, str_starts_with, strpos, strstr, strtolower, trim, version_compare,
+ PHP_VERSION, PHP_VERSION_ID, PHP_WINDOWS_VERSION_BUILD, PhpMixed, curl_version, defined,
+ disk_free_space, extension_loaded, file_exists, filter_var_boolean, function_exists,
+ get_class_err, hash, implode, ini_get, ioncube_loader_iversion, ioncube_loader_version,
+ is_array, is_string, ob_get_clean, ob_start, phpinfo, rtrim, str_contains, str_replace,
+ str_starts_with, strpos, strstr, strtolower, trim, version_compare,
};
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::advisory::Auditor;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
use crate::composer;
-use crate::composer::ComposerHandle;
-use crate::composer::PartialComposerHandle;
use crate::config::Config;
use crate::downloader::TransportException;
use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
use crate::io::BufferIO;
use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::io::NullIO;
use crate::json::JsonFile;
use crate::json::JsonValidationException;
-use crate::package::CompletePackageInterface;
use crate::package::Locker;
use crate::package::RootPackage;
use crate::package::version::VersionParser;
@@ -149,7 +144,7 @@ impl Command for DiagnoseCommand {
config_inner.insert("secure-http".to_string(), PhpMixed::Bool(false));
let mut secure_http_wrap: IndexMap<String, PhpMixed> = IndexMap::new();
secure_http_wrap.insert("config".to_string(), PhpMixed::Array(config_inner));
- let mut config = config;
+ let config = config;
config
.borrow_mut()
.merge(&secure_http_wrap, Config::SOURCE_COMMAND);
@@ -272,7 +267,7 @@ impl Command for DiagnoseCommand {
));
if let Some(ref mut c) = composer {
- let mut c = crate::command::composer_full_mut(c);
+ let c = crate::command::composer_full_mut(c);
io.write(&format!(
"Active plugins: {}",
implode(
@@ -692,12 +687,12 @@ impl DiagnoseCommand {
let first = provider_includes_arr
.values()
.next()
- .map(|v| v.clone())
+ .cloned()
.unwrap_or(PhpMixed::Null);
let hash_val = first
.as_array()
.and_then(|a| a.get("sha256"))
- .map(|v| v.clone())
+ .cloned()
.unwrap_or(PhpMixed::Null);
let path = str_replace(
"%hash%",
@@ -828,7 +823,7 @@ impl DiagnoseCommand {
.and_then(|a| a.get("resources"))
.and_then(|v| v.as_array())
.and_then(|a| a.get("core"))
- .map(|v| v.clone())
+ .cloned()
.unwrap_or(PhpMixed::Null))
}
@@ -863,13 +858,13 @@ impl DiagnoseCommand {
let mut errors: Vec<PhpMixed> = vec![];
let io = self.get_io();
- if file_exists(&format!("{}/keys.tags.pub", home))
- && file_exists(&format!("{}/keys.dev.pub", home))
+ if file_exists(format!("{}/keys.tags.pub", home))
+ && file_exists(format!("{}/keys.dev.pub", home))
{
io.write("");
}
- if file_exists(&format!("{}/keys.tags.pub", home)) {
+ if file_exists(format!("{}/keys.tags.pub", home)) {
io.write(&format!(
"Tags Public Key Fingerprint: {}",
Keys::fingerprint(&format!("{}/keys.tags.pub", home))?
@@ -880,7 +875,7 @@ impl DiagnoseCommand {
));
}
- if file_exists(&format!("{}/keys.dev.pub", home)) {
+ if file_exists(format!("{}/keys.dev.pub", home)) {
io.write(&format!(
"Dev Public Key Fingerprint: {}",
Keys::fingerprint(&format!("{}/keys.dev.pub", home))?
@@ -1278,7 +1273,7 @@ impl DiagnoseCommand {
warnings.insert("uopz".to_string(), PhpMixed::Bool(true));
}
- let mut out_fn = |msg: &str, style: &str, output: &mut String| {
+ let out_fn = |msg: &str, style: &str, output: &mut String| {
output.push_str(&format!("<{}>{}</{}>{}", style, msg, style, PHP_EOL));
};
diff --git a/crates/shirabe/src/command/dump_autoload_command.rs b/crates/shirabe/src/command/dump_autoload_command.rs
index fae4d76..d697e79 100644
--- a/crates/shirabe/src/command/dump_autoload_command.rs
+++ b/crates/shirabe/src/command/dump_autoload_command.rs
@@ -1,7 +1,6 @@
//! ref: composer/src/Composer/Command/DumpAutoloadCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
@@ -9,15 +8,10 @@ use shirabe_php_shim::{InvalidArgumentException, PhpMixed, file_exists};
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::plugin::CommandEvent;
use crate::plugin::PluginEvents;
diff --git a/crates/shirabe/src/command/exec_command.rs b/crates/shirabe/src/command/exec_command.rs
index db91012..2fc23f0 100644
--- a/crates/shirabe/src/command/exec_command.rs
+++ b/crates/shirabe/src/command/exec_command.rs
@@ -1,7 +1,6 @@
//! ref: composer/src/Composer/Command/ExecCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
@@ -9,16 +8,11 @@ use shirabe_php_shim::{PhpMixed, RuntimeException, basename, chdir, getcwd, glob
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
#[derive(Debug)]
diff --git a/crates/shirabe/src/command/fund_command.rs b/crates/shirabe/src/command/fund_command.rs
index 5b4987f..8c43ca1 100644
--- a/crates/shirabe/src/command/fund_command.rs
+++ b/crates/shirabe/src/command/fund_command.rs
@@ -1,7 +1,5 @@
//! ref: composer/src/Composer/Command/FundCommand.php
-use std::any::Any;
-
use anyhow::Result;
use indexmap::IndexMap;
use shirabe_external_packages::composer::pcre::Preg;
@@ -15,21 +13,12 @@ use shirabe_semver::constraint::MatchAllConstraint;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
-use crate::package::AliasPackage;
-use crate::package::CompletePackage;
-use crate::package::CompletePackageInterface;
-use crate::package::PackageInterface;
-use crate::package::base_package::{self, BasePackage};
+use crate::package::base_package::{self};
use crate::repository::CompositeRepository;
use crate::repository::RepositoryInterface;
diff --git a/crates/shirabe/src/command/global_command.rs b/crates/shirabe/src/command/global_command.rs
index aed142c..d0d8a31 100644
--- a/crates/shirabe/src/command/global_command.rs
+++ b/crates/shirabe/src/command/global_command.rs
@@ -3,7 +3,6 @@
use std::path::Path;
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::composer::pcre::Preg;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::ArgvInput;
@@ -11,22 +10,15 @@ use shirabe_external_packages::symfony::console::input::ArrayInput;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::input::StringInput;
use shirabe_external_packages::symfony::console::output::OutputInterface;
-use shirabe_php_shim::PhpMixed;
-use shirabe_php_shim::{AsAny, LogicException, RuntimeException, chdir};
+use shirabe_php_shim::{LogicException, RuntimeException, chdir};
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
-use crate::io::IOInterfaceImmutable;
use crate::util::Filesystem;
use crate::util::Platform;
@@ -86,7 +78,7 @@ impl GlobalCommand {
Platform::clear_env("COMPOSER");
}
- let mut config = Factory::create_config(None, None)?;
+ let config = Factory::create_config(None, None)?;
let home = config.get("home").as_string().unwrap_or("").to_string();
if !Path::new(&home).is_dir() {
diff --git a/crates/shirabe/src/command/home_command.rs b/crates/shirabe/src/command/home_command.rs
index 081ce2d..0a0a36c 100644
--- a/crates/shirabe/src/command/home_command.rs
+++ b/crates/shirabe/src/command/home_command.rs
@@ -1,7 +1,6 @@
//! ref: composer/src/Composer/Command/HomeCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
@@ -10,22 +9,14 @@ use shirabe_php_shim::filter_var_url;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::package::CompletePackageInterfaceHandle;
-use crate::package::PackageInterface;
-use crate::package::RootPackageInterface;
use crate::repository::RepositoryFactory;
-use crate::repository::RepositoryInterface;
use crate::repository::RootPackageRepository;
use crate::util::Platform;
use crate::util::ProcessExecutor;
diff --git a/crates/shirabe/src/command/init_command.rs b/crates/shirabe/src/command/init_command.rs
index 557ebca..ab0e52c 100644
--- a/crates/shirabe/src/command/init_command.rs
+++ b/crates/shirabe/src/command/init_command.rs
@@ -10,30 +10,24 @@ use shirabe_external_packages::symfony::console::input::ArrayInput;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_php_shim::{
- FILE_IGNORE_NEW_LINES, InvalidArgumentException, PHP_EOL, PHP_SERVER, PhpMixed, array_filter,
- array_flip, array_flip_strings, array_intersect_key, array_keys, array_map, basename, empty,
- explode, file, file_exists, file_get_contents, file_put_contents, function_exists,
- get_current_user, implode, is_dir, is_string, preg_quote, realpath, sprintf, str_replace,
- strpos, strtolower, trim, ucwords,
+ FILE_IGNORE_NEW_LINES, InvalidArgumentException, PHP_EOL, PHP_SERVER, PhpMixed,
+ array_flip_strings, array_intersect_key, array_map, basename, empty, explode, file,
+ file_exists, file_get_contents, file_put_contents, get_current_user, implode, is_dir,
+ is_string, preg_quote, realpath, str_replace, strpos, strtolower, trim, ucwords,
};
use shirabe_spdx_licenses::SpdxLicenses;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::PackageDiscoveryTrait;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputOption;
use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
use crate::json::JsonValidationException;
-use crate::package::base_package::{self, BasePackage};
+use crate::package::base_package::{self};
use crate::repository::CompositeRepository;
use crate::repository::PlatformRepository;
use crate::repository::PlatformRepositoryHandle;
@@ -848,7 +842,7 @@ impl Command for InitCommand {
);
// --autoload - input and validation
- let mut autoload = input
+ let autoload = input
.borrow()
.get_option("autoload")?
.as_string()
diff --git a/crates/shirabe/src/command/install_command.rs b/crates/shirabe/src/command/install_command.rs
index 53e3a6c..6a56eb0 100644
--- a/crates/shirabe/src/command/install_command.rs
+++ b/crates/shirabe/src/command/install_command.rs
@@ -1,7 +1,6 @@
//! ref: composer/src/Composer/Command/InstallCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
@@ -9,18 +8,13 @@ use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::advisory::Auditor;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
use crate::installer::Installer;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::plugin::CommandEvent;
use crate::plugin::PluginEvents;
@@ -138,7 +132,7 @@ impl Command for InstallCommand {
}
let composer_handle = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer_handle);
+ let composer = crate::command::composer_full_mut(&composer_handle);
if !composer.get_locker().borrow_mut().is_locked() && !HttpDownloader::is_curl_enabled() {
io.write_error("<warning>Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.</warning>");
diff --git a/crates/shirabe/src/command/licenses_command.rs b/crates/shirabe/src/command/licenses_command.rs
index f2672bd..bef15ff 100644
--- a/crates/shirabe/src/command/licenses_command.rs
+++ b/crates/shirabe/src/command/licenses_command.rs
@@ -1,7 +1,5 @@
//! ref: composer/src/Composer/Command/LicensesCommand.php
-use std::any::Any;
-
use anyhow::Result;
use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
@@ -15,22 +13,13 @@ use shirabe_php_shim::{PhpMixed, RuntimeException, UnexpectedValueException};
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
-use crate::package::BasePackage;
-use crate::package::CompletePackage;
-use crate::package::CompletePackageInterface;
use crate::plugin::CommandEvent;
use crate::plugin::PluginEvents;
-use crate::repository::CanonicalPackagesTrait;
use crate::repository::RepositoryInterface;
use crate::repository::RepositoryUtils;
use crate::util::PackageInfo;
@@ -123,7 +112,7 @@ impl Command for LicensesCommand {
.borrow_mut()
.dispatch(Some(command_event.get_name()), None);
- let mut composer = crate::command::composer_full_mut(&composer_handle);
+ let composer = crate::command::composer_full_mut(&composer_handle);
let root = composer.get_package();
let packages = if input
diff --git a/crates/shirabe/src/command/outdated_command.rs b/crates/shirabe/src/command/outdated_command.rs
index 6a3c3e2..90c0f3d 100644
--- a/crates/shirabe/src/command/outdated_command.rs
+++ b/crates/shirabe/src/command/outdated_command.rs
@@ -10,16 +10,11 @@ use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
#[derive(Debug)]
pub struct OutdatedCommand {
diff --git a/crates/shirabe/src/command/package_discovery_trait.rs b/crates/shirabe/src/command/package_discovery_trait.rs
index bce7e9a..4a5c65b 100644
--- a/crates/shirabe/src/command/package_discovery_trait.rs
+++ b/crates/shirabe/src/command/package_discovery_trait.rs
@@ -1,7 +1,6 @@
//! ref: composer/src/Composer/Command/PackageDiscoveryTrait.php
use crate::io::io_interface;
-use std::any::Any;
use anyhow::Result;
use indexmap::IndexMap;
@@ -10,13 +9,11 @@ use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_php_shim::{
Exception, InvalidArgumentException, LogicException, PHP_EOL, PhpMixed, array_keys,
- array_slice, array_unshift, array_values, asort, count, explode, file_get_contents, implode,
- in_array, is_array, is_file, is_numeric, is_string, json_decode, levenshtein, sprintf, strlen,
- strpos, trim,
+ array_slice, asort, explode, file_get_contents, implode, in_array, is_array, is_file,
+ is_numeric, json_decode, levenshtein, strlen, strpos, trim,
};
use crate::command::BaseCommand;
-use crate::composer::PartialComposerHandle;
use crate::factory::Factory;
use crate::filter::platform_requirement_filter::IgnoreAllPlatformRequirementFilter;
use crate::filter::platform_requirement_filter::PlatformRequirementFilterFactory;
@@ -558,7 +555,7 @@ pub trait PackageDiscoveryTrait: BaseCommand {
return Err(InvalidArgumentException {
message: format!(
"Package {} has requirements incompatible with your PHP version, PHP extensions and Composer version{}",
- name.to_string(),
+ name,
self.get_platform_exception_details(
candidate.clone(),
platform_repo,
@@ -612,7 +609,7 @@ pub trait PackageDiscoveryTrait: BaseCommand {
return Err(InvalidArgumentException {
message: format!(
"Could not find a version of package {} matching your minimum-stability ({}). Require it with an explicit version constraint allowing its desired stability.",
- name.to_string(),
+ name,
effective_minimum_stability.clone(),
),
code: 0,
@@ -654,7 +651,7 @@ pub trait PackageDiscoveryTrait: BaseCommand {
return Err(InvalidArgumentException {
message: format!(
"Could not find package {} in any version matching your PHP version, PHP extensions and Composer version{}{}",
- name.to_string(),
+ name,
self.get_platform_exception_details(
candidate.clone(),
platform_repo,
@@ -683,7 +680,7 @@ pub trait PackageDiscoveryTrait: BaseCommand {
return Err(InvalidArgumentException {
message: format!(
"Could not find package {}. It was however found via repository search, which indicates a consistency issue with the repository.",
- name.to_string(),
+ name,
),
code: 0,
}
@@ -720,7 +717,7 @@ pub trait PackageDiscoveryTrait: BaseCommand {
return Err(InvalidArgumentException {
message: format!(
"Could not find package {}.\n\nDid you mean {}?\n {}",
- name.to_string(),
+ name,
if similar.len() > 1 {
"one of these"
} else {
@@ -736,7 +733,7 @@ pub trait PackageDiscoveryTrait: BaseCommand {
return Err(InvalidArgumentException {
message: format!(
"Could not find a matching version of package {}. Check the package spelling, your version constraint and that the package is available in a stability which matches your minimum-stability ({}).",
- name.to_string(),
+ name,
effective_minimum_stability,
),
code: 0,
diff --git a/crates/shirabe/src/command/prohibits_command.rs b/crates/shirabe/src/command/prohibits_command.rs
index f35990a..7c034aa 100644
--- a/crates/shirabe/src/command/prohibits_command.rs
+++ b/crates/shirabe/src/command/prohibits_command.rs
@@ -1,24 +1,17 @@
//! ref: composer/src/Composer/Command/ProhibitsCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
-use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseDependencyCommand;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
#[derive(Debug)]
pub struct ProhibitsCommand {
diff --git a/crates/shirabe/src/command/reinstall_command.rs b/crates/shirabe/src/command/reinstall_command.rs
index 6e728e6..20b8895 100644
--- a/crates/shirabe/src/command/reinstall_command.rs
+++ b/crates/shirabe/src/command/reinstall_command.rs
@@ -1,32 +1,22 @@
//! ref: composer/src/Composer/Command/ReinstallCommand.php
-use std::any::Any;
-
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::composer::pcre::Preg;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_php_shim::InvalidArgumentException;
-use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
-use crate::console::input::InputDefinitionItem;
use crate::console::input::InputOption;
use crate::dependency_resolver::Transaction;
use crate::dependency_resolver::operation::InstallOperation;
use crate::dependency_resolver::operation::UninstallOperation;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::package::base_package;
use crate::plugin::CommandEvent;
diff --git a/crates/shirabe/src/command/remove_command.rs b/crates/shirabe/src/command/remove_command.rs
index c36c5dd..60287bc 100644
--- a/crates/shirabe/src/command/remove_command.rs
+++ b/crates/shirabe/src/command/remove_command.rs
@@ -7,31 +7,23 @@ use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::exception::InvalidArgumentException;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
-use shirabe_php_shim::{PhpMixed, UnexpectedValueException, array_map, strtolower};
+use shirabe_php_shim::{PhpMixed, UnexpectedValueException, strtolower};
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::advisory::Auditor;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::config::ConfigSourceInterface;
use crate::config::JsonConfigSource;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::dependency_resolver::Request;
use crate::dependency_resolver::UpdateAllowTransitiveDeps;
use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
use crate::installer::Installer;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
-use crate::package::BasePackage;
use crate::package::base_package;
-use crate::repository::CanonicalPackagesTrait;
use crate::repository::RepositoryInterface;
#[derive(Debug)]
@@ -226,7 +218,7 @@ impl Command for RemoveCommand {
.unwrap_or(false)
{
let composer = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer);
+ let composer = crate::command::composer_full_mut(&composer);
{
let locker = composer.get_locker().clone();
let mut locker = locker.borrow_mut();
@@ -240,7 +232,7 @@ impl Command for RemoveCommand {
}
}
- let mut locked_repo = composer
+ let locked_repo = composer
.get_locker()
.borrow_mut()
.get_locked_repository(true)?;
diff --git a/crates/shirabe/src/command/repository_command.rs b/crates/shirabe/src/command/repository_command.rs
index c8d99a5..19dfb6b 100644
--- a/crates/shirabe/src/command/repository_command.rs
+++ b/crates/shirabe/src/command/repository_command.rs
@@ -12,18 +12,13 @@ use shirabe_php_shim::{
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseConfigCommand;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
use crate::config::Config;
use crate::config::ConfigSourceInterface;
use crate::config::JsonConfigSource;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
diff --git a/crates/shirabe/src/command/require_command.rs b/crates/shirabe/src/command/require_command.rs
index 4bed4df..d2923c8 100644
--- a/crates/shirabe/src/command/require_command.rs
+++ b/crates/shirabe/src/command/require_command.rs
@@ -9,26 +9,21 @@ use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_php_shim::{
- PhpMixed, RuntimeException, UnexpectedValueException, array_fill_keys, array_intersect,
- array_keys, array_map, array_merge, array_unique, count, empty, file_exists, file_get_contents,
- file_put_contents, filesize, implode, is_writable, sprintf, strtolower, unlink,
+ PhpMixed, RuntimeException, array_fill_keys, array_intersect, array_keys, array_map,
+ array_merge, array_unique, empty, file_exists, file_get_contents, file_put_contents, filesize,
+ implode, is_writable, strtolower, unlink,
};
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::advisory::Auditor;
use crate::command::PackageDiscoveryTrait;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::dependency_resolver::Request;
use crate::dependency_resolver::UpdateAllowTransitiveDeps;
use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
use crate::installer::Installer;
use crate::installer::InstallerEvents;
use crate::io::IOInterface;
@@ -45,7 +40,6 @@ use crate::plugin::PluginEvents;
use crate::repository::CompositeRepository;
use crate::repository::PlatformRepository;
use crate::repository::PlatformRepositoryHandle;
-use crate::repository::RepositoryInterface;
use crate::repository::RepositorySet;
use crate::util::Filesystem;
use crate::util::PackageSorter;
@@ -269,7 +263,7 @@ impl Command for RequireCommand {
.to_string()
};
- /// @see https://github.com/composer/composer/pull/8313#issuecomment-532637955
+ // @see https://github.com/composer/composer/pull/8313#issuecomment-532637955
if package_type != "project"
&& !input.borrow().get_option("dev")?.as_bool().unwrap_or(false)
{
@@ -482,14 +476,13 @@ impl Command for RequireCommand {
let warn_msg = format!(
"{} is currently present in the {} key and you ran the command {} the --dev flag, which will move it to the {} key.",
package.clone(),
- remove_key.to_string(),
+ remove_key,
if input.borrow().get_option("dev")?.as_bool().unwrap_or(false) {
"with"
} else {
"without"
- }
- .to_string(),
- require_key.to_string(),
+ },
+ require_key,
);
self.get_io().warning(&warn_msg, &[]);
}
@@ -501,8 +494,7 @@ impl Command for RequireCommand {
"these requirements"
} else {
"this requirement"
- }
- .to_string(),
+ },
);
if !self.get_io().ask_confirmation(q1, false) {
let q2 = format!(
@@ -511,8 +503,7 @@ impl Command for RequireCommand {
"without"
} else {
"with"
- }
- .to_string(),
+ },
);
if !self.get_io().ask_confirmation(q2, true) {
return Ok(0);
@@ -762,7 +753,7 @@ impl RequireCommand {
// Update packages
self.reset_composer()?;
let composer_handle = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer_handle);
+ let composer = crate::command::composer_full_mut(&composer_handle);
self.dependency_resolution_completed.set(false);
// PHP: $composer->getEventDispatcher()->addListener(InstallerEvents::PRE_OPERATIONS_EXEC,
@@ -1065,7 +1056,7 @@ impl RequireCommand {
fixed: bool,
) -> Result<i64> {
let composer = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer);
+ let composer = crate::command::composer_full_mut(&composer);
let locker_is_locked = composer.get_locker().borrow_mut().is_locked();
let mut requirements: IndexMap<String, String> = IndexMap::new();
let mut version_selector = VersionSelector::new(
diff --git a/crates/shirabe/src/command/run_script_command.rs b/crates/shirabe/src/command/run_script_command.rs
index 383c5bb..7d37959 100644
--- a/crates/shirabe/src/command/run_script_command.rs
+++ b/crates/shirabe/src/command/run_script_command.rs
@@ -10,16 +10,11 @@ use shirabe_php_shim::{InvalidArgumentException, RuntimeException};
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::script::Event as ScriptEvent;
use crate::script::ScriptEvents;
diff --git a/crates/shirabe/src/command/script_alias_command.rs b/crates/shirabe/src/command/script_alias_command.rs
index 0fb5ce0..e429fe7 100644
--- a/crates/shirabe/src/command/script_alias_command.rs
+++ b/crates/shirabe/src/command/script_alias_command.rs
@@ -1,7 +1,6 @@
//! ref: composer/src/Composer/Command/ScriptAliasCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::composer::pcre::Preg;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
@@ -10,16 +9,11 @@ use shirabe_php_shim::{InvalidArgumentException, LogicException, PhpMixed, is_st
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::util::Platform;
#[derive(Debug)]
diff --git a/crates/shirabe/src/command/search_command.rs b/crates/shirabe/src/command/search_command.rs
index bcd74c3..f5a85fe 100644
--- a/crates/shirabe/src/command/search_command.rs
+++ b/crates/shirabe/src/command/search_command.rs
@@ -10,15 +10,10 @@ use shirabe_php_shim::{InvalidArgumentException, PhpMixed, implode, in_array, pr
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
use crate::plugin::CommandEvent;
diff --git a/crates/shirabe/src/command/self_update_command.rs b/crates/shirabe/src/command/self_update_command.rs
index aaee993..5b94058 100644
--- a/crates/shirabe/src/command/self_update_command.rs
+++ b/crates/shirabe/src/command/self_update_command.rs
@@ -1,7 +1,6 @@
//! ref: composer/src/Composer/Command/SelfUpdateCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
@@ -9,16 +8,11 @@ use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::io::io_interface;
diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs
index cfe4d3b..f65ecc7 100644
--- a/crates/shirabe/src/command/show_command.rs
+++ b/crates/shirabe/src/command/show_command.rs
@@ -20,22 +20,18 @@ use std::rc::Rc;
use shirabe_semver::constraint::AnyConstraint;
-use crate::advisory::AuditConfig;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
use crate::dependency_resolver::DefaultPolicy;
use crate::dependency_resolver::PolicyInterface;
use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::json::JsonFile;
use crate::package::CompletePackageInterfaceHandle;
use crate::package::Link;
-use crate::package::PackageInterface;
use crate::package::PackageInterfaceHandle;
use crate::package::base_package;
use crate::package::version::VersionParser;
@@ -224,7 +220,7 @@ impl Command for ShowCommand {
self.init_styles(output.clone());
}
- let mut composer = self.try_composer(None, None);
+ let composer = self.try_composer(None, None);
if input.borrow().get_option("installed")?.as_bool() == Some(true)
&& input.borrow().get_option("self")?.as_bool() != Some(true)
@@ -420,7 +416,7 @@ impl Command for ShowCommand {
installed_repo = RepositoryInterfaceHandle::new(ir);
}
} else if input.borrow().get_option("all")?.as_bool() == Some(true) && composer.is_some() {
- let mut composer_ref = crate::command::composer_full_mut(composer.as_ref().unwrap());
+ let composer_ref = crate::command::composer_full_mut(composer.as_ref().unwrap());
let local_repo = composer_ref
.get_repository_manager()
.borrow()
@@ -488,7 +484,7 @@ impl Command for ShowCommand {
}
.into());
}
- let mut composer_ref = crate::command::composer_full_mut(composer.as_ref().unwrap());
+ let composer_ref = crate::command::composer_full_mut(composer.as_ref().unwrap());
let locker_rc = composer_ref.get_locker().clone();
let mut locker = locker_rc.borrow_mut();
let lr = locker.get_locked_repository(
@@ -1901,7 +1897,7 @@ impl ShowCommand {
if r#type == "psr-0" || r#type == "psr-4" {
if let PhpMixed::Array(map) = autoloads {
for (name, path) in map.iter() {
- let path_str = match &*path {
+ let path_str = match path {
PhpMixed::List(l) => l
.iter()
.filter_map(|p| p.as_string().map(|s| s.to_string()))
@@ -2594,7 +2590,7 @@ impl ShowCommand {
let circular_warn = if in_array(
PhpMixed::String(require_name.clone()),
- &PhpMixed::List(current_tree.iter().cloned().collect()),
+ &PhpMixed::List(current_tree.to_vec()),
true,
) {
"(circular dependency aborted here)"
@@ -2648,7 +2644,7 @@ impl ShowCommand {
if !in_array(
PhpMixed::String(require_name.clone()),
- &PhpMixed::List(current_tree.iter().cloned().collect()),
+ &PhpMixed::List(current_tree.to_vec()),
true,
) {
current_tree.push(PhpMixed::String(require_name.clone()));
@@ -2824,21 +2820,21 @@ impl ShowCommand {
}
}
- let show_warnings_box: Box<dyn Fn(PackageInterfaceHandle) -> bool>;
- if self.get_io().is_verbose() {
- show_warnings_box = Box::new(|_p: PackageInterfaceHandle| -> bool { true });
- } else {
- let package_version = package.get_version();
- show_warnings_box = Box::new(move |candidate: PackageInterfaceHandle| -> bool {
- if candidate.get_version().starts_with("dev-")
- || package_version.starts_with("dev-")
- {
- return false;
- }
+ let show_warnings_box: Box<dyn Fn(PackageInterfaceHandle) -> bool> =
+ if self.get_io().is_verbose() {
+ Box::new(|_p: PackageInterfaceHandle| -> bool { true })
+ } else {
+ let package_version = package.get_version();
+ Box::new(move |candidate: PackageInterfaceHandle| -> bool {
+ if candidate.get_version().starts_with("dev-")
+ || package_version.starts_with("dev-")
+ {
+ return false;
+ }
- version_compare(&candidate.get_version(), &package_version, "<=")
- });
- }
+ version_compare(&candidate.get_version(), &package_version, "<=")
+ })
+ };
// TODO(phase-c): PHP passes $showWarnings (true or a closure) as the last argument, but the
// closure form requires modeling a callable inside PhpMixed; hardcoding true until then.
let _ = show_warnings_box;
diff --git a/crates/shirabe/src/command/status_command.rs b/crates/shirabe/src/command/status_command.rs
index db93e66..a8ea1ee 100644
--- a/crates/shirabe/src/command/status_command.rs
+++ b/crates/shirabe/src/command/status_command.rs
@@ -5,19 +5,13 @@ use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
-use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
-use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::package::dumper::ArrayDumper;
use crate::package::version::VersionGuesser;
@@ -58,7 +52,7 @@ impl StatusCommand {
input: std::rc::Rc<std::cell::RefCell<dyn InputInterface>>,
) -> Result<i64> {
let composer = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer);
+ let composer = crate::command::composer_full_mut(&composer);
let io = self.get_io().clone();
let mut errors: IndexMap<String, String> = IndexMap::new();
diff --git a/crates/shirabe/src/command/suggests_command.rs b/crates/shirabe/src/command/suggests_command.rs
index 4bd0758..9abae53 100644
--- a/crates/shirabe/src/command/suggests_command.rs
+++ b/crates/shirabe/src/command/suggests_command.rs
@@ -1,15 +1,10 @@
//! ref: composer/src/Composer/Command/SuggestsCommand.php
-use crate::advisory::AuditConfig;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
use crate::installer::SuggestedPackagesReporter;
-use crate::io::IOInterface;
use crate::repository::InstalledRepository;
use crate::repository::PlatformRepository;
use crate::repository::RepositoryInterface;
@@ -119,7 +114,7 @@ impl Command for SuggestsCommand {
_output: Rc<RefCell<dyn OutputInterface>>,
) -> Result<i64> {
let composer = self.require_composer(None, None)?;
- let mut composer = crate::command::composer_full_mut(&composer);
+ let composer = crate::command::composer_full_mut(&composer);
let mut installed_repos: Vec<RepositoryInterfaceHandle> =
vec![RepositoryInterfaceHandle::new(RootPackageRepository::new(
diff --git a/crates/shirabe/src/command/update_command.rs b/crates/shirabe/src/command/update_command.rs
index c6c05ba..6a74371 100644
--- a/crates/shirabe/src/command/update_command.rs
+++ b/crates/shirabe/src/command/update_command.rs
@@ -11,24 +11,18 @@ use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
use shirabe_php_shim::{
InvalidArgumentException, PhpMixed, RuntimeException, array_filter, array_intersect,
- array_keys, array_merge_map, array_search_in_vec, count, empty, in_array, sprintf, strtolower,
+ array_keys, array_merge_map, array_search_in_vec, in_array, strtolower,
};
use shirabe_semver::Intervals;
use shirabe_semver::constraint::MultiConstraint;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
-use crate::advisory::Auditor;
use crate::command::BumpCommand;
use crate::command::base_command::base_command_initialize;
use crate::command::{BaseCommand, BaseCommandData};
use crate::composer::PartialComposerHandle;
-use crate::config::Config;
-use crate::console::input::InputArgument;
-use crate::console::input::InputOption;
-use crate::dependency_resolver::request::{self, Request, UpdateAllowTransitiveDeps};
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
+use crate::dependency_resolver::request::UpdateAllowTransitiveDeps;
use crate::installer::Installer;
use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
@@ -40,7 +34,6 @@ use crate::plugin::PluginEvents;
use crate::repository::CanonicalPackagesTrait;
use crate::repository::CompositeRepository;
use crate::repository::PlatformRepository;
-use crate::repository::RepositoryInterface;
use crate::repository::RepositorySet;
use crate::util::HttpDownloader;
@@ -516,7 +509,7 @@ impl Command for UpdateCommand {
true,
io_interface::NORMAL,
);
- let mut bump_command = BumpCommand::new();
+ let bump_command = BumpCommand::new();
bump_command.set_composer(composer_handle.clone());
result = bump_command.do_bump(
io.clone(),
@@ -707,7 +700,7 @@ impl UpdateCommand {
if io.ask_confirmation(
format!(
"Would you like to continue and update the above package{} [<comment>yes</comment>]? ",
- if 1 == packages.len() { "" } else { "s" }.to_string(),
+ if 1 == packages.len() { "" } else { "s" },
),
true,
) {
diff --git a/crates/shirabe/src/command/validate_command.rs b/crates/shirabe/src/command/validate_command.rs
index b378393..89c83eb 100644
--- a/crates/shirabe/src/command/validate_command.rs
+++ b/crates/shirabe/src/command/validate_command.rs
@@ -1,24 +1,18 @@
//! ref: composer/src/Composer/Command/ValidateCommand.php
use anyhow::Result;
-use indexmap::IndexMap;
use shirabe_external_packages::symfony::console::command::command::Command;
use shirabe_external_packages::symfony::console::input::InputInterface;
use shirabe_external_packages::symfony::console::output::OutputInterface;
-use shirabe_php_shim::PhpMixed;
use std::cell::RefCell;
use std::rc::Rc;
-use crate::advisory::AuditConfig;
use crate::command::BaseCommand;
use crate::command::BaseCommandData;
use crate::command::base_command::base_command_initialize;
-use crate::composer::PartialComposerHandle;
-use crate::config::Config;
use crate::console::input::InputArgument;
use crate::console::input::InputOption;
use crate::factory::Factory;
-use crate::filter::platform_requirement_filter::PlatformRequirementFilterInterface;
use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
use crate::package::loader::ValidatingArrayLoader;
@@ -203,7 +197,7 @@ impl Command for ValidateCommand {
let mut lock_errors: Vec<String> = vec![];
let composer =
self.create_composer_instance(input.clone(), io.clone(), None, false, None)?;
- let mut composer = crate::command::composer_full_mut(&composer);
+ let composer = crate::command::composer_full_mut(&composer);
let check_lock = (check_lock
&& composer
.get_config()