aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
3 daysfix(package): port every PHP clone operator to handle dup()HEADmainnsfisis
3 daysfeat(resolver): construct alias packages from handles in pool/installernsfisis
3 daysfeat(installer): downcast UpdateOperation in download/execute batchesnsfisis
3 daysfeat(resolver): wire url/mirror setters in update_mirror_and_urlsnsfisis
6 daysrefactor(repository): introduce typed LockArrayRepositoryHandlensfisis
Share LockArrayRepository via Rc<RefCell<_>> while preserving the PHP ?LockArrayRepository type strength: Request.locked_repository, Locker ::get_locked_repository, and the installer create_* helpers now thread the typed handle instead of an owned LockArrayRepository, and pool builder identity check becomes a strict ptr_eq via widening into RepositoryInterfaceHandle. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6 daysrefactor(io): unify IOInterface params to Rc<RefCell<dyn _>>nsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6 daysfeat: resolve TODOs unblocked by package handle get_repositorynsfisis
PackageInterfaceHandle::get_repository and handle upcasts have been available since the recent Rc<RefCell<_>> handle refactors; wire them at sites still carrying TODO(phase-c) markers. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6 daysrefactor(repository): introduce Rc<RefCell<_>> handles for repositoriesnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 daysrefactor(package): pass package handles by value throughoutnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 daysfeat(factory): construct PluginManager after Rc::new_cyclicnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 daysrefactor(io): share IOInterface via Rc<RefCell<dyn _>> handlensfisis
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
10 daysrefactor(package): introduce Rc<RefCell<_>> handles for packagesnsfisis
PHP packages have reference semantics, so introduce shared-ownership handles over an AnyPackage enum (PackageInterfaceHandle and friends) and replace Box<dyn PackageInterface> throughout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
11 daysrefactor(semver): change ConstraintInterface to a closed enumnsfisis
Replace the dyn ConstraintInterface trait objects with an AnyConstraint enum closing over its four implementors (Simple, Multi, MatchAll, MatchNone), mirroring the earlier Rule enum conversion. Rename constraint.rs to simple_constraint.rs to match the renamed Constraint type. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
11 daysrefactor(resolver): change Rule to a closed enumnsfisis
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
11 dayschore: add editor/toolchain confignsfisis
11 daysrefactor(promise): drop \React\Promisensfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
11 daysrefactor(promise): rewrite promise bodies to async/awaitnsfisis
Mechanically convert promise-returning function bodies to async/await: resolve() returns the value directly, forwarding calls get .await, and simple .then chains become await sequences. Also collapse the installer double-Option (Result<Option<Option<PhpMixed>>> -> Result<Option<PhpMixed>>). Hard spots that depend on the Loop::wait / job-machine boundary (accept/reject orchestration, closures capturing &mut self, batch waits) are left intact and marked with TODO(phase-c-promise) for manual porting. The crate does not compile yet; traits still need #[async_trait]. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
11 daysfeat(deps): add tokio, async-traitnsfisis
11 daysrefactor(promise): change functions returning PromiseInterface to async fnnsfisis
13 daysrefactor: share Pool via Rc<RefCell>nsfisis
Convert Pool to Rc<RefCell<Pool>> so Solver, Decisions, and RuleSetGenerator share it, resolving the todo!() placeholders that blocked the dependency resolver (Phase C shared ownership). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
13 daysrefactor(php-shim): remove unnecessary methodsnsfisis
13 daysrefactor(composer): unify Composer/PartialComposer via Rc handlesnsfisis
Model PHP's `Composer extends PartialComposer` as a PartialOrFullComposer enum and merge partial_composer.rs into composer.rs. Introduce ComposerHandle / PartialComposerHandle (plus their Weak variants) so the graph can be shared, and build it at once with Rc::new_cyclic in the factory to resolve the back-reference cycles. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20refactor: re-export module items to shorten import pathsnsfisis
2026-05-20chore: allow unused codensfisis
2026-05-20fix(compile): fix all remaining compile errorsnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19fix(compile): fix more random compile errorsnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19fix(compile): fix various compile errorsnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18fix(compile): extract static methods from BasePackage traitnsfisis
2026-05-18fix(compile): impl std::error::Error for custom error typesnsfisis
2026-05-17fix(compile): use std::sync::LazyLock for global cachensfisis
2026-05-17fix(compile): convert Command struct to traitnsfisis
Symfony Command was a struct but used as dyn Trait (Box<dyn Command>) in console/application.rs. Convert it to a trait with CommandBase as the concrete stub, and add impl Command for all Composer commands.
2026-05-17fix(compile): make Rule trait dyn-compatible by extracting RuleBasensfisis
Removed the static fn new() from the Rule trait (which prevented dyn compatibility) and moved it into a new RuleBase struct.
2026-05-17fix(compile): extract constants from traits to make them dyn-compatiblensfisis
2026-05-17fix(compile): add missing PackageInterface and RepositoryInterface implsnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17fix(compile): remove to_string from impl Rule blocks (E0407)nsfisis
2026-05-17fix(compile): add dyn keyword to all trait object usages (E0782)nsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17fix(compile): fix IOInterface method signature mismatchesnsfisis
- Change write/write_error/write_raw/write_error_raw/overwrite/ overwrite_error/ask/ask_confirmation/ask_and_validate/ ask_and_hide_answer/select to &mut self in trait and NullIO - Change ask-family question params from PhpMixed to String in ConsoleIO, converting to PhpMixed::String internally - Change ConsoleIO::select choices param from PhpMixed to Vec<String> - Fix NullIO::load_configuration to use &mut Config and return Result
2026-05-17fix(compile): align ChangeReportInterface::get_local_changes return typensfisis
2026-05-17fix(compile): add stubs for missing trait implementationsnsfisis
2026-05-17fix(compile): add Display impls and fix trait signaturesnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17fix(compile): add missing use declarations for Command, Composer, ↵nsfisis
IOInterface, etc.
2026-05-17fix(compile): correct module pathsnsfisis
2026-05-17fix(compile): remove duplicate impl BaseCommand blocks with wrong signaturesnsfisis
2026-05-17fix(compile): box PluginManager in Composer to resolve recursive typensfisis
2026-05-17fix(compile): add stubs for missing trait implementationsnsfisis
2026-05-17chore: cargo clippy --fixnsfisis
2026-05-17fix(compile): implement IOInterface and LoggerInterface for ConsoleIOnsfisis
- Move standalone pub fn methods into impl IOInterface for ConsoleIO - Add impl LoggerInterface for ConsoleIO delegating to BaseIO - Fix load_configuration signature to take &mut Config and return Result - Fix index::IndexMap import paths to indexmap::IndexMap in ConsoleIO and NullIO
2026-05-17fix(compile): extract constants from traits to make them dyn-compatiblensfisis
2026-05-17fix(compile): fix trait signature errorsnsfisis
2026-05-17fix(compile): fix infinite size typesnsfisis