Skip to content

Commit ecdabd3

Browse files
Merge pull request #54 from laravel-shift/l11-compatibility
Laravel 11.x Compatibility
2 parents 6a47c9d + 26b307a commit ecdabd3

14 files changed

+75
-58
lines changed

.github/workflows/tests.yml

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,53 +6,61 @@ on:
66
- main
77

88
pull_request:
9-
types: [opened, synchronize, reopened]
9+
types: [ opened, synchronize, reopened ]
1010

1111
jobs:
1212
test:
1313
runs-on: ubuntu-latest
14-
if: "!contains(github.event.head_commit.message, 'ci skip')"
1514
strategy:
1615
fail-fast: false
1716
matrix:
18-
php: [ 7.3, 7.4, 8.0, 8.1 ]
19-
laravel: [ 8.*, 9.* , 10.*]
20-
dependency-version: [ prefer-lowest, prefer-stable ]
17+
php: ['8.0', '8.1', '8.2', '8.3']
18+
laravel: ['8.*', '9.*', '10.*', '11.*']
19+
dependency-version: [prefer-lowest, prefer-stable]
2120
include:
21+
- laravel: 8.*
22+
testbench: 6.*
23+
- laravel: 9.*
24+
testbench: 7.*
2225
- laravel: 10.*
2326
testbench: 8.*
27+
- laravel: 11.*
28+
testbench: 9.*
2429

30+
exclude:
2531
- laravel: 8.*
26-
testbench: 6.*
32+
php: 8.1
33+
dependency-version: prefer-lowest
34+
- laravel: 8.*
35+
php: 8.2
36+
dependency-version: prefer-lowest
37+
- laravel: 8.*
38+
php: 8.3
39+
dependency-version: prefer-lowest
2740

2841
- laravel: 9.*
29-
testbench: 7.*
42+
php: 8.2
43+
dependency-version: prefer-lowest
44+
- laravel: 9.*
45+
php: 8.3
46+
dependency-version: prefer-lowest
3047

31-
exclude:
32-
- laravel: 10.*
33-
php: 7.3
34-
- laravel: 10.*
35-
php: 7.4
3648
- laravel: 10.*
3749
php: 8.0
38-
- laravel: 9.*
39-
php: 7.3
4050

41-
- laravel: 9.*
42-
php: 7.4
43-
44-
- laravel: 8.*
51+
- laravel: 11.*
52+
php: 8.0
53+
- laravel: 11.*
4554
php: 8.1
46-
dependency-version: prefer-lowest
4755

4856
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
4957

5058
steps:
5159
- name: Checkout code
52-
uses: actions/checkout@v2
60+
uses: actions/checkout@v4
5361

5462
- name: Cache dependencies
55-
uses: actions/cache@v2
63+
uses: actions/cache@v4
5664
with:
5765
path: ~/.composer/cache/files
5866
key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
@@ -74,13 +82,20 @@ jobs:
7482
- name: Execute tests
7583
run: vendor/bin/phpunit
7684

77-
- name: Execute tests
78-
if: "! startsWith(matrix.laravel, '9.')"
79-
run: vendor/bin/phpunit
80-
81-
- name: Install Livewire V2
85+
- name: Install Livewire V2 (Below Laravel 11.0)
86+
if: "! startsWith(matrix.laravel, '11.')"
8287
run: |
8388
composer require "livewire/livewire:^2.3.10" -W --${{ matrix.dependency-version }} --no-interaction
8489
85-
- name: Execute tests
90+
- name: Test with Livewire V2
91+
if: "! startsWith(matrix.laravel, '11.')"
8692
run: vendor/bin/phpunit
93+
94+
- name: Install Livewire V3 (Above Laravel 9.0)
95+
if: "! startsWith(matrix.laravel, '8.') && ! startsWith(matrix.laravel, '9.')"
96+
run: |
97+
composer require "livewire/livewire:^3" -W --${{ matrix.dependency-version }} --no-interaction
98+
99+
- name: Test with Livewire V3
100+
if: "! startsWith(matrix.laravel, '8.') && ! startsWith(matrix.laravel, '9.')"
101+
run: vendor/bin/phpunit

