TL;DR
- Upstream
rappasoft/laravel-livewire-tablesLivewire 4 desteğiniwontfixolarak işaretledi, bu yüzden bir fork oluşturdum. - Fork artık Laravel 13’ü hedef alıyor (12’yi koruyor), Livewire 4’te çalışıyor ve Livewire 3’ü kaldırıyor.
- Testler Pest 4’e taşındı (eski PHPUnit sınıfları hala uyumlu çalışıyor) ve bir Testbench Workbench demo uygulaması mevcut.
- Önemli Not: Bir upstream ‘hayır’ dediğinde, fork oluşturmak iyi bir seçenek — ama test altyapısını da beraberinde getirmeyi unutmayın.
<h2>
<a name="why-fork-at-all" href="#why-fork-at-all"></a>
Neden Fork Oluşturmalı?
</h2>
<p>Bu pakete projelerde yaslanıyorum: Livewire için sıralanabilir, aranabilir, filtrelenebilir tablolar. Sorun şu: upstream <a href="https://github.com/rappasoft/laravel-livewire-tables/issues/2315" target="_blank" rel="noopener noreferrer">Livewire 4 desteğini reddetti</a> (<code>wontfix</code>) ve Laravel 13'ü yayınlamadı. Livewire 3'e sonsuza dek takılmak istemedim, bu yüzden kendi fork'ımda <a href="https://github.com/cleaniquecoders/laravel-livewire-tables" target="_blank" rel="noopener noreferrer">cleaniquecoders/laravel-livewire-tables</a> için bir v4 hattı başlattım.</p>
<p>Bir fork, satın alma kararı verdiğiniz kiralık bir evi yenilemek gibidir — sadece ona sahip olma taahhüdünüz varsa anlamlıdır. Benim taahhüdüm var, bu yüzden yol haritam GitHub milestone'larında M1-M8'de mevcut.</p>
<h2>
<a name="what-landed-today" href="#what-landed-today"></a>
Bugün Neler Gerçekleşti
</h2>
<div class="table-wrapper-paragraph">
<table>
<thead>
<tr>
<th>Milestone</th>
<th>Değişiklik</th>
</tr>
</thead>
<tbody>
<tr>
<td>M1</td>
<td>Laravel 13 + Livewire 4 desteği; Livewire 3 kaldırıldı.</td>
</tr>
<tr>
<td>M2</td>
<td>Test paketi Pest 4'e taşındı + Testbench işçi demo.</td>
</tr>
<tr>
<td>M3</td>
<td>Upstream hata düzeltme kümesi + regresyon testleri.</td>
</tr>
<tr>
<td>CI</td>
<td>L10/L11 iş akışları yerine v4 matrisini yerleştirme.</td>
</tr>
<tr>
<td>—</td>
<td>Yükseltilmiş araç zinciri altında Pint formatlama geçişi.</td>
</tr>
</tbody>
</table>
</div>
<h2>
<a name="the-constraint-matrix" href="#the-constraint-matrix"></a>
Kısıtlama Matrisi
</h2>
<p>Bağımlılık katmanı yükseldi. İşte öncesi ve sonrası:</p>
<div class="table-wrapper-paragraph">
<table>
<thead>
<tr>
<th></th>
<th>Önce</th>
<th>Sonra</th>
</tr>
</thead>
<tbody>
<tr>
<td>PHP</td>
<td>8.1+</td>
<td>8.2+</td>
</tr>
<tr>
<td>Laravel</td>
<td>10 / 11</td>
<td>12 / 13</td>
</tr>
<tr>
<td>Livewire</td>
<td>3</td>
<td>4 (3 kaldırıldı)</td>
</tr>
<tr>
<td>Testler</td>
<td>PHPUnit</td>
<td>Pest 4 (PHPUnit uyumlu)</td>
</tr>
</tbody>
</table>
</div>
<p>CI, artık çapraz ürün çalıştırıldığı için, herhangi bir kombinasyondaki regresyonlar hızlı bir şekilde ortaya çıkıyor:</p>
<div class="highlight js-code-highlight">
<pre class="highlight yaml"><code><span class="c1"># .github/workflows/ci.yml</span>matrix:
php: [‘8.3′, ‘8.4′, ‘8.5′]
laravel: [‘12.‘, ‘13.‘]
# …
– run: composer require “laravel/framework:${{ matrix.laravel }}” –no-interaction –no-update
– run: vendor/bin/pest –no-coverage
<h2>
<a name="pest-without-a-bigbang-rewrite" href="#pest-without-a-bigbang-rewrite"></a>
Büyük Yeniden Yazım Olmadan Pest
</h2>
<p>Testleri migrasyon etmenin püf noktası <em>hepsini birden yeniden yazmamaktır</em>. Pest, sınıf tabanlı PHPUnit testlerini, uyum katmanı aracılığıyla değiştirilmeden çalıştırır, böylece mevcut <code>test_*</code> yöntemleri geçmeye devam ederken yeni testler Pest'e özgü olarak yazılabilir.</p>
<p>Bağlantı <code>tests/Pest.php</code> içinde bir satırdadır:<br/></p>
<div class="highlight js-code-highlight">
<pre class="highlight php"><code><span class="nf">uses</span><span class="p">(</span><span class="nc">TestCase</span><span class="o">::</span><span class="n">class</span><span class="p">)</span><span class="o">-></span><span class="nf">in</span><span class="p">(</span><span class="s1">'Unit'</span><span class="p">,</span> <span class="s1">'Visuals'</span><span class="p">,</span> <span class="s1">'Feature'</span><span class="p">);</span>

