Skip to content

Modernise to Livewire 4: replace legacy getXProperty() and $listeners#108

Merged
SimonBarrettACT merged 1 commit intomainfrom
feature/issue-107-livewire4-modernise
Mar 7, 2026
Merged

Modernise to Livewire 4: replace legacy getXProperty() and $listeners#108
SimonBarrettACT merged 1 commit intomainfrom
feature/issue-107-livewire4-modernise

Conversation

@SimonBarrettACT
Copy link
Member

Summary

  • Replace getRowsQueryProperty()/getRowsProperty() with #[Computed] attributes in TableBuilder and QueryBuilder
  • Replace $listeners array with #[On('refreshTable')] attribute in both classes
  • Fix ArchTest broken toBeUsed() assertion for Pest 3 compatibility
  • Simplify CI workflow from 8-combination matrix (2 OSes, 2 PHP versions, 2 stability modes targeting outdated Laravel 10) to a single Ubuntu + PHP 8.2 run

Closes #107

Test plan

  • All tests pass locally (vendor/bin/pest --ci)
  • PHPStan error count unchanged (22 pre-existing errors)
  • CI workflow passes on GitHub

Breaking change: Consuming apps that override getRowsQueryProperty() or getRowsProperty() must switch to #[Computed] public function rowsQuery() / rows().

🤖 Generated with Claude Code

- Replace getRowsQueryProperty()/getRowsProperty() with #[Computed] attributes
- Replace $listeners array with #[On('refreshTable')] attribute
- Fix ArchTest broken toBeUsed() assertion for Pest 3 compatibility
- Simplify CI workflow to single PHP 8.2 run matching actual requirements

Closes #107

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@SimonBarrettACT SimonBarrettACT merged commit ba2791f into main Mar 7, 2026
3 checks passed
@SimonBarrettACT SimonBarrettACT deleted the feature/issue-107-livewire4-modernise branch March 7, 2026 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Modernise to Livewire 4: replace legacy getXProperty() and $listeners patterns

1 participant