aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/installer
AgeCommit message (Collapse)Author
3 daysfix(package): port every PHP clone operator to handle dup()HEADmainnsfisis
3 daysfeat(installer): downcast UpdateOperation in download/execute batchesnsfisis
6 daysrefactor(io): unify IOInterface params to Rc<RefCell<dyn _>>nsfisis
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 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>
12 daysrefactor(promise): drop \React\Promisensfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 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>
12 daysrefactor(promise): change functions returning PromiseInterface to async fnnsfisis
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-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-17fix(compile): extract constants from traits to make them dyn-compatiblensfisis
2026-05-17fix(shirabe): correct invalid import paths and add missing dependencynsfisis
2026-05-17chore(style): cargo fmtnsfisis
2026-05-16feat(port): port InstallationManager.phpnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16feat(port): port BinaryInstaller.phpnsfisis
2026-05-16feat(port): port LibraryInstaller.phpnsfisis
2026-05-16feat(port): port SuggestedPackagesReporter.phpnsfisis
2026-05-16feat(port): port PluginInstaller.phpnsfisis
2026-05-16feat(port): port MetapackageInstaller.phpnsfisis
2026-05-15feat(port): port ProjectInstaller.phpnsfisis
2026-05-15feat(port): port NoopInstaller.phpnsfisis
2026-05-15feat(port): port PackageEvent.phpnsfisis
2026-05-14feat(port): port InstallerEvent.phpnsfisis
2026-05-14feat(port): port PackageEvents.phpnsfisis
2026-05-12feat(port): port BinaryPresenceInterface.phpnsfisis
2026-05-12feat(port): port InstallerEvents.phpnsfisis
2026-05-12feat(init): add scaffold filesnsfisis