Skip to content

Add Laravel 13 support and build on the laravel package skeleton - #1

Merged
hegedustibor merged 3 commits into
mainfrom
chore/laravel-13-package-skeleton
Oct 17, 2026
Merged

hegedustibor merged 3 commits into
mainfrom
chore/laravel-13-package-skeleton

Conversation

@hegedustibor

@hegedustibor hegedustibor commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Mi változott

  • A csomag Laravel 12 és 13 alatt fut, és PHP 8.3-at vagy újabbat igényel.
    • A Laravel 11 és a PHP 8.2 támogatása megszűnt; a Laravel 11 2026 márciusa óta nem kap biztonsági javítást.
    • A kiadás ezért major verzió lesz (v2.0.0).
  • A csomag a Laravel Installer laravel package parancsának vázára (laravel/package-skeleton) épül:
    • ugyanaz a fájlszerkezet, és új composer-szkriptek: composer test, test:unit, analyse, lint;
    • Larastan 7-es szinten, 100%-os típuslefedettség, arch-tesztek, declare(strict_types=1) minden PHP-fájlban;
    • Testbench workbench, AGENTS.md (a CLAUDE.md erre mutat) és a váz agent-skilljei.
  • Új közös publish tag: a php artisan vendor:publish --tag=simplepay egyszerre publikálja a configot és a logókat. A régi simplepay-config és simplepay-assets tag, valamint a célútvonalak nem változtak.
  • A SimplePayApiException mostantól megőrzi az API teljes válaszát (getResponseData()).
    • Eddig ez elveszett, így kártyatárolásos és AutoPayment fizetésnél a 3DS challenge redirectUrl-je sem volt elérhető (3004-es hibakód).
    • A README-ben példa mutatja a kezelését.
  • Új CI-mátrix:
    • Ubuntu és Windows × PHP 8.3–8.5 × Laravel 12–13 × prefer-lowest/prefer-stable;
    • mellette Dependabot, és a GitHub-release után workflow frissíti a CHANGELOG-ot.

Ellenőrzés

  • A composer test (Larastan, Pint, típuslefedettség, Pest: 78 teszt) zöld PHP 8.4-en, Laravel 13.37 / Testbench 11.3 / Pest 5.3 mellett.
  • Külön másolatban zöld:
    • Laravel 12 prefer-lowest (12.69, Pest 4.6);
    • Laravel 12 prefer-stable (12.70);
    • Laravel 13 prefer-lowest (13.30, Pest 4.6).
  • A független review (reviewer agent) komoly hibát nem talált.
    • Egy strict types-kockázatot jelzett: a start-válasz szöveges transactionId-je TypeError-t dobott volna.
    • Ezt elbukó teszttel együtt javítottam.
  • Nem ellenőriztem:
    • PHP 8.3-at és 8.5-öt, valamint Windowst; ezeket az első CI-futás mutatja meg;
    • valódi SimplePay sandbox-hívást, mert a tesztek HTTP-fake-kel futnak.

Megjegyzések a review-hoz

  • A diff nagy része gépies: a Pint declare_strict_types szabálya és a váz fájljai.
  • A tényleges kódváltozások:
    • SimplePayServiceProvider: publish tagek és a public/ asset-útvonal;
    • SimplePayApiException::getResponseData();
    • PaymentResponse: int-cast;
    • JSON_THROW_ON_ERROR a Client-ben és a webhookban;
    • docblockok.
  • A logók a váz szerint a resources/assets mappából a public/ alá kerültek. A fájlok nem változtak, és a publikálás célja ugyanaz.
  • A .gitattributes miatt a tests, a workbench, az art, az official-docs és az agent-fájlok nem kerülnek a Composer-csomagba.
  • A váz a laravel package folyamatával készült a következő elemekkel: config, routes, facade, assets, Boost skill, Dependabot, issue-sablon, changelog és security policy. A FUNDING.yml kimaradt.
  • Az első kiadás előtt kézi lépések kellenek a GitHubon:
    • létre kell hozni a release-notes címkéket: breaking, enhancement, bug, documentation, dependencies, maintenance, skip-changelog, duplicate;
    • ha a main védett, az update-changelog workflow-nak pusholási jog kell.
  • A Google Pay-t és a SimplePay 2026-os SDK-változásait egy második PR hozza, amely erre a branchre épül.

…port

- Adopt laravel/package-skeleton, the base of the `laravel package`
  installer command: composer scripts, Larastan level 7, Pest type
  coverage and arch tests, strict types, Pint rules, Testbench workbench,
  CI matrix, release notes and changelog automation, AGENTS.md and the
  local agent skills
- Require PHP ^8.3 and Laravel 12 or 13; Laravel 11 no longer receives
  security fixes
- Move the logo assets to public/ and add the `simplepay` publish group
  tag; the publish targets stay the same
- Keep the API response on SimplePayApiException (getResponseData()), so
  the redirectUrl of a 3DS challenge (3004) is no longer lost
- Throw on JSON encoding failures instead of signing `false`
Strict types no longer coerce "123456" to int, so cast it explicitly like the other response DTOs do.
@hegedustibor hegedustibor changed the title Laravel 13 támogatás és átállás a laravel package vázra Add Laravel 13 support and build on the laravel package skeleton Oct 17, 2026
Larastan 3.9.x allows PHPStan 2.2, but crashes with it (FunctionCallParametersCheck::check() gained parameters). The prefer-lowest Windows lane resolved exactly that pair; Larastan 3.10 is the first release built for PHPStan 2.2.
@hegedustibor
hegedustibor merged commit 5202ea3 into main Oct 17, 2026
24 checks passed
@hegedustibor
hegedustibor deleted the chore/laravel-13-package-skeleton branch October 17, 2026 22:19
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.

1 participant