diff --git a/.github/workflows/pest.yml b/.github/workflows/pest.yml index ff7daf2a..1d3f7aa9 100644 --- a/.github/workflows/pest.yml +++ b/.github/workflows/pest.yml @@ -2,27 +2,26 @@ name: Pest on: push: - branches: [main] + branches: + - main + - '*.x' pull_request: - branches: [main] jobs: test: - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest + strategy: fail-fast: true matrix: - os: [ubuntu-latest] - php: [8.2, 8.3] - laravel: [10.*, 11.*] + php: [8.2, 8.3, 8.4] + laravel: [10, 11, 12] stability: [prefer-lowest, prefer-stable] - include: - - laravel: 10.* - testbench: 8.* - - laravel: 11.* - testbench: 9.* + exclude: + - php: 8.4 + laravel: 10 - name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }} + name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} steps: - name: Checkout code @@ -33,7 +32,8 @@ jobs: with: php-version: ${{ matrix.php }} extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo - coverage: pcov + coverage: xdebug + ini-values: xdebug.mode=coverage - name: Setup problem matchers run: | @@ -42,7 +42,7 @@ jobs: - name: Install dependencies run: | - composer require "laravel/framework:${{ matrix.laravel }}" --${{ matrix.stability }} --prefer-dist --no-interaction + composer update --prefer-dist --no-interaction --no-progress --with="illuminate/contracts:^${{ matrix.laravel }}" - name: List Installed Dependencies run: composer show -D diff --git a/composer.json b/composer.json index 812c74bb..ae23665a 100644 --- a/composer.json +++ b/composer.json @@ -16,21 +16,21 @@ } ], "require": { - "php": "^8.2|^8.3", - "illuminate/contracts": "^10.0|^11.0", + "php": "^8.2|^8.3|^8.4", + "illuminate/contracts": "^10.48.4|^11.0.8|^12.0", "nikic/php-parser": "^5.4", - "spatie/laravel-data": "^3.3", + "spatie/laravel-data": "^4.13.0", "spatie/laravel-package-tools": "^1.14.0" }, "require-dev": { "infection/infection": "^0.29.6", "laravel/pint": "^1.0", - "larastan/larastan": "^2.0", - "orchestra/testbench": "^8.0|^9.0", - "pestphp/pest": "^2.34", - "pestphp/pest-plugin-arch": "^2.7", - "pestphp/pest-plugin-laravel": "^2.4", - "pestphp/pest-plugin-type-coverage": "^2.8" + "larastan/larastan": "^3.1.0", + "orchestra/testbench": "^8.23.1|^9.0|^10.0", + "pestphp/pest": "^3.0", + "pestphp/pest-plugin-arch": "^3.0", + "pestphp/pest-plugin-laravel": "^3.0", + "pestphp/pest-plugin-type-coverage": "^3.0" }, "autoload": { "psr-4": { diff --git a/src/Transformers/ModelTransformer.php b/src/Transformers/ModelTransformer.php index dc26b2c7..afff2926 100644 --- a/src/Transformers/ModelTransformer.php +++ b/src/Transformers/ModelTransformer.php @@ -6,6 +6,7 @@ use Spatie\LaravelData\Support\DataProperty; use Spatie\LaravelData\Transformers\Transformer; +use Spatie\LaravelData\Support\Transformation\TransformationContext; /** * Class ModelTransformer. @@ -23,7 +24,7 @@ class ModelTransformer implements Transformer * * @return mixed The transformed value. */ - public function transform(DataProperty $property, mixed $value): mixed + public function transform(DataProperty $property, mixed $value, TransformationContext $context): mixed { return $value->id; }