Skip to content

Commit 593646b

Browse files
authored
Merge pull request #3 from justbetter/feature/laravel12
Laravel 12 / Nova 5 support
2 parents 12f247a + 0d35aa2 commit 593646b

File tree

7 files changed

+102
-16
lines changed

7 files changed

+102
-16
lines changed

.github/workflows/analyse.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: analyse
2+
3+
on: ['push', 'pull_request']
4+
5+
jobs:
6+
test:
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
fail-fast: true
10+
matrix:
11+
os: [ubuntu-latest]
12+
php: [8.3, 8.4]
13+
laravel: [11.*]
14+
stability: [prefer-stable]
15+
include:
16+
- laravel: 11.*
17+
testbench: 9.*
18+
19+
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }}
20+
21+
steps:
22+
- name: Checkout code
23+
uses: actions/checkout@v4
24+
25+
- name: Setup PHP
26+
uses: shivammathur/setup-php@v2
27+
with:
28+
php-version: ${{ matrix.php }}
29+
extensions: dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
30+
coverage: none
31+
32+
- name: Install dependencies
33+
env:
34+
COMPOSER_AUTH: '{"http-basic":{"nova.laravel.com":{"username":"${{secrets.NOVA_USERNAME}}","password":"${{secrets.NOVA_PASSWORD}}"}}}'
35+
run: |
36+
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
37+
composer update --${{ matrix.stability }} --prefer-dist --no-interaction
38+
- name: Analyse
39+
run: composer analyse

.github/workflows/style.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: style
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
jobs:
8+
style:
9+
name: Style
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
16+
- name: Setup PHP
17+
uses: shivammathur/setup-php@v2
18+
with:
19+
php-version: 8.4
20+
extensions: dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
21+
coverage: none
22+
23+
- name: Install dependencies
24+
env:
25+
COMPOSER_AUTH: '{"http-basic":{"nova.laravel.com":{"username":"${{secrets.NOVA_USERNAME}}","password":"${{secrets.NOVA_PASSWORD}}"}}}'
26+
run: composer install
27+
28+
- name: Style
29+
run: composer fix-style
30+
31+
- name: Commit Changes
32+
uses: stefanzweifel/git-auto-commit-action@v4
33+
with:
34+
commit_message: Fix styling changes

composer.json

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,36 @@
1616
}
1717
],
1818
"require": {
19-
"php": "^8.2",
19+
"php": "^8.3",
20+
"bolechen/nova-activitylog": "^0.5.0",
2021
"justbetter/laravel-magento-customer-prices": "^3.0",
21-
"laravel/nova": "^4.0",
22-
"bolechen/nova-activitylog": "^0.4.0"
22+
"laravel/framework": "^11.0|^12.0",
23+
"laravel/nova": "^5.0"
2324
},
2425
"require-dev": {
25-
"laravel/pint": "^1.16",
26-
"orchestra/testbench": "^9.1",
27-
"phpunit/phpunit": "^11.2",
28-
"larastan/larastan": "^2.9",
29-
"phpstan/phpstan-mockery": "^1.1"
26+
"larastan/larastan": "^3.0",
27+
"laravel/pint": "^1.20",
28+
"orchestra/testbench": "^9.0",
29+
"pestphp/pest": "^3.7",
30+
"phpstan/phpstan-mockery": "^2.0",
31+
"phpunit/phpunit": "^11.5"
3032
},
3133
"autoload": {
3234
"psr-4": {
3335
"JustBetter\\MagentoCustomerPricesNova\\": "src"
3436
}
3537
},
3638
"scripts": {
37-
"analyse": "phpstan",
39+
"analyse": "phpstan --memory-limit=256M",
3840
"style": "pint --test",
3941
"quality": [
42+
"@style",
4043
"@analyse",
41-
"@style"
42-
]
44+
"@test",
45+
"@coverage"
46+
],
47+
"test": "phpunit",
48+
"coverage": "XDEBUG_MODE=coverage php vendor/bin/pest --coverage --min=0"
4349
},
4450
"extra": {
4551
"laravel": {
@@ -49,7 +55,10 @@
4955
}
5056
},
5157
"config": {
52-
"sort-packages": true
58+
"sort-packages": true,
59+
"allow-plugins": {
60+
"pestphp/pest-plugin": true
61+
}
5362
},
5463
"minimum-stability": "stable",
5564
"prefer-stable": true,

src/Nova/Filters/Failed.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
namespace JustBetter\MagentoCustomerPricesNova\Nova\Filters;
44

5+
use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
56
use Illuminate\Database\Eloquent\Builder;
67
use Laravel\Nova\Filters\Filter;
78
use Laravel\Nova\Http\Requests\NovaRequest;
89

910
class Failed extends Filter
1011
{
1112
/** @param Builder $query */
12-
public function apply(NovaRequest $request, $query, $value): Builder
13+
public function apply(NovaRequest $request, EloquentBuilder $query, mixed $value): Builder|EloquentBuilder
1314
{
1415
return match ($value) {
1516
'day' => $query->whereDate('last_failed', '>=', now()->startOfDay()),

src/Nova/Filters/Product.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace JustBetter\MagentoCustomerPricesNova\Nova\Filters;
44

5+
use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
56
use Illuminate\Database\Eloquent\Builder;
67
use Laravel\Nova\Filters\Filter;
78
use Laravel\Nova\Http\Requests\NovaRequest;
@@ -14,7 +15,7 @@ public function __construct()
1415
}
1516

1617
/** @param Builder $query */
17-
public function apply(NovaRequest $request, $query, $value): Builder
18+
public function apply(NovaRequest $request, EloquentBuilder $query, mixed $value): Builder|EloquentBuilder
1819
{
1920
return $query->whereHas('product', function (Builder $query) use ($value): void {
2021
$query->where('exists_in_magento', '=', $value);

src/Nova/Filters/Status.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
namespace JustBetter\MagentoCustomerPricesNova\Nova\Filters;
44

5+
use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
56
use Illuminate\Database\Eloquent\Builder;
67
use Laravel\Nova\Filters\Filter;
78
use Laravel\Nova\Http\Requests\NovaRequest;
89

910
class Status extends Filter
1011
{
1112
/** @param Builder $query */
12-
public function apply(NovaRequest $request, $query, $value): Builder
13+
public function apply(NovaRequest $request, EloquentBuilder $query, mixed $value): Builder|EloquentBuilder
1314
{
1415
return $query->where($value, '=', true);
1516
}

src/Nova/Filters/Sync.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
namespace JustBetter\MagentoCustomerPricesNova\Nova\Filters;
44

5+
use Illuminate\Contracts\Database\Eloquent\Builder as EloquentBuilder;
56
use Illuminate\Database\Eloquent\Builder;
67
use Laravel\Nova\Filters\Filter;
78
use Laravel\Nova\Http\Requests\NovaRequest;
89

910
class Sync extends Filter
1011
{
1112
/** @param Builder $query */
12-
public function apply(NovaRequest $request, $query, $value): Builder
13+
public function apply(NovaRequest $request, EloquentBuilder $query, mixed $value): Builder|EloquentBuilder
1314
{
1415
return $query->where('sync', '=', $value);
1516
}

0 commit comments

Comments
 (0)