From 66c3eba15ba6302d43de057a9063f7feee8c6fb3 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 9 Aug 2026 11:10:53 +0900 Subject: refactor(pcre): extract composer/pcre into the shirabe-pcre crate Move `Composer\Pcre` out of shirabe-external-packages and into its own crate, so the path is `shirabe_pcre::preg::Preg` instead of `shirabe_external_packages::composer::pcre::preg::Preg`. Co-Authored-By: Claude Opus 5 (1M context) --- crates/shirabe/src/package/archiver/archivable_files_finder.rs | 2 +- crates/shirabe/src/package/archiver/archive_manager.rs | 2 +- crates/shirabe/src/package/archiver/base_exclude_filter.rs | 2 +- crates/shirabe/src/package/archiver/git_exclude_filter.rs | 2 +- crates/shirabe/src/package/loader/array_loader.rs | 2 +- crates/shirabe/src/package/loader/root_package_loader.rs | 2 +- crates/shirabe/src/package/loader/validating_array_loader.rs | 2 +- crates/shirabe/src/package/locker.rs | 2 +- crates/shirabe/src/package/package.rs | 10 +++------- crates/shirabe/src/package/version/version_bumper.rs | 2 +- crates/shirabe/src/package/version/version_guesser.rs | 2 +- crates/shirabe/src/package/version/version_parser.rs | 2 +- crates/shirabe/src/package/version/version_selector.rs | 2 +- 13 files changed, 15 insertions(+), 19 deletions(-) (limited to 'crates/shirabe/src/package') diff --git a/crates/shirabe/src/package/archiver/archivable_files_finder.rs b/crates/shirabe/src/package/archiver/archivable_files_finder.rs index f60c57f1..7c524283 100644 --- a/crates/shirabe/src/package/archiver/archivable_files_finder.rs +++ b/crates/shirabe/src/package/archiver/archivable_files_finder.rs @@ -4,8 +4,8 @@ use crate::package::archiver::BaseExcludeFilter; use crate::package::archiver::ComposerExcludeFilter; use crate::package::archiver::GitExcludeFilter; use crate::util::Filesystem; -use shirabe_external_packages::composer::pcre::Preg; use shirabe_external_packages::symfony::finder::Finder; +use shirabe_pcre::Preg; use shirabe_php_shim::{RuntimeException, preg_quote, realpath}; use std::path::{Path, PathBuf}; diff --git a/crates/shirabe/src/package/archiver/archive_manager.rs b/crates/shirabe/src/package/archiver/archive_manager.rs index 435843a6..0d99d301 100644 --- a/crates/shirabe/src/package/archiver/archive_manager.rs +++ b/crates/shirabe/src/package/archiver/archive_manager.rs @@ -10,7 +10,7 @@ use crate::util::Filesystem; use crate::util::SyncHelper; use crate::util::r#loop::Loop; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::Preg; +use shirabe_pcre::Preg; use shirabe_php_shim::{ InvalidArgumentException, RuntimeException, bin2hex, file_exists, php_regex, random_bytes, realpath, sys_get_temp_dir, diff --git a/crates/shirabe/src/package/archiver/base_exclude_filter.rs b/crates/shirabe/src/package/archiver/base_exclude_filter.rs index 05bd7adc..a899d90f 100644 --- a/crates/shirabe/src/package/archiver/base_exclude_filter.rs +++ b/crates/shirabe/src/package/archiver/base_exclude_filter.rs @@ -1,7 +1,7 @@ //! ref: composer/src/Composer/Package/Archiver/BaseExcludeFilter.php -use shirabe_external_packages::composer::pcre::Preg; use shirabe_external_packages::symfony::finder::Glob; +use shirabe_pcre::Preg; #[derive(Debug)] pub struct BaseExcludeFilterBase { diff --git a/crates/shirabe/src/package/archiver/git_exclude_filter.rs b/crates/shirabe/src/package/archiver/git_exclude_filter.rs index c3274378..3dd104ca 100644 --- a/crates/shirabe/src/package/archiver/git_exclude_filter.rs +++ b/crates/shirabe/src/package/archiver/git_exclude_filter.rs @@ -2,7 +2,7 @@ use crate::package::archiver::BaseExcludeFilter; use crate::package::archiver::BaseExcludeFilterBase; -use shirabe_external_packages::composer::pcre::Preg; +use shirabe_pcre::Preg; use shirabe_php_shim::php_regex; use std::path::Path; diff --git a/crates/shirabe/src/package/loader/array_loader.rs b/crates/shirabe/src/package/loader/array_loader.rs index 106f094e..df588cf9 100644 --- a/crates/shirabe/src/package/loader/array_loader.rs +++ b/crates/shirabe/src/package/loader/array_loader.rs @@ -17,7 +17,7 @@ use crate::package::loader::LoaderInterface; use crate::package::version::VersionParser; use chrono::Utc; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::Preg; +use shirabe_pcre::Preg; use shirabe_php_shim::{ AnyThrowable, E_USER_DEPRECATED, PhpMixed, UnexpectedValueException, is_scalar, is_string, json_encode, ltrim, php_regex, stripos, strpos, strtolower, strval, substr, trigger_error, diff --git a/crates/shirabe/src/package/loader/root_package_loader.rs b/crates/shirabe/src/package/loader/root_package_loader.rs index e26a7e95..5f35843e 100644 --- a/crates/shirabe/src/package/loader/root_package_loader.rs +++ b/crates/shirabe/src/package/loader/root_package_loader.rs @@ -15,7 +15,7 @@ use crate::repository::RepositoryManager; use crate::util::Platform; use crate::util::ProcessExecutor; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; +use shirabe_pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ PhpMixed, RuntimeException, UnexpectedValueException, php_regex, strtolower, }; diff --git a/crates/shirabe/src/package/loader/validating_array_loader.rs b/crates/shirabe/src/package/loader/validating_array_loader.rs index fc8eed00..66123b58 100644 --- a/crates/shirabe/src/package/loader/validating_array_loader.rs +++ b/crates/shirabe/src/package/loader/validating_array_loader.rs @@ -7,7 +7,7 @@ use crate::package::version::VersionParser; use crate::package::{STABILITIES, SUPPORTED_LINK_TYPES}; use crate::repository::PlatformRepository; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::Preg; +use shirabe_pcre::Preg; use shirabe_php_shim::{ CmpOp, E_USER_DEPRECATED, PHP_EOL, PhpMixed, array_intersect_key, array_values, filter_var_email, get_debug_type, is_array, is_bool, is_int, is_numeric, is_scalar, is_string, diff --git a/crates/shirabe/src/package/locker.rs b/crates/shirabe/src/package/locker.rs index 3b20704a..67b2d5b4 100644 --- a/crates/shirabe/src/package/locker.rs +++ b/crates/shirabe/src/package/locker.rs @@ -24,8 +24,8 @@ use crate::repository::RootPackageRepository; use crate::util::Git as GitUtil; use crate::util::ProcessExecutor; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_external_packages::seld::json_lint::ParsingException; +use shirabe_pcre::{CaptureKey, Preg}; use shirabe_php_shim::Catch as _; use shirabe_php_shim::{ DATE_RFC3339, LogicException, PhpMixed, RuntimeException, array_intersect, array_keys, diff --git a/crates/shirabe/src/package/package.rs b/crates/shirabe/src/package/package.rs index 0f1e7d23..ee1a5e10 100644 --- a/crates/shirabe/src/package/package.rs +++ b/crates/shirabe/src/package/package.rs @@ -10,7 +10,7 @@ use crate::repository::RepositoryInterfaceWeakHandle; use crate::util::ComposerMirror; use chrono::{DateTime, Utc}; use indexmap::{IndexMap, IndexSet}; -use shirabe_external_packages::composer::pcre::Preg; +use shirabe_pcre::Preg; use shirabe_php_shim::{ E_USER_DEPRECATED, LogicException, PhpMixed, php_regex, strpos, trigger_error, }; @@ -433,13 +433,9 @@ impl Package { // dist URL never carries more than one SHA reference. self.set_dist_url(Some(Preg::replace_callback( php_regex!("{(/|sha=)[a-f0-9]{40}(/|$)}i"), - |m: &indexmap::IndexMap< - shirabe_external_packages::composer::pcre::CaptureKey, - String, - >| - -> String { + |m: &indexmap::IndexMap| -> String { let get = |i: usize| -> String { - m.get(&shirabe_external_packages::composer::pcre::CaptureKey::ByIndex(i)) + m.get(&shirabe_pcre::CaptureKey::ByIndex(i)) .cloned() .unwrap_or_default() }; diff --git a/crates/shirabe/src/package/version/version_bumper.rs b/crates/shirabe/src/package/version/version_bumper.rs index cd52e9a4..c0e76520 100644 --- a/crates/shirabe/src/package/version/version_bumper.rs +++ b/crates/shirabe/src/package/version/version_bumper.rs @@ -6,7 +6,7 @@ use crate::package::loader::ArrayLoader; use crate::package::version::VersionParser; use crate::util::Platform; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; +use shirabe_pcre::{CaptureKey, Preg}; use shirabe_php_shim::php_regex; use shirabe_semver::Intervals; use shirabe_semver::constraint::AnyConstraint; diff --git a/crates/shirabe/src/package/version/version_guesser.rs b/crates/shirabe/src/package/version/version_guesser.rs index 1968ff11..ff7c6b9b 100644 --- a/crates/shirabe/src/package/version/version_guesser.rs +++ b/crates/shirabe/src/package/version/version_guesser.rs @@ -12,7 +12,7 @@ use crate::util::ProcessExecutor; use crate::util::Svn as SvnUtil; use crate::util::sync_executor; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; +use shirabe_pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ PHP_INT_MAX, PhpMixed, RuntimeException, array_keys, array_map, array_merge, empty, function_exists, implode, is_string, json_encode, php_regex, preg_quote, str_replace, strlen, diff --git a/crates/shirabe/src/package/version/version_parser.rs b/crates/shirabe/src/package/version/version_parser.rs index 4aecc834..c16583e0 100644 --- a/crates/shirabe/src/package/version/version_parser.rs +++ b/crates/shirabe/src/package/version/version_parser.rs @@ -2,7 +2,7 @@ use crate::repository::PlatformRepository; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::Preg; +use shirabe_pcre::Preg; use shirabe_php_shim::php_regex; use shirabe_semver::Semver; use shirabe_semver::VersionParser as SemverVersionParser; diff --git a/crates/shirabe/src/package/version/version_selector.rs b/crates/shirabe/src/package/version/version_selector.rs index 733f342d..775aadc5 100644 --- a/crates/shirabe/src/package/version/version_selector.rs +++ b/crates/shirabe/src/package/version/version_selector.rs @@ -16,7 +16,7 @@ use crate::repository::PlatformRepository; use crate::repository::RepositoryInterface; use crate::repository::RepositorySetInterface; use indexmap::IndexMap; -use shirabe_external_packages::composer::pcre::Preg; +use shirabe_pcre::Preg; use shirabe_php_shim::{ CmpOp, PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, php_regex, strtolower, version_compare, -- cgit v1.3.1-4-g156e