composer.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@
1717
],
1818
"require": {
1919
"php": "^7.3|^8.0",
20-
"illuminate/support": "^8.0|^9.0|^10.0",
21-
"illuminate/console": "^8.0|^9.0|^10.0",
22-
"illuminate/http": "^8.0|^9.0|^10.0",
23-
"illuminate/cache": "^8.0|^9.0|^10.0",
24-
"illuminate/view": "^8.0|^9.0|^10.0",
20+
"illuminate/support": "^8.0|^9.0|^10.0|^11.0",
21+
"illuminate/console": "^8.0|^9.0|^10.0|^11.0",
22+
"illuminate/http": "^8.0|^9.0|^10.0|^11.0",
23+
"illuminate/cache": "^8.0|^9.0|^10.0|^11.0",
24+
"illuminate/view": "^8.0|^9.0|^10.0|^11.0",
2525
"guzzlehttp/guzzle": "^7.2",
2626
"ramsey/uuid": "^3.7|^4.0"
2727
},
2828
"require-dev": {
29-
"orchestra/testbench": "^5.0|^6.0|^7.0",
29+
"orchestra/testbench": "^5.0|^6.0|^7.0|^9.0",
3030
"mockery/mockery": "^1.3.3",
31-
"phpunit/phpunit": "^8.5.23|^9.5"
31+
"phpunit/phpunit": "^8.5.23|^9.5|^10.5"
3232
},
3333
"autoload": {
3434
"psr-4": {

src/Middleware/RenderTorchlight.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,18 @@ protected function handleLivewireRequest(JsonResponse $response)
4747

4848
$data = $response->getData();
4949

50-
$html = BladeManager::renderContent(data_get($data, 'effects.html'));
50+
if (data_get($data, 'effects.html')) {
51+
// Livewire v2
52+
$html = BladeManager::renderContent(data_get($data, 'effects.html'));
5153

52-
data_set($data, 'effects.html', $html);
54+
data_set($data, 'effects.html', $html);
55+
} else {
56+
// Livewire v3
57+
foreach (data_get($data, 'components.*.effects.html') as $componentIndex => $componentHtml) {
58+
$html = BladeManager::renderContent($componentHtml);
59+
data_set($data, "components.$componentIndex.effects.html", $html);
60+
}
61+
}
5362

5463
return $response->setData($data);
5564
}

tests/BaseTest.php renamed to tests/BaseTestCase.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
use Orchestra\Testbench\TestCase;
1717
use Torchlight\TorchlightServiceProvider;
1818

19-
abstract class BaseTest extends TestCase
19+
abstract class BaseTestCase extends TestCase
2020
{
2121
protected $apiFaked = false;
2222

tests/BlockTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use Torchlight\Block;
99
use Torchlight\Torchlight;
1010

11-
class BlockTest extends BaseTest
11+
class BlockTest extends BaseTestCase
1212
{
1313
/** @test */
1414
public function it_dedents_code()

tests/ClientTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
use Torchlight\Client;
1313
use Torchlight\Torchlight;
1414

15-
class ClientTest extends BaseTest
15+
class ClientTest extends BaseTestCase
1616
{
1717
public function getEnvironmentSetUp($app)
1818
{

tests/ClientTimeoutTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use Torchlight\Exceptions\RequestException;
1010
use Torchlight\Torchlight;
1111

12-
class ClientTimeoutTest extends BaseTest
12+
class ClientTimeoutTest extends BaseTestCase
1313
{
1414
public function getEnvironmentSetUp($app)
1515
{

tests/CustomizationTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use Illuminate\Support\Facades\Cache;
1010
use Torchlight\Torchlight;
1111

12-
class CustomizationTest extends BaseTest
12+
class CustomizationTest extends BaseTestCase
1313
{
1414
public function getEnvironmentSetUp($app)
1515
{

tests/DualThemeTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use Illuminate\Support\Facades\View;
1010
use Torchlight\Middleware\RenderTorchlight;
1111

12-
class DualThemeTest extends BaseTest
12+
class DualThemeTest extends BaseTestCase
1313
{
1414
public function getEnvironmentSetUp($app)
1515
{

tests/FindIdsTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use Torchlight\Block;
99
use Torchlight\Torchlight;
1010

11-
class FindIdsTest extends BaseTest
11+
class FindIdsTest extends BaseTestCase
1212
{
1313
/** @test */
1414
public function it_will_find_all_the_ids()

tests/LivewireTest.php

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,18 @@
99
use Livewire\Livewire;
1010
use Torchlight\Middleware\RenderTorchlight;
1111

12-
class LivewireTest extends BaseTest
12+
class LivewireTest extends BaseTestCase
1313
{
1414
/** @test */
15-
public function livewire_2_registers_a_middleware()
15+
public function livewire_registers_a_middleware()
1616
{
1717
// Check for the Livewire Facade.
1818
if (!class_exists('\\Livewire\\Livewire')) {
1919
return $this->markTestSkipped('Livewire not installed.');
2020
}
2121

22-
$version = InstalledVersions::getVersion('livewire/livewire');
23-
24-
if (version_compare($version, '2.0.0', '>=')) {
25-
$this->assertTrue(in_array(
26-
RenderTorchlight::class,
27-
Livewire::getPersistentMiddleware()
28-
));
29-
} else {
30-
$this->markTestSkipped('Livewire 1 cannot register middleware.');
31-
}
22+
$this->assertTrue(in_array(
23+
RenderTorchlight::class, Livewire::getPersistentMiddleware()
24+
));
3225
}
3326
}

tests/MiddlewareAndComponentTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use Torchlight\Blade\BladeManager;
1212
use Torchlight\Middleware\RenderTorchlight;
1313

14-
class MiddlewareAndComponentTest extends BaseTest
14+
class MiddlewareAndComponentTest extends BaseTestCase
1515
{
1616
public function getEnvironmentSetUp($app)
1717
{

tests/PostProcessorTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use Torchlight\PostProcessors\SimpleSwapProcessor;
1212
use Torchlight\Torchlight;
1313

14-
class PostProcessorTest extends BaseTest
14+
class PostProcessorTest extends BaseTestCase
1515
{
1616
public function getEnvironmentSetUp($app)
1717
{

tests/RealClientTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use Illuminate\Support\Facades\View;
1010
use Torchlight\Middleware\RenderTorchlight;
1111

12-
class RealClientTest extends BaseTest
12+
class RealClientTest extends BaseTestCase
1313
{
1414
public function getEnvironmentSetUp($app)
1515
{

0 commit comments

Comments
 (0)