From 45929d5f3214704f34539e33782cb98cd3790f15 Mon Sep 17 00:00:00 2001 From: lotyp Date: Tue, 8 Aug 2023 19:00:29 +0300 Subject: [PATCH 1/2] feat: initial commit --- .github/workflows/create-release.yml | 2 +- CHANGELOG.md | 851 --- Makefile | 4 +- README.md | 14 +- composer.json | 25 +- composer.lock | 4808 +++++++++++------ config/package.php | 7 - config/stripe-webhooks.php | 56 + package.json | 4 +- .../Controllers/StripeWebhooksController.php | 42 + .../Laravel/Jobs/ProcessStripeWebhookJob.php | 54 + .../Providers/PackageServiceProvider.php | 26 - .../StripeWebhooksServiceProvider.php | 37 + src/Exceptions/WebhookFailed.php | 28 + src/Profile/StripeWebhookProfile.php | 29 + .../StripeSignatureValidator.php | 32 + tests/app/Jobs/DummyJob.php | 20 + tests/database/migrations/cycle/.gitignore | 1 + .../StripeWebhooksControllerTest.php} | 0 tests/src/IntegrationTest.php | 255 + tests/src/Pest.php | 2 +- tests/src/StripeWebhookCallTest.php | 154 + tests/src/TestCase.php | 93 +- 23 files changed, 4009 insertions(+), 2535 deletions(-) delete mode 100644 CHANGELOG.md delete mode 100644 config/package.php create mode 100644 config/stripe-webhooks.php create mode 100644 src/Bridge/Laravel/Http/Controllers/StripeWebhooksController.php create mode 100644 src/Bridge/Laravel/Jobs/ProcessStripeWebhookJob.php delete mode 100644 src/Bridge/Laravel/Providers/PackageServiceProvider.php create mode 100644 src/Bridge/Laravel/Providers/StripeWebhooksServiceProvider.php create mode 100644 src/Exceptions/WebhookFailed.php create mode 100644 src/Profile/StripeWebhookProfile.php create mode 100644 src/SignatureValidator/StripeSignatureValidator.php create mode 100644 tests/app/Jobs/DummyJob.php create mode 100644 tests/database/migrations/cycle/.gitignore rename tests/{app/.gitkeep => src/Bridge/Laravel/Http/Controllers/StripeWebhooksControllerTest.php} (100%) create mode 100644 tests/src/IntegrationTest.php create mode 100644 tests/src/StripeWebhookCallTest.php diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 1783b6a8..545a2486 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -16,7 +16,7 @@ jobs: with: os: ubuntu-latest branch: master - package-name: laravel-package-tpl + package-name: laravel-stripe-webhooks secrets: token: ${{ secrets.PERSONAL_GITHUB_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 9d269e42..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,851 +0,0 @@ -# Changelog - -## [2.1.72](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.71...v2.1.72) (2023-08-08) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.12 ([37d4f87](https://github.com/wayofdev/laravel-package-tpl/commit/37d4f87ec563e0dfab2aca74a73e227019b46ee7)) - -## [2.1.71](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.70...v2.1.71) (2023-08-07) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.12.2 ([262a08a](https://github.com/wayofdev/laravel-package-tpl/commit/262a08ab8c2beffa5868dd0a99cfcf9b910d66fc)) - -## [2.1.70](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.69...v2.1.70) (2023-08-05) - - -### Miscellaneous - -* **deps:** update phpstan packages ([bb1994d](https://github.com/wayofdev/laravel-package-tpl/commit/bb1994da3ad8ede0e4ead5d0bb0d3718d986bca3)) - -## [2.1.69](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.68...v2.1.69) (2023-08-05) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.39 ([87ecbd5](https://github.com/wayofdev/laravel-package-tpl/commit/87ecbd5c9d40560bdeb0c12d0a7ef986041d4deb)) - -## [2.1.68](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.67...v2.1.68) (2023-08-04) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.12.1 ([54ed17c](https://github.com/wayofdev/laravel-package-tpl/commit/54ed17ca7f466584891ce3334110f75f9c51dac6)) - -## [2.1.67](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.66...v2.1.67) (2023-08-04) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.38 ([b1d82b7](https://github.com/wayofdev/laravel-package-tpl/commit/b1d82b7bf091158f188e9317888b3aafa5c6ab19)) - -## [2.1.66](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.65...v2.1.66) (2023-08-04) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.37 ([3774ebc](https://github.com/wayofdev/laravel-package-tpl/commit/3774ebcdf77c131af87992a980dc29a5e72ca344)) - -## [2.1.65](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.64...v2.1.65) (2023-08-03) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.12.0 ([2954ec5](https://github.com/wayofdev/laravel-package-tpl/commit/2954ec51ddd8a874650d371eb2c6de0aa2668615)) - -## [2.1.64](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.63...v2.1.64) (2023-08-02) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.36 ([2d5a235](https://github.com/wayofdev/laravel-package-tpl/commit/2d5a235f7251acb2deac30c6bac01ef00d5ae86b)) - -## [2.1.63](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.62...v2.1.63) (2023-08-01) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.11 ([5885211](https://github.com/wayofdev/laravel-package-tpl/commit/58852112ec48d6f4b7c8795843cddbb5acdcf3a4)) -* **deps:** update dependency pestphp/pest to v2.10.1 ([4e2b16d](https://github.com/wayofdev/laravel-package-tpl/commit/4e2b16da8dd9594a88b55967c19482215a6d57a7)) - -## [2.1.62](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.61...v2.1.62) (2023-07-31) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.10.0 ([667ba60](https://github.com/wayofdev/laravel-package-tpl/commit/667ba60aa365332bb51011a90fcfc8540eed6661)) - -## [2.1.61](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.60...v2.1.61) (2023-07-29) - - -### Miscellaneous - -* **deps:** update dependency nunomaduro/larastan to v2.6.4 ([1200cf9](https://github.com/wayofdev/laravel-package-tpl/commit/1200cf9e938af2aabb2b18504dbfb63ad4951320)) - -## [2.1.60](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.59...v2.1.60) (2023-07-28) - - -### Miscellaneous - -* **deps:** update dependency ergebnis/composer-normalize to v2.34.0 ([bcf87eb](https://github.com/wayofdev/laravel-package-tpl/commit/bcf87eb226482f5bd13248644e2a226f459df2d1)) - -## [2.1.59](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.58...v2.1.59) (2023-07-28) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.35 ([2957f37](https://github.com/wayofdev/laravel-package-tpl/commit/2957f373a7cd39a74c60e9b57040e39b2c54f3e9)) - -## [2.1.58](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.57...v2.1.58) (2023-07-25) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.10 ([8293a22](https://github.com/wayofdev/laravel-package-tpl/commit/8293a22a45ac070686276f749754e4375ef2a08b)) - -## [2.1.57](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.56...v2.1.57) (2023-07-24) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.9.5 ([441b23a](https://github.com/wayofdev/laravel-package-tpl/commit/441b23a1f27f776f10caf4800a83a2efdd59e378)) - -## [2.1.56](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.55...v2.1.56) (2023-07-24) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.9.4 ([f33a52b](https://github.com/wayofdev/laravel-package-tpl/commit/f33a52bcb90960ad5bd02f6215fd98d813d0992b)) - -## [2.1.55](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.54...v2.1.55) (2023-07-20) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.9.0 ([9c7d1e9](https://github.com/wayofdev/laravel-package-tpl/commit/9c7d1e99217f636603f91ebd499b8723cc597c32)) - -## [2.1.54](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.53...v2.1.54) (2023-07-19) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.26 ([3e64f1d](https://github.com/wayofdev/laravel-package-tpl/commit/3e64f1d0c2970664973fd9737e3bbc1051ca17c7)) - -## [2.1.53](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.52...v2.1.53) (2023-07-19) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.34 ([7c775f4](https://github.com/wayofdev/laravel-package-tpl/commit/7c775f4f1650224edec7929c82a4dc08730a3d18)) - -## [2.1.52](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.51...v2.1.52) (2023-07-19) - - -### Miscellaneous - -* **deps:** update dependency phpunit/phpunit to v10.2.6 ([bdcf1de](https://github.com/wayofdev/laravel-package-tpl/commit/bdcf1decfa2cfb3d7fbcbf8056f1c536f7b54034)) - -## [2.1.51](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.50...v2.1.51) (2023-07-17) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.33 ([f1910bc](https://github.com/wayofdev/laravel-package-tpl/commit/f1910bcecb7923a6630e4797f09b628496350ad9)) - -## [2.1.50](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.49...v2.1.50) (2023-07-17) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.32 ([83d2340](https://github.com/wayofdev/laravel-package-tpl/commit/83d2340fc3c6b2d1bc392e08f4b724638a0b438a)) - -## [2.1.49](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.48...v2.1.49) (2023-07-16) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.31 ([88666c0](https://github.com/wayofdev/laravel-package-tpl/commit/88666c04b6ff81f49e6940584e0aa92c738ec21a)) - -## [2.1.48](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.47...v2.1.48) (2023-07-14) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.30 ([c5526ff](https://github.com/wayofdev/laravel-package-tpl/commit/c5526ffed18c351b2355629a9bde0299afe205c8)) - -## [2.1.47](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.46...v2.1.47) (2023-07-12) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.8.2 ([c06805c](https://github.com/wayofdev/laravel-package-tpl/commit/c06805c83882b04ad1f2dadf0b6cfa2a4fad68dd)) - -## [2.1.46](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.45...v2.1.46) (2023-07-11) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.9 ([8314111](https://github.com/wayofdev/laravel-package-tpl/commit/831411114a93115ad58d2e85fd2f398f840a0114)) - -## [2.1.45](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.44...v2.1.45) (2023-07-10) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.29 ([3e3956c](https://github.com/wayofdev/laravel-package-tpl/commit/3e3956c9ddd744a40d300e20e4e3ab082e41e262)) - -## [2.1.44](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.43...v2.1.44) (2023-07-09) - - -### Miscellaneous - -* **deps:** update dependency ergebnis/composer-normalize to v2.33.0 ([7d4716f](https://github.com/wayofdev/laravel-package-tpl/commit/7d4716fb7a6475cd6af787861c5a6cc0a8bf30ca)) - -## [2.1.43](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.42...v2.1.43) (2023-07-09) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.28 ([8e87ab2](https://github.com/wayofdev/laravel-package-tpl/commit/8e87ab228095b9a9029d768d466ee08547754ae0)) - -## [2.1.42](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.41...v2.1.42) (2023-07-06) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.27 ([484328d](https://github.com/wayofdev/laravel-package-tpl/commit/484328db44c90521d5569750561ad785ddd41a47)) - -## [2.1.41](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.40...v2.1.41) (2023-07-06) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.25 ([9445968](https://github.com/wayofdev/laravel-package-tpl/commit/9445968ba23e6398842061f99b98c809668edbd0)) - -## [2.1.40](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.39...v2.1.40) (2023-07-05) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.26 ([43f5248](https://github.com/wayofdev/laravel-package-tpl/commit/43f524810e12a94596f70cc74c4c532bb955f8f0)) - -## [2.1.39](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.38...v2.1.39) (2023-07-05) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.25 ([28634b4](https://github.com/wayofdev/laravel-package-tpl/commit/28634b4d96a6ab0b2df49e877de8420c7a0920fe)) - -## [2.1.38](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.37...v2.1.38) (2023-07-05) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.24 ([ddc7d02](https://github.com/wayofdev/laravel-package-tpl/commit/ddc7d02502383d89d302255816ba621e83577063)) - -## [2.1.37](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.36...v2.1.37) (2023-07-04) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.24 ([513708f](https://github.com/wayofdev/laravel-package-tpl/commit/513708fd5a05553b0257743e29c0e17632c82153)) - -## [2.1.36](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.35...v2.1.36) (2023-07-04) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.23 ([60f3b56](https://github.com/wayofdev/laravel-package-tpl/commit/60f3b5671901cace27554cd09b3d16399b691c56)) - -## [2.1.35](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.34...v2.1.35) (2023-07-01) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.8.1 ([d0b49bf](https://github.com/wayofdev/laravel-package-tpl/commit/d0b49bfc38752de7e5d21e3ce303db171c3acdd7)) - -## [2.1.34](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.33...v2.1.34) (2023-07-01) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.23 ([8d09fed](https://github.com/wayofdev/laravel-package-tpl/commit/8d09fede210972e710c7c8ecc9eb6a222edeefd4)) - -## [2.1.33](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.32...v2.1.33) (2023-06-30) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.22 ([b618311](https://github.com/wayofdev/laravel-package-tpl/commit/b6183118878a0e98a165fa345c75339c8f53975a)) - -## [2.1.32](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.31...v2.1.32) (2023-06-30) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.22 ([dc2071f](https://github.com/wayofdev/laravel-package-tpl/commit/dc2071f008658ff417dbd05aac18133b1bd910a4)) - -## [2.1.31](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.30...v2.1.31) (2023-06-30) - - -### Miscellaneous - -* **deps:** update dependency ergebnis/composer-normalize to v2.32.0 ([1c6934a](https://github.com/wayofdev/laravel-package-tpl/commit/1c6934ad1ab52d1262e61e7b0a4766c0b5cf9d74)) - -## [2.1.30](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.29...v2.1.30) (2023-06-30) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.21 ([8531042](https://github.com/wayofdev/laravel-package-tpl/commit/85310427c6f0a0df63206a143bda34fa2217e33a)) - -## [2.1.29](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.28...v2.1.29) (2023-06-28) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.20 ([18bbdad](https://github.com/wayofdev/laravel-package-tpl/commit/18bbdad23dfab864208ce38f2de98f096e21adf5)) - -## [2.1.28](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.27...v2.1.28) (2023-06-27) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.9 ([b9d22a6](https://github.com/wayofdev/laravel-package-tpl/commit/b9d22a63e78f8049ad53ea82e39fa69c816990cc)) - -## [2.1.27](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.26...v2.1.27) (2023-06-25) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.19 ([ff6e783](https://github.com/wayofdev/laravel-package-tpl/commit/ff6e783c4840375c6fdbef23b19798e19f5baf50)) - -## [2.1.26](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.25...v2.1.26) (2023-06-25) - - -### Miscellaneous - -* **deps:** update dependency phpunit/phpunit to v10.2.2 ([acd29e4](https://github.com/wayofdev/laravel-package-tpl/commit/acd29e430162b4ed82d0eff7f0c4211e87f5cd59)) - -## [2.1.25](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.24...v2.1.25) (2023-06-24) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.18 ([d07f6a7](https://github.com/wayofdev/laravel-package-tpl/commit/d07f6a7bd3cf2cde942a36af83c954f665e2cb76)) - -## [2.1.24](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.23...v2.1.24) (2023-06-24) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.17 ([6f2c755](https://github.com/wayofdev/laravel-package-tpl/commit/6f2c7550bd56ae4c2b246a49fafbe2765c428ed3)) - -## [2.1.23](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.22...v2.1.23) (2023-06-21) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.16 ([b21fbf3](https://github.com/wayofdev/laravel-package-tpl/commit/b21fbf33ab58ab587a5c168fe7941a5913f2799e)) - -## [2.1.22](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.21...v2.1.22) (2023-06-21) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.21 ([bfc3db5](https://github.com/wayofdev/laravel-package-tpl/commit/bfc3db55c528e42674452cedff26e2d8cf6ee7b6)) - -## [2.1.21](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.20...v2.1.21) (2023-06-20) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.15 ([7fbe259](https://github.com/wayofdev/laravel-package-tpl/commit/7fbe259fba7aaa48d2e45ac2be0c28174985146c)) - -## [2.1.20](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.19...v2.1.20) (2023-06-20) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.20 ([b335ff6](https://github.com/wayofdev/laravel-package-tpl/commit/b335ff6d98bcc4b8e68e3c9b9cfbd3270ff84916)) - -## [2.1.19](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.18...v2.1.19) (2023-06-19) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.7.0 ([3b25998](https://github.com/wayofdev/laravel-package-tpl/commit/3b259988f43487630bb72aa740a3f38a9de6b9af)) - -## [2.1.18](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.17...v2.1.18) (2023-06-19) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.14 ([6c89684](https://github.com/wayofdev/laravel-package-tpl/commit/6c89684995830c388bc3214bdcc9ccc88a8676f8)) - -## [2.1.17](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.16...v2.1.17) (2023-06-15) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.7.0 ([86bff6e](https://github.com/wayofdev/laravel-package-tpl/commit/86bff6e14086026f1e4d49c9b6595db48b6e86a0)) - -## [2.1.16](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.15...v2.1.16) (2023-06-14) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.13 ([7585128](https://github.com/wayofdev/laravel-package-tpl/commit/7585128336c1d35e31f87ed433218fd269f27fd2)) - -## [2.1.15](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.14...v2.1.15) (2023-06-14) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.19 ([6e4bc89](https://github.com/wayofdev/laravel-package-tpl/commit/6e4bc89a22ee8a73b4bed9ad141e5ebce6871007)) - -## [2.1.14](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.13...v2.1.14) (2023-06-14) - - -### Miscellaneous - -* **deps:** update dependency nunomaduro/larastan to v2.6.3 ([d67713a](https://github.com/wayofdev/laravel-package-tpl/commit/d67713a43960d36da83bc240d7b138c4e49bc1f5)) - -## [2.1.13](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.12...v2.1.13) (2023-06-14) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.8 ([b804901](https://github.com/wayofdev/laravel-package-tpl/commit/b8049013264bfb25749f186adb78b9b3a08d5af3)) - -## [2.1.12](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.11...v2.1.12) (2023-06-13) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.7 ([fa1cab8](https://github.com/wayofdev/laravel-package-tpl/commit/fa1cab8d29de14a113a2c78e071dcc4804c35608)) - -## [2.1.11](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.10...v2.1.11) (2023-06-11) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.6 ([538a8cd](https://github.com/wayofdev/laravel-package-tpl/commit/538a8cda06b0d2f958377bf364af3ed7aca9a61d)) - -## [2.1.10](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.9...v2.1.10) (2023-06-11) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.12 ([d518d69](https://github.com/wayofdev/laravel-package-tpl/commit/d518d69800b54ca3717a85b7797b07439d8a4175)) - -## [2.1.9](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.8...v2.1.9) (2023-06-10) - - -### Miscellaneous - -* **deps:** update dependency nunomaduro/larastan to v2.6.2 ([f795969](https://github.com/wayofdev/laravel-package-tpl/commit/f795969f70a1f9ff43cb059f714a86a67ff17ddf)) - -## [2.1.8](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.7...v2.1.8) (2023-06-08) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.11 ([2f39e2f](https://github.com/wayofdev/laravel-package-tpl/commit/2f39e2f5156a593b87b94597bc6f198dae7c8a3f)) - -## [2.1.7](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.6...v2.1.7) (2023-06-08) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.18 ([bbbba4d](https://github.com/wayofdev/laravel-package-tpl/commit/bbbba4d262c4117d858172007c53e1b805c90908)) - -## [2.1.6](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.5...v2.1.6) (2023-06-07) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.10 ([c0969aa](https://github.com/wayofdev/laravel-package-tpl/commit/c0969aa6555bce58b3e2f7018a65588d3884e01c)) - -## [2.1.5](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.4...v2.1.5) (2023-06-07) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.17 ([6d103b6](https://github.com/wayofdev/laravel-package-tpl/commit/6d103b6d90af6d7d2770c42a30e9d6b545631487)) - -## [2.1.4](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.3...v2.1.4) (2023-06-06) - - -### Miscellaneous - -* **deps:** update dependency nunomaduro/larastan to v2.6.1 ([c379414](https://github.com/wayofdev/laravel-package-tpl/commit/c37941406df8f3153633e12a1eea249fa53c7a9f)) - -## [2.1.3](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.2...v2.1.3) (2023-06-05) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.9 ([41e5f56](https://github.com/wayofdev/laravel-package-tpl/commit/41e5f56550aa14b8ded1aadd6a8b2b2c2872427b)) - -## [2.1.2](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.1...v2.1.2) (2023-06-05) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.8 ([b90553e](https://github.com/wayofdev/laravel-package-tpl/commit/b90553eeac1c48b59b59bb5f7cd4a8865bba5a8e)) - -## [2.1.1](https://github.com/wayofdev/laravel-package-tpl/compare/v2.1.0...v2.1.1) (2023-06-05) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.16 ([0b265eb](https://github.com/wayofdev/laravel-package-tpl/commit/0b265eb2db0f917574152875a0bfa232e2663244)) - -## [2.1.0](https://github.com/wayofdev/laravel-package-tpl/compare/v2.0.3...v2.1.0) (2023-06-04) - - -### Features - -* bump php version to 8.2 ([cbb5733](https://github.com/wayofdev/laravel-package-tpl/commit/cbb57332db249c74dbae4406f064943d5cd9896a)) -* split testing directory ([364acab](https://github.com/wayofdev/laravel-package-tpl/commit/364acabe8c5bef19e01434d65029a13218068a4d)) -* split testing directory ([e5f8e9d](https://github.com/wayofdev/laravel-package-tpl/commit/e5f8e9d0da949827b8e1590223917a4fd5c80063)) - -## [2.0.3](https://github.com/wayofdev/laravel-package-tpl/compare/v2.0.2...v2.0.3) (2023-06-02) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.6.2 ([9659689](https://github.com/wayofdev/laravel-package-tpl/commit/96596899abebe11423a0a5551f0b7018dcfe666b)) - -## [2.0.2](https://github.com/wayofdev/laravel-package-tpl/compare/v2.0.1...v2.0.2) (2023-06-02) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.7 ([1e989e0](https://github.com/wayofdev/laravel-package-tpl/commit/1e989e03168fc32e16a1a95cf847acd815dfc896)) - -## [2.0.1](https://github.com/wayofdev/laravel-package-tpl/compare/v2.0.0...v2.0.1) (2023-05-30) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.5 ([c077ef0](https://github.com/wayofdev/laravel-package-tpl/commit/c077ef0a410f6755a137002d9ab828bc131686e2)) - -## [2.0.0](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.38...v2.0.0) (2023-05-30) - - -### ⚠ BREAKING CHANGES - -* update template - -### Features - -* update template ([9c83764](https://github.com/wayofdev/laravel-package-tpl/commit/9c837642abf47d7afdddfa280fd97121da902a36)) - - -### Bug Fixes - -* ci commands ([bb712eb](https://github.com/wayofdev/laravel-package-tpl/commit/bb712eb02d4c81af2f6d76e18dc033a478f58bc5)) - -## [1.1.38](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.37...v1.1.38) (2023-05-28) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.6 ([7299e55](https://github.com/wayofdev/laravel-package-tpl/commit/7299e553f23f58296701596b499cfe97f150353f)) - -## [1.1.37](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.36...v1.1.37) (2023-05-28) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan-phpunit to v1.3.13 ([514282a](https://github.com/wayofdev/laravel-package-tpl/commit/514282ab04d1dc2a6f531a35f3799f97a94b5b19)) - -## [1.1.36](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.35...v1.1.36) (2023-05-24) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.5 ([38ec8ef](https://github.com/wayofdev/laravel-package-tpl/commit/38ec8ef5cc5820ee7088c1cddf49cec0a9945ba7)) - -## [1.1.35](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.34...v1.1.35) (2023-05-24) - - -### Miscellaneous - -* **deps:** update dependency phpstan/extension-installer to v1.3.1 ([90887f1](https://github.com/wayofdev/laravel-package-tpl/commit/90887f1c24a454bae351ff680a5cf98f15574b9a)) - -## [1.1.34](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.33...v1.1.34) (2023-05-24) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.4 ([88c8643](https://github.com/wayofdev/laravel-package-tpl/commit/88c86431122b67475b8f2a5e8f58269ac4ac5744)) - -## [1.1.33](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.32...v1.1.33) (2023-05-23) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.4 ([61d53b3](https://github.com/wayofdev/laravel-package-tpl/commit/61d53b37bbc4d913c755da9b9a3be707f74127b7)) - -## [1.1.32](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.31...v1.1.32) (2023-05-23) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan-phpunit to v1.3.12 ([98c67f2](https://github.com/wayofdev/laravel-package-tpl/commit/98c67f20fbdadfc2c3f4d705285e3d1c0f5c2281)) - -## [1.1.31](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.30...v1.1.31) (2023-05-23) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.3 ([6321dcc](https://github.com/wayofdev/laravel-package-tpl/commit/6321dcc816d9e45dbc580a175eb3e7b7a95163b9)) - -## [1.1.30](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.29...v1.1.30) (2023-05-17) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.6.1 ([fff3cc6](https://github.com/wayofdev/laravel-package-tpl/commit/fff3cc6c4741669811290f5aa2bf4c34e5121e3c)) - -## [1.1.29](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.28...v1.1.29) (2023-05-16) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.3 ([f018848](https://github.com/wayofdev/laravel-package-tpl/commit/f018848a40774e981f54d326b3ffa9c5694a93b6)) - -## [1.1.28](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.27...v1.1.28) (2023-05-11) - - -### Miscellaneous - -* **deps:** update dependency phpunit/phpunit to v10.1.3 ([8e3baac](https://github.com/wayofdev/laravel-package-tpl/commit/8e3baac01881078ff0b33bc3930912a50654a09b)) -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.2 ([b177302](https://github.com/wayofdev/laravel-package-tpl/commit/b17730256d4c50d63cc405f5f9d87bbff043a4a5)) - -## [1.1.27](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.26...v1.1.27) (2023-05-09) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.1 ([ac84f45](https://github.com/wayofdev/laravel-package-tpl/commit/ac84f458fa72d2d06f641d949aae97fef470e08d)) - -## [1.1.26](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.25...v1.1.26) (2023-05-09) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.15 ([ec24a99](https://github.com/wayofdev/laravel-package-tpl/commit/ec24a9900515da8270c58c33cfb22133773dab3c)) - -## [1.1.25](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.24...v1.1.25) (2023-05-09) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.2 ([ee85289](https://github.com/wayofdev/laravel-package-tpl/commit/ee85289388d964c14af4155244601681eba7e9b6)) - -## [1.1.24](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.23...v1.1.24) (2023-05-02) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.2.0 ([fd09205](https://github.com/wayofdev/laravel-package-tpl/commit/fd09205370a6c79b30746e15c2f7c4acf2a0b1fb)) - -## [1.1.23](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.22...v1.1.23) (2023-05-02) - - -### Miscellaneous - -* **deps:** update dependency ergebnis/composer-normalize to v2.31.0 ([06e34bc](https://github.com/wayofdev/laravel-package-tpl/commit/06e34bc9d780a75c2fd2050e0f825686a0d144d0)) - -## [1.1.22](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.21...v1.1.22) (2023-05-02) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.6.0 ([3629f93](https://github.com/wayofdev/laravel-package-tpl/commit/3629f93879a3aa6909b8657907edc5a9807ac1fe)) - -## [1.1.21](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.20...v1.1.21) (2023-05-01) - - -### Miscellaneous - -* **deps:** update dependency phpunit/phpunit to v10.1.2 ([aff909f](https://github.com/wayofdev/laravel-package-tpl/commit/aff909f430c31160c5fdd7c0c4eee5c7bb3ebfb1)) - -## [1.1.20](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.19...v1.1.20) (2023-04-28) - - -### Bug Fixes - -* **deps:** update dependency nunomaduro/collision to v7.5.2 ([f05ab29](https://github.com/wayofdev/laravel-package-tpl/commit/f05ab290cf39ed0e14eb200592db9a28e9295cb1)) - -## [1.1.19](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.18...v1.1.19) (2023-04-27) - - -### Bug Fixes - -* **deps:** update dependency spatie/laravel-package-tools to v1.15.0 ([f5c4389](https://github.com/wayofdev/laravel-package-tpl/commit/f5c43890cfa15b6a759dbe979bc49bcfa9f78b19)) - -## [1.1.18](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.17...v1.1.18) (2023-04-25) - - -### Bug Fixes - -* **deps:** update dependency spatie/laravel-package-tools to v1.14.3 ([f328fbe](https://github.com/wayofdev/laravel-package-tpl/commit/f328fbe9bc5686721f6681117bf8820b03099018)) - -## [1.1.17](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.16...v1.1.17) (2023-04-25) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.1 ([d15054b](https://github.com/wayofdev/laravel-package-tpl/commit/d15054b10c0d21d2cd6aaba038a53b012ef3cc53)) - -## [1.1.16](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.15...v1.1.16) (2023-04-23) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.1.19 ([08a4ea7](https://github.com/wayofdev/laravel-package-tpl/commit/08a4ea736593ff8ca7f266e4824fbf937d0470e9)) - -## [1.1.15](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.14...v1.1.15) (2023-04-22) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.5.3 ([1912b0d](https://github.com/wayofdev/laravel-package-tpl/commit/1912b0d7eb3b4f882c667f1b24ea8369470ba445)) - -## [1.1.14](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.13...v1.1.14) (2023-04-22) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.1.18 ([819e524](https://github.com/wayofdev/laravel-package-tpl/commit/819e524ab91516a691993deb7f0e648b9bf94c1c)) - -## [1.1.13](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.12...v1.1.13) (2023-04-20) - - -### Miscellaneous - -* **deps:** update dependency nunomaduro/larastan to v2.6.0 ([ba08bf5](https://github.com/wayofdev/laravel-package-tpl/commit/ba08bf55cabc4cb198c7c23b171ab62658271b65)) - -## [1.1.12](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.11...v1.1.12) (2023-04-20) - - -### Miscellaneous - -* **deps:** update dependency nunomaduro/larastan to v2.5.2 ([ef0b16e](https://github.com/wayofdev/laravel-package-tpl/commit/ef0b16e8f323a370dcc8f9dc8dbaf4f339d533ea)) - -## [1.1.11](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.10...v1.1.11) (2023-04-19) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.14 ([2efbd9f](https://github.com/wayofdev/laravel-package-tpl/commit/2efbd9f29a702df70676a0334a49aaf1491839a8)) -* **deps:** update dependency wayofdev/cs-fixer-config to v1.1.17 ([c5dff1f](https://github.com/wayofdev/laravel-package-tpl/commit/c5dff1f7efbe4dee67b019d5a68052d4d8425b35)) - -## [1.1.10](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.9...v1.1.10) (2023-04-19) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.5.2 ([23a7395](https://github.com/wayofdev/laravel-package-tpl/commit/23a7395d6f46deb7fd030712098c9f8808810ee7)) - -## [1.1.9](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.8...v1.1.9) (2023-04-18) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.1.16 ([45dba9f](https://github.com/wayofdev/laravel-package-tpl/commit/45dba9f41b5f021b08cddf1a55c0d64691fc3dc2)) - -## [1.1.8](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.7...v1.1.8) (2023-04-18) - - -### Miscellaneous - -* **deps:** update dependency phpstan/extension-installer to v1.3.0 ([2624463](https://github.com/wayofdev/laravel-package-tpl/commit/2624463739d263f18c0af69115fb9eff5afd2fea)) - -## [1.1.7](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.6...v1.1.7) (2023-04-18) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.5.0 ([bddc8c0](https://github.com/wayofdev/laravel-package-tpl/commit/bddc8c0b39b7a137cf4154279bd2d4c3cf49caab)) - -## [1.1.6](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.5...v1.1.6) (2023-04-18) - - -### Miscellaneous - -* **deps:** update dependency pestphp/pest to v2.5.1 ([215e0f3](https://github.com/wayofdev/laravel-package-tpl/commit/215e0f30ed749f6f6d481c8eaed9d6e2f30f081a)) - -## [1.1.5](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.4...v1.1.5) (2023-04-18) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.1.15 ([eb3f308](https://github.com/wayofdev/laravel-package-tpl/commit/eb3f3083b182e1763f01ad7009a2e0c14fd9ecc2)) - -## [1.1.4](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.3...v1.1.4) (2023-04-14) - - -### Bug Fixes - -* **deps:** update dependency nunomaduro/collision to v7.5.0 ([135bc20](https://github.com/wayofdev/laravel-package-tpl/commit/135bc20830ef05a90592cbf5a6adf38ccdd39bdc)) - -## [1.1.3](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.2...v1.1.3) (2023-04-14) - - -### Miscellaneous - -* **deps:** update dependency orchestra/testbench to v8.4.0 ([0c24a4a](https://github.com/wayofdev/laravel-package-tpl/commit/0c24a4acd1daa09456c23c3a8fc782292f845c00)) - -## [1.1.2](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.1...v1.1.2) (2023-04-14) - - -### Miscellaneous - -* **deps:** update dependency wayofdev/cs-fixer-config to v1.1.14 ([3014033](https://github.com/wayofdev/laravel-package-tpl/commit/30140331dbe5ca7488fc31acc1fdf038d005a2b7)) - -## [1.1.1](https://github.com/wayofdev/laravel-package-tpl/compare/v1.1.0...v1.1.1) (2023-04-14) - - -### Miscellaneous - -* **deps:** update dependency phpunit/phpunit to v10.1.0 ([a643e52](https://github.com/wayofdev/laravel-package-tpl/commit/a643e52e9763eae814e83e0e375252f0fb7480e7)) - -## [1.1.0](https://github.com/wayofdev/laravel-package-tpl/compare/v1.0.0...v1.1.0) (2023-04-13) - - -### Features - -* enable aut-merge ([cad52af](https://github.com/wayofdev/laravel-package-tpl/commit/cad52af89927500ae9320b9f2fd050d91d935dfb)) -* new github workflow ([2d4695f](https://github.com/wayofdev/laravel-package-tpl/commit/2d4695f148cbc99c9146ca2a9f8caa408825ce3a)) - - -### Bug Fixes - -* run against gh user ([95331ff](https://github.com/wayofdev/laravel-package-tpl/commit/95331ff6744dbb71af9773706f5256dfc02fbf10)) - - -### Miscellaneous - -* **deps:** update dependency phpstan/phpstan to v1.10.13 ([faba56b](https://github.com/wayofdev/laravel-package-tpl/commit/faba56bb758427db7b9a2b13da4d97ee8e3150ea)) -* **deps:** update dependency wayofdev/cs-fixer-config to v1.1.13 ([ee61cb2](https://github.com/wayofdev/laravel-package-tpl/commit/ee61cb2e0983105074cd26d195f2acc5da70d6bc)) - -## 1.0.0 (2022-07-16) - - -### Features - -* adding template code ([e758c21](https://github.com/wayofdev/laravel-package-tpl/commit/e758c218d71d637bd60a659254dd4eb9b82d5478)) - - -### Bug Fixes - -* stan fixes ([1982e4a](https://github.com/wayofdev/laravel-package-tpl/commit/1982e4a14171c5a867d0a7fe23dddc7741f28549)) diff --git a/Makefile b/Makefile index 7fd4b46e..b9467a4d 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ else WHITE := "" RST := "" endif -MAKE_LOGFILE = /tmpwayofdev-laravel-package-tpl.log +MAKE_LOGFILE = /tmpwayofdev-laravel-stripe-webhooks.log MAKE_CMD_COLOR := $(BLUE) default: all @@ -47,7 +47,7 @@ help: @echo @echo ' 📑 Logs are stored in $(MAKE_LOGFILE)' @echo - @echo ' 📦 Package laravel-package-tpl (github.com/wayofdev/laravel-package-tpl)' + @echo ' 📦 Package laravel-stripe-webhooks (github.com/wayofdev/laravel-stripe-webhooks)' @echo ' 🤠 Author Andrij Orlenko (github.com/lotyp)' @echo ' 🏢 ${YELLOW}Org wayofdev (github.com/wayofdev)${RST}' .PHONY: help diff --git a/README.md b/README.md index 58999571..78efbcf7 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,11 @@
-Build Status -Total Downloads -Latest Stable Version -Software License -Commits since latest release +Build Status +Total Downloads +Latest Stable Version +Software License +Commits since latest release

@@ -35,7 +35,7 @@ If you **like/use** this package, please consider **starring** it. Thanks! Require as dependency: ```bash -$ composer req wayofdev/laravel-package-tpl +$ composer req wayofdev/laravel-stripe-webhooks ```
@@ -70,7 +70,7 @@ $ make cs-fix ## 🤝 License -[![Licence](https://img.shields.io/github/license/wayofdev/laravel-package-tpl?style=for-the-badge&color=blue)](./LICENSE) +[![Licence](https://img.shields.io/github/license/wayofdev/laravel-stripe-webhooks?style=for-the-badge&color=blue)](./LICENSE)
diff --git a/composer.json b/composer.json index 4c977c64..a5b54bfa 100644 --- a/composer.json +++ b/composer.json @@ -1,12 +1,12 @@ { - "name": "wayofdev/laravel-package-tpl", + "name": "wayofdev/laravel-stripe-webhooks", "description": "PHP package template with GitHub Actions", "type": "library", "license": "MIT", "homepage": "https://wayof.dev", "support": { - "issues": "https://github.com/wayofdev/laravel-package-tpl/issues", - "source": "https://github.com/wayofdev/laravel-package-tpl" + "issues": "https://github.com/wayofdev/laravel-stripe-webhooks/issues", + "source": "https://github.com/wayofdev/laravel-stripe-webhooks" }, "authors": [ { @@ -16,10 +16,13 @@ ], "require": { "php": "^8.2", - "illuminate/contracts": "^v10.13" + "cycle/orm": "^2.3", + "laravel/framework": "^v10.17", + "stripe/stripe-php": "^10.20", + "wayofdev/laravel-webhook-client": "^1.0" }, "require-dev": { - "ergebnis/composer-normalize": "^2.31", + "ergebnis/composer-normalize": "^2.34", "nunomaduro/larastan": "^2.6", "orchestra/testbench": "^8.5", "pestphp/pest": "^2.6", @@ -35,20 +38,20 @@ }, "autoload": { "psr-4": { - "WayOfDev\\Package\\": "src/" + "WayOfDev\\StripeWebhooks\\": "src/" } }, "autoload-dev": { "psr-4": { - "WayOfDev\\Package\\App\\": "tests/app/", - "WayOfDev\\Package\\Tests\\": "tests/src/" + "WayOfDev\\StripeWebhooks\\App\\": "tests/app/", + "WayOfDev\\StripeWebhooks\\Tests\\": "tests/src/" } }, "scripts": { "cs:fix": "php vendor/bin/php-cs-fixer fix -v", "cs:diff": "php vendor/bin/php-cs-fixer fix --dry-run -v --diff", - "test": "XDEBUG_MODE=coverage php vendor/bin/pest", - "test:cc": "XDEBUG_MODE=coverage php vendor/bin/pest --coverage", + "test": "XDEBUG_MODE=coverage php vendor/bin/pest --colors=always", + "test:cc": "XDEBUG_MODE=coverage php vendor/bin/pest --colors=always --coverage-clover coverage.xml", "stan": "php vendor/bin/phpstan analyse --memory-limit=2G", "stan:ci": "php vendor/bin/phpstan analyse --memory-limit=2G --error-format=github" }, @@ -63,7 +66,7 @@ "extra": { "laravel": { "providers": [ - "WayOfDev\\Package\\Bridge\\Laravel\\Providers\\PackageServiceProvider" + "WayOfDev\\StripeWebhooks\\Bridge\\Laravel\\Providers\\StripeWebhooksServiceProvider" ] }, "composer-normalize": { diff --git a/composer.lock b/composer.lock index 40bf5d6e..84128cc2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9018d73e2127dc57a68345793205136b", + "content-hash": "53ee29e922dd88a102db53079f8aa3ca", "packages": [ { "name": "brick/math", @@ -62,540 +62,414 @@ "time": "2023-01-15T23:15:59+00:00" }, { - "name": "dflydev/dot-access-data", - "version": "v3.0.2", + "name": "cycle/annotated", + "version": "v3.3.0", "source": { "type": "git", - "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" + "url": "https://github.com/cycle/annotated.git", + "reference": "d4d4c944f81e809688e77e5564acc198c8f11544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "url": "https://api.github.com/repos/cycle/annotated/zipball/d4d4c944f81e809688e77e5564acc198c8f11544", + "reference": "d4d4c944f81e809688e77e5564acc198c8f11544", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "cycle/orm": "^2.2.0", + "cycle/schema-builder": "^2.4", + "doctrine/annotations": "^1.14.3 || ^2.0.1", + "doctrine/inflector": "^2.0", + "php": ">=8.0", + "spiral/attributes": "^2.8|^3.0", + "spiral/tokenizer": "^2.8|^3.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.42", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", - "scrutinizer/ocular": "1.6.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.0.0" + "phpunit/phpunit": "^9.6", + "vimeo/psalm": "^4.30" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, "autoload": { "psr-4": { - "Dflydev\\DotAccessData\\": "src/" + "Cycle\\Annotated\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - }, - { - "name": "Carlos Frutos", - "email": "carlos@kiwing.it", - "homepage": "https://github.com/cfrutos" - }, - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com" - } - ], - "description": "Given a deep data structure, access data by dot notation.", - "homepage": "https://github.com/dflydev/dflydev-dot-access-data", - "keywords": [ - "access", - "data", - "dot", - "notation" - ], + "description": "Cycle ORM Annotated Entities generator", "support": { - "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + "issues": "https://github.com/cycle/annotated/issues", + "source": "https://github.com/cycle/annotated/tree/v3.3.0" }, - "time": "2022-10-27T11:44:00+00:00" + "time": "2023-05-16T07:50:25+00:00" }, { - "name": "doctrine/inflector", - "version": "2.0.6", + "name": "cycle/database", + "version": "2.5.2", "source": { "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" + "url": "https://github.com/cycle/database.git", + "reference": "ab6178f771a1a588257a075d62a651be26b6da99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", - "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", + "url": "https://api.github.com/repos/cycle/database/zipball/ab6178f771a1a588257a075d62a651be26b6da99", + "reference": "ab6178f771a1a588257a075d62a651be26b6da99", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "ext-pdo": "*", + "php": ">=8.0", + "psr/log": "1 - 3", + "spiral/core": "^2.8 || ^3.0", + "spiral/pagination": "^2.8 || ^3.0" + }, + "conflict": { + "spiral/database": "*" }, "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^8.5 || ^9.5", - "vimeo/psalm": "^4.25" + "infection/infection": "^0.26.10", + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5", + "spiral/tokenizer": "^2.13", + "vimeo/psalm": "^4.23" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5.x-dev" + } + }, "autoload": { + "files": [ + "src/polyfill.php", + "src/functions_polyfill.php" + ], "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + "Cycle\\Database\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", - "homepage": "https://www.doctrine-project.org/projects/inflector.html", - "keywords": [ - "inflection", - "inflector", - "lowercase", - "manipulation", - "php", - "plural", - "singular", - "strings", - "uppercase", - "words" - ], + "description": "DBAL, schema introspection, migration and pagination", "support": { - "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.6" + "issues": "https://github.com/cycle/database/issues", + "source": "https://github.com/cycle/database/tree/2.5.2" }, "funding": [ { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "type": "tidelift" + "url": "https://github.com/roadrunner-server", + "type": "github" } ], - "time": "2022-10-20T09:10:12+00:00" + "time": "2023-07-03T17:03:57+00:00" }, { - "name": "doctrine/lexer", - "version": "3.0.0", + "name": "cycle/entity-behavior", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "84a527db05647743d50373e0ec53a152f2cde568" + "url": "https://github.com/cycle/entity-behavior.git", + "reference": "891fd972047a453afa43ee8d8117c6532d0971bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", - "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "url": "https://api.github.com/repos/cycle/entity-behavior/zipball/891fd972047a453afa43ee8d8117c6532d0971bf", + "reference": "891fd972047a453afa43ee8d8117c6532d0971bf", "shasum": "" }, "require": { - "php": "^8.1" + "cycle/orm": "^2.0", + "cycle/schema-builder": "^2.5", + "php": ">=8.0", + "psr/container": "^1.0|^2.0", + "psr/event-dispatcher": "^1", + "yiisoft/injector": "^1.0" }, "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.9", + "cycle/annotated": "^3.0", "phpunit/phpunit": "^9.5", - "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.0" + "ramsey/uuid": "^4.5", + "spiral/tokenizer": "^2.8 || ^3.0", + "vimeo/psalm": "^5.11" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "src" + "Cycle\\ORM\\Entity\\Behavior\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], + "description": "Provides a collection of attributes that add behaviors to Cycle ORM entities", "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/3.0.0" + "issues": "https://github.com/cycle/entity-behavior/issues", + "source": "https://github.com/cycle/entity-behavior/tree/1.2.0" }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], - "time": "2022-12-15T16:57:16+00:00" + "time": "2023-05-19T13:54:19+00:00" }, { - "name": "dragonmantank/cron-expression", - "version": "v3.3.2", + "name": "cycle/migrations", + "version": "v4.1.0", "source": { "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8" + "url": "https://github.com/cycle/migrations.git", + "reference": "177b1912220515c5a6dae7057bc0ad6ae826134f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8", - "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8", + "url": "https://api.github.com/repos/cycle/migrations/zipball/177b1912220515c5a6dae7057bc0ad6ae826134f", + "reference": "177b1912220515c5a6dae7057bc0ad6ae826134f", "shasum": "" }, "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.0" - }, - "replace": { - "mtdowling/cron-expression": "^1.0" + "cycle/database": "^2.5", + "php": ">=8.1", + "spiral/core": "^3.0", + "spiral/files": "^3.0", + "spiral/reactor": "^3.0", + "spiral/tokenizer": "^3.0" }, "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-webmozart-assert": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "dev-master" }, "type": "library", "autoload": { "psr-4": { - "Cron\\": "src/Cron/" + "Cycle\\Migrations\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], + "description": "Database migrations, migration scaffolding", "support": { - "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.2" + "issues": "https://github.com/cycle/migrations/issues", + "source": "https://github.com/cycle/migrations/tree/v4.1.0" }, - "funding": [ - { - "url": "https://github.com/dragonmantank", - "type": "github" - } - ], - "time": "2022-09-10T18:51:20+00:00" + "time": "2023-05-16T08:01:38+00:00" }, { - "name": "egulias/email-validator", - "version": "4.0.1", + "name": "cycle/orm", + "version": "v2.3.4", "source": { "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "3a85486b709bc384dae8eb78fb2eec649bdb64ff" + "url": "https://github.com/cycle/orm.git", + "reference": "04693aa609ba5096a308e160cc28ef3c2c69a76b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/3a85486b709bc384dae8eb78fb2eec649bdb64ff", - "reference": "3a85486b709bc384dae8eb78fb2eec649bdb64ff", + "url": "https://api.github.com/repos/cycle/orm/zipball/04693aa609ba5096a308e160cc28ef3c2c69a76b", + "reference": "04693aa609ba5096a308e160cc28ef3c2c69a76b", "shasum": "" }, "require": { - "doctrine/lexer": "^2.0 || ^3.0", - "php": ">=8.1", - "symfony/polyfill-intl-idn": "^1.26" + "cycle/database": "^2.3", + "doctrine/instantiator": "^1.3.1", + "ext-pdo": "*", + "php": ">=8.0" }, "require-dev": { - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^4.30" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + "doctrine/collections": "^1.6 || ^2.0", + "illuminate/collections": "^8.0", + "loophp/collection": "^6.0", + "mockery/mockery": "^1.1", + "phpunit/phpunit": "^9.5", + "ramsey/uuid": "^4.0", + "spiral/tokenizer": "^2.8", + "vimeo/psalm": "^4.9" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, "autoload": { "psr-4": { - "Egulias\\EmailValidator\\": "src" + "Cycle\\ORM\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ], + "description": "PHP DataMapper ORM and Data Modelling Engine", "support": { - "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.1" + "issues": "https://github.com/cycle/orm/issues", + "source": "https://github.com/cycle/orm/tree/v2.3.4" }, "funding": [ { - "url": "https://github.com/egulias", + "url": "https://github.com/roadrunner-server", "type": "github" } ], - "time": "2023-01-14T14:17:03+00:00" + "time": "2023-07-31T18:17:45+00:00" }, { - "name": "fruitcake/php-cors", - "version": "v1.2.0", + "name": "cycle/schema-builder", + "version": "v2.5.0", "source": { "type": "git", - "url": "https://github.com/fruitcake/php-cors.git", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e" + "url": "https://github.com/cycle/schema-builder.git", + "reference": "92ccd4ca526ec151556d93c2856b8f25988e71f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", + "url": "https://api.github.com/repos/cycle/schema-builder/zipball/92ccd4ca526ec151556d93c2856b8f25988e71f7", + "reference": "92ccd4ca526ec151556d93c2856b8f25988e71f7", "shasum": "" }, "require": { - "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6" + "cycle/database": "^2.5", + "cycle/orm": "^2.0", + "php": ">=8.0", + "yiisoft/friendly-exception": "^1.1" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^9", - "squizlabs/php_codesniffer": "^3.5" + "phpunit/phpunit": "^9.5", + "spiral/tokenizer": "^2.8", + "vimeo/psalm": "^4.12" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.1-dev" - } - }, "autoload": { "psr-4": { - "Fruitcake\\Cors\\": "src/" + "Cycle\\Schema\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Fruitcake", - "homepage": "https://fruitcake.nl" - }, - { - "name": "Barryvdh", - "email": "barryvdh@gmail.com" - } - ], - "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", - "homepage": "https://github.com/fruitcake/php-cors", - "keywords": [ - "cors", - "laravel", - "symfony" - ], + "description": "Cycle ORM Schema Builder", "support": { - "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0" + "issues": "https://github.com/cycle/schema-builder/issues", + "source": "https://github.com/cycle/schema-builder/tree/v2.5.0" }, - "funding": [ - { - "url": "https://fruitcake.nl", - "type": "custom" - }, - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], - "time": "2022-02-20T15:07:15+00:00" + "time": "2023-05-19T12:10:14+00:00" }, { - "name": "graham-campbell/result-type", - "version": "v1.1.1", + "name": "cycle/schema-migrations-generator", + "version": "2.1.1", "source": { "type": "git", - "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831" + "url": "https://github.com/cycle/schema-migrations-generator.git", + "reference": "92781750378c6e95ff4083d068292385292771c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831", - "reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831", + "url": "https://api.github.com/repos/cycle/schema-migrations-generator/zipball/92781750378c6e95ff4083d068292385292771c9", + "reference": "92781750378c6e95ff4083d068292385292771c9", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.1" + "cycle/database": "^2.4.1", + "cycle/migrations": "^4.0", + "cycle/schema-builder": "^2.0", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" + "cycle/annotated": "^3.0", + "cycle/orm": "^2.0", + "phpunit/phpunit": "^9.5", + "spiral/debug": "^3.0", + "spiral/framework": "^3.0" }, "type": "library", "autoload": { "psr-4": { - "GrahamCampbell\\ResultType\\": "src/" + "Cycle\\Schema\\Generator\\Migrations\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "An Implementation Of The Result Type", - "keywords": [ - "Graham Campbell", - "GrahamCampbell", - "Result Type", - "Result-Type", - "result" - ], + "description": "Cycle ORM Migration generation", "support": { - "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.1" + "issues": "https://github.com/cycle/schema-migrations-generator/issues", + "source": "https://github.com/cycle/schema-migrations-generator/tree/2.1.1" }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", - "type": "tidelift" + "time": "2023-03-08T09:23:01+00:00" + }, + { + "name": "cycle/schema-renderer", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/cycle/schema-renderer.git", + "reference": "5c2b7977c2803c6c9bacc56064abda5ea2b273a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cycle/schema-renderer/zipball/5c2b7977c2803c6c9bacc56064abda5ea2b273a3", + "reference": "5c2b7977c2803c6c9bacc56064abda5ea2b273a3", + "shasum": "" + }, + "require": { + "cycle/orm": "1.2 - 2", + "php": ">=7.4" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "spiral/code-style": "^1.0", + "vimeo/psalm": "^4.10|^5.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cycle\\Schema\\Renderer\\": "src/" } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" ], - "time": "2023-02-25T20:23:15+00:00" + "description": "Utils for Cycle ORM Schema rendering", + "support": { + "issues": "https://github.com/cycle/schema-renderer/issues", + "source": "https://github.com/cycle/schema-renderer/tree/1.2.0" + }, + "time": "2022-12-15T16:14:14+00:00" }, { - "name": "guzzlehttp/uri-template", - "version": "v1.0.1", + "name": "dflydev/dot-access-data", + "version": "v3.0.2", "source": { "type": "git", - "url": "https://github.com/guzzle/uri-template.git", - "reference": "b945d74a55a25a949158444f09ec0d3c120d69e2" + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "f41715465d65213d644d3141a6a93081be5d3549" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/b945d74a55a25a949158444f09ec0d3c120d69e2", - "reference": "b945d74a55a25a949158444f09ec0d3c120d69e2", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0", - "symfony/polyfill-php80": "^1.17" + "php": "^7.1 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5.19 || ^9.5.8", - "uri-template/tests": "1.0.0" + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { - "GuzzleHttp\\UriTemplate\\": "src" + "Dflydev\\DotAccessData\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -604,68 +478,852 @@ ], "authors": [ { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" }, { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" }, { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" }, { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" } ], - "description": "A polyfill class for uri_template of PHP", + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", "keywords": [ - "guzzlehttp", - "uri-template" + "access", + "data", + "dot", + "notation" ], "support": { - "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.1" + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" }, - "funding": [ + "time": "2022-10-27T11:44:00+00:00" + }, + { + "name": "doctrine/annotations", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2 || ^3", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^5.4 || ^6", + "vimeo/psalm": "^4.10" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { - "url": "https://github.com/GrahamCampbell", - "type": "github" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "url": "https://github.com/Nyholm", - "type": "github" + "name": "Roman Borschel", + "email": "roman@code-factory.org" }, { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", - "type": "tidelift" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "time": "2021-10-07T12:57:01+00:00" + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/2.0.1" + }, + "time": "2023-02-02T22:02:53+00:00" }, { - "name": "laravel/framework", - "version": "v10.13.1", + "name": "doctrine/inflector", + "version": "2.0.8", "source": { "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "c1569099594168870cb4bdabfbaa35e5d172310b" + "url": "https://github.com/doctrine/inflector.git", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/c1569099594168870cb4bdabfbaa35e5d172310b", - "reference": "c1569099594168870cb4bdabfbaa35e5d172310b", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11", - "composer-runtime-api": "^2.2", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.8" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2023-06-16T13:40:37+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.30 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:15:36+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "84a527db05647743d50373e0ec53a152f2cde568" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", + "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^9.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-12-15T16:57:16+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.3.2", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8", + "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-webmozart-assert": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.2" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2022-09-10T18:51:20+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "3a85486b709bc384dae8eb78fb2eec649bdb64ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/3a85486b709bc384dae8eb78fb2eec649bdb64ff", + "reference": "3a85486b709bc384dae8eb78fb2eec649bdb64ff", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" + }, + "require-dev": { + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^4.30" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2023-01-14T14:17:03+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", + "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2022-02-20T15:07:15+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831", + "reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.1" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2023-02-25T20:23:15+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "b945d74a55a25a949158444f09ec0d3c120d69e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/b945d74a55a25a949158444f09ec0d3c120d69e2", + "reference": "b945d74a55a25a949158444f09ec0d3c120d69e2", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.17" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.19 || ^9.5.8", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2021-10-07T12:57:01+00:00" + }, + { + "name": "laminas/laminas-hydrator", + "version": "4.14.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-hydrator.git", + "reference": "ca9172c4479d995ff7f122ec196f4a29ac88b428" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-hydrator/zipball/ca9172c4479d995ff7f122ec196f4a29ac88b428", + "reference": "ca9172c4479d995ff7f122ec196f4a29ac88b428", + "shasum": "" + }, + "require": { + "laminas/laminas-stdlib": "^3.3", + "php": "~8.1.0 || ~8.2.0", + "webmozart/assert": "^1.10" + }, + "conflict": { + "laminas/laminas-servicemanager": "<3.14.0", + "zendframework/zend-hydrator": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~2.5.0", + "laminas/laminas-eventmanager": "^3.10", + "laminas/laminas-modulemanager": "^2.14.0", + "laminas/laminas-serializer": "^2.14.0", + "laminas/laminas-servicemanager": "^3.21", + "phpbench/phpbench": "^1.2.10", + "phpunit/phpunit": "^10.1.3", + "psalm/plugin-phpunit": "^0.18.4", + "vimeo/psalm": "^5.11" + }, + "suggest": { + "laminas/laminas-eventmanager": "^3.2, to support aggregate hydrator usage", + "laminas/laminas-serializer": "^2.9, to use the SerializableStrategy", + "laminas/laminas-servicemanager": "^3.14, to support hydrator plugin manager usage" + }, + "type": "library", + "extra": { + "laminas": { + "component": "Laminas\\Hydrator", + "config-provider": "Laminas\\Hydrator\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Laminas\\Hydrator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Serialize objects to arrays, and vice versa", + "homepage": "https://laminas.dev", + "keywords": [ + "hydrator", + "laminas" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-hydrator/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-hydrator/issues", + "rss": "https://github.com/laminas/laminas-hydrator/releases.atom", + "source": "https://github.com/laminas/laminas-hydrator" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2023-05-19T10:44:34+00:00" + }, + { + "name": "laminas/laminas-stdlib", + "version": "3.17.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-stdlib.git", + "reference": "dd35c868075bad80b6718959740913e178eb4274" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/dd35c868075bad80b6718959740913e178eb4274", + "reference": "dd35c868075bad80b6718959740913e178eb4274", + "shasum": "" + }, + "require": { + "php": "~8.1.0 || ~8.2.0" + }, + "conflict": { + "zendframework/zend-stdlib": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "^2.5", + "phpbench/phpbench": "^1.2.9", + "phpunit/phpunit": "^10.0.16", + "psalm/plugin-phpunit": "^0.18.4", + "vimeo/psalm": "^5.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Laminas\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "SPL extensions, array utilities, error handlers, and more", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "stdlib" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-stdlib/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-stdlib/issues", + "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", + "source": "https://github.com/laminas/laminas-stdlib" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2023-03-20T13:51:37+00:00" + }, + { + "name": "laravel/framework", + "version": "v10.18.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "9d41928900f7ecf409627a7d06c0a4dfecff2ea7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/9d41928900f7ecf409627a7d06c0a4dfecff2ea7", + "reference": "9d41928900f7ecf409627a7d06c0a4dfecff2ea7", + "shasum": "" + }, + "require": { + "brick/math": "^0.9.3|^0.10.2|^0.11", + "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.3.2", "egulias/email-validator": "^3.2.1|^4.0", @@ -673,476 +1331,1290 @@ "ext-filter": "*", "ext-hash": "*", "ext-mbstring": "*", - "ext-openssl": "*", - "ext-session": "*", - "ext-tokenizer": "*", - "fruitcake/php-cors": "^1.2", - "guzzlehttp/uri-template": "^1.0", - "laravel/serializable-closure": "^1.3", - "league/commonmark": "^2.2.1", - "league/flysystem": "^3.8.0", - "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.62.1", - "nunomaduro/termwind": "^1.13", + "ext-openssl": "*", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.2", + "guzzlehttp/uri-template": "^1.0", + "laravel/prompts": "^0.1", + "laravel/serializable-closure": "^1.3", + "league/commonmark": "^2.2.1", + "league/flysystem": "^3.8.0", + "monolog/monolog": "^3.0", + "nesbot/carbon": "^2.67", + "nunomaduro/termwind": "^1.13", + "php": "^8.1", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "ramsey/uuid": "^4.7", + "symfony/console": "^6.2", + "symfony/error-handler": "^6.2", + "symfony/finder": "^6.2", + "symfony/http-foundation": "^6.2", + "symfony/http-kernel": "^6.2", + "symfony/mailer": "^6.2", + "symfony/mime": "^6.2", + "symfony/process": "^6.2", + "symfony/routing": "^6.2", + "symfony/uid": "^6.2", + "symfony/var-dumper": "^6.2", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.4.1", + "voku/portable-ascii": "^2.0" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/conditionable": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/macroable": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/process": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/testing": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version" + }, + "require-dev": { + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.235.5", + "doctrine/dbal": "^3.5.1", + "ext-gmp": "*", + "fakerphp/faker": "^1.21", + "guzzlehttp/guzzle": "^7.5", + "league/flysystem-aws-s3-v3": "^3.0", + "league/flysystem-ftp": "^3.0", + "league/flysystem-path-prefixing": "^3.3", + "league/flysystem-read-only": "^3.3", + "league/flysystem-sftp-v3": "^3.0", + "mockery/mockery": "^1.5.1", + "orchestra/testbench-core": "^8.4", + "pda/pheanstalk": "^4.0", + "phpstan/phpstan": "^1.4.7", + "phpunit/phpunit": "^10.0.7", + "predis/predis": "^2.0.2", + "symfony/cache": "^6.2", + "symfony/http-client": "^6.2.4" + }, + "suggest": { + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", + "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", + "ext-pdo": "Required to use all database features.", + "ext-posix": "Required to use all features of the queue worker.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", + "league/flysystem-read-only": "Required to use read-only disks (^3.3)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "mockery/mockery": "Required to use mocking (^1.5.1).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).", + "predis/predis": "Required to use the predis connector (^2.0.2).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^6.2).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-08-08T14:30:38+00:00" + }, + { + "name": "laravel/prompts", + "version": "v0.1.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/prompts.git", + "reference": "562c26eb82c85789ef36291112cc27d730d3fed6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/prompts/zipball/562c26eb82c85789ef36291112cc27d730d3fed6", + "reference": "562c26eb82c85789ef36291112cc27d730d3fed6", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/collections": "^10.0|^11.0", "php": "^8.1", - "psr/container": "^1.1.1|^2.0.1", - "psr/log": "^1.0|^2.0|^3.0", - "psr/simple-cache": "^1.0|^2.0|^3.0", - "ramsey/uuid": "^4.7", - "symfony/console": "^6.2", - "symfony/error-handler": "^6.2", - "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.2", - "symfony/http-kernel": "^6.2", - "symfony/mailer": "^6.2", - "symfony/mime": "^6.2", - "symfony/process": "^6.2", - "symfony/routing": "^6.2", - "symfony/uid": "^6.2", - "symfony/var-dumper": "^6.2", - "tijsverkoyen/css-to-inline-styles": "^2.2.5", - "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^2.0" + "symfony/console": "^6.2" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-mockery": "^1.1" + }, + "suggest": { + "ext-pcntl": "Required for the spinner to be animated." + }, + "type": "library", + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.1.3" + }, + "time": "2023-08-02T19:57:10+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902", + "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "nesbot/carbon": "^2.61", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2023-07-14T13:56:28+00:00" + }, + { + "name": "league/commonmark", + "version": "2.4.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d44a24690f16b8c1808bf13b1bd54ae4c63ea048", + "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2023-03-24T15:16:10+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "league/flysystem", + "version": "3.15.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "a141d430414fcb8bf797a18716b09f759a385bed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a141d430414fcb8bf797a18716b09f759a385bed", + "reference": "a141d430414fcb8bf797a18716b09f759a385bed", + "shasum": "" + }, + "require": { + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5", + "async-aws/simple-s3": "^1.1", + "aws/aws-sdk-php": "^3.220.0", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.14", + "phpstan/phpstan": "^0.12.26", + "phpunit/phpunit": "^9.5.11", + "sabre/dav": "^4.3.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "File storage abstraction for PHP", + "keywords": [ + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/3.15.1" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-05-04T09:04:26+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.15.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "543f64c397fefdf9cfeac443ffb6beff602796b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/543f64c397fefdf9cfeac443ffb6beff602796b3", + "reference": "543f64c397fefdf9cfeac443ffb6beff602796b3", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem-local/issues", + "source": "https://github.com/thephpleague/flysystem-local/tree/3.15.0" }, - "conflict": { - "tightenco/collect": "<5.5.33" + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-05-02T20:02:14+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.13.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/a6dfb1194a2946fcdc1f38219445234f65b35c96", + "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.13.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2023-08-05T12:09:49+00:00" + }, + { + "name": "monolog/monolog", + "version": "3.4.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "e2392369686d420ca32df3803de28b5d6f76867d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/e2392369686d420ca32df3803de28b5d6f76867d", + "reference": "e2392369686d420ca32df3803de28b5d6f76867d", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.1", + "predis/predis": "^1.1 || ^2", + "ruflin/elastica": "^7", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/3.4.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2023-06-21T08:46:11+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.68.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "4f991ed2a403c85efbc4f23eb4030063fdbe01da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4f991ed2a403c85efbc4f23eb4030063fdbe01da", + "reference": "4f991ed2a403c85efbc4f23eb4030063fdbe01da", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + }, + "require-dev": { + "doctrine/dbal": "^2.0 || ^3.1.4", + "doctrine/orm": "^2.7", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "*", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2023-06-20T18:29:04+00:00" + }, + { + "name": "nette/php-generator", + "version": "v4.0.8", + "source": { + "type": "git", + "url": "https://github.com/nette/php-generator.git", + "reference": "d9157df8463b198dcbcd9f979fb09a9367c7fe99" }, - "provide": { - "psr/container-implementation": "1.1|2.0", - "psr/simple-cache-implementation": "1.0|2.0|3.0" + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/php-generator/zipball/d9157df8463b198dcbcd9f979fb09a9367c7fe99", + "reference": "d9157df8463b198dcbcd9f979fb09a9367c7fe99", + "shasum": "" }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", - "illuminate/cache": "self.version", - "illuminate/collections": "self.version", - "illuminate/conditionable": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/contracts": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/macroable": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "self.version", - "illuminate/pagination": "self.version", - "illuminate/pipeline": "self.version", - "illuminate/process": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/testing": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" + "require": { + "nette/utils": "^3.2.9 || ^4.0", + "php": ">=8.0 <8.4" }, "require-dev": { - "ably/ably-php": "^1.0", - "aws/aws-sdk-php": "^3.235.5", - "doctrine/dbal": "^3.5.1", - "ext-gmp": "*", - "fakerphp/faker": "^1.21", - "guzzlehttp/guzzle": "^7.5", - "league/flysystem-aws-s3-v3": "^3.0", - "league/flysystem-ftp": "^3.0", - "league/flysystem-path-prefixing": "^3.3", - "league/flysystem-read-only": "^3.3", - "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^8.4", - "pda/pheanstalk": "^4.0", - "phpstan/phpdoc-parser": "^1.15", - "phpstan/phpstan": "^1.4.7", - "phpunit/phpunit": "^10.0.7", - "predis/predis": "^2.0.2", - "symfony/cache": "^6.2", - "symfony/http-client": "^6.2.4" + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.4", + "nikic/php-parser": "^4.15", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.8" }, "suggest": { - "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", - "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", - "ext-apcu": "Required to use the APC cache driver.", - "ext-fileinfo": "Required to use the Filesystem class.", - "ext-ftp": "Required to use the Flysystem FTP driver.", - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "ext-memcached": "Required to use the memcache cache driver.", - "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", - "ext-pdo": "Required to use all database features.", - "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", - "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", - "league/flysystem-read-only": "Required to use read-only disks (^3.3)", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "mockery/mockery": "Required to use mocking (^1.5.1).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).", - "predis/predis": "Required to use the predis connector (^2.0.2).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^6.2).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + "nikic/php-parser": "to use ClassType::from(withBodies: true) & ClassType::fromCode()" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "10.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { - "files": [ - "src/Illuminate/Collections/helpers.php", - "src/Illuminate/Events/functions.php", - "src/Illuminate/Foundation/helpers.php", - "src/Illuminate/Support/helpers.php" - ], - "psr-4": { - "Illuminate\\": "src/Illuminate/", - "Illuminate\\Support\\": [ - "src/Illuminate/Macroable/", - "src/Illuminate/Collections/", - "src/Illuminate/Conditionable/" - ] - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" } ], - "description": "The Laravel Framework.", - "homepage": "https://laravel.com", + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.2 features.", + "homepage": "https://nette.org", "keywords": [ - "framework", - "laravel" + "code", + "nette", + "php", + "scaffolding" ], "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" + "issues": "https://github.com/nette/php-generator/issues", + "source": "https://github.com/nette/php-generator/tree/v4.0.8" }, - "time": "2023-06-02T13:13:10+00:00" + "time": "2023-07-30T12:05:00+00:00" }, { - "name": "laravel/serializable-closure", - "version": "v1.3.0", + "name": "nette/schema", + "version": "v1.2.3", "source": { "type": "git", - "url": "https://github.com/laravel/serializable-closure.git", - "reference": "f23fe9d4e95255dacee1bf3525e0810d1a1b0f37" + "url": "https://github.com/nette/schema.git", + "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f23fe9d4e95255dacee1bf3525e0810d1a1b0f37", - "reference": "f23fe9d4e95255dacee1bf3525e0810d1a1b0f37", + "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": ">=7.1 <8.3" }, "require-dev": { - "nesbot/carbon": "^2.61", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11" + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "1.2-dev" } }, "autoload": { - "psr-4": { - "Laravel\\SerializableClosure\\": "src/" + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.3" + }, + "time": "2022-10-13T01:24:26+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.1", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "9124157137da01b1f5a5a22d6486cb975f26db7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/9124157137da01b1f5a5a22d6486cb975f26db7e", + "reference": "9124157137da01b1f5a5a22d6486cb975f26db7e", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "David Grudl", + "homepage": "https://davidgrudl.com" }, { - "name": "Nuno Maduro", - "email": "nuno@laravel.com" + "name": "Nette Community", + "homepage": "https://nette.org/contributors" } ], - "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", "keywords": [ - "closure", - "laravel", - "serializable" + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" ], "support": { - "issues": "https://github.com/laravel/serializable-closure/issues", - "source": "https://github.com/laravel/serializable-closure" + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.1" }, - "time": "2023-01-30T18:31:20+00:00" + "time": "2023-07-30T15:42:21+00:00" }, { - "name": "league/commonmark", - "version": "2.4.0", + "name": "nunomaduro/termwind", + "version": "v1.15.1", "source": { "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048" + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d44a24690f16b8c1808bf13b1bd54ae4c63ea048", - "reference": "d44a24690f16b8c1808bf13b1bd54ae4c63ea048", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", "shasum": "" }, "require": { "ext-mbstring": "*", - "league/config": "^1.1.1", - "php": "^7.4 || ^8.0", - "psr/event-dispatcher": "^1.0", - "symfony/deprecation-contracts": "^2.1 || ^3.0", - "symfony/polyfill-php80": "^1.16" + "php": "^8.0", + "symfony/console": "^5.3.0|^6.0.0" }, "require-dev": { - "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.0", - "commonmark/commonmark.js": "0.30.0", - "composer/package-versions-deprecated": "^1.8", - "embed/embed": "^4.4", - "erusev/parsedown": "^1.0", - "ext-json": "*", - "github/gfm": "0.29.0", - "michelf/php-markdown": "^1.4 || ^2.0", - "nyholm/psr7": "^1.5", - "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.21", - "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", - "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0 || ^5.0.0" - }, - "suggest": { - "symfony/yaml": "v2.3+ required if using the Front Matter extension" + "ergebnis/phpstan-rules": "^1.0.", + "illuminate/console": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "laravel/pint": "^1.0.0", + "pestphp/pest": "^1.21.0", + "pestphp/pest-plugin-mock": "^1.0", + "phpstan/phpstan": "^1.4.6", + "phpstan/phpstan-strict-rules": "^1.1.0", + "symfony/var-dumper": "^5.2.7|^6.0.0", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] } }, "autoload": { + "files": [ + "src/Functions.php" + ], "psr-4": { - "League\\CommonMark\\": "src" + "Termwind\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" } ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", - "homepage": "https://commonmark.thephpleague.com", + "description": "Its like Tailwind CSS, but for the console.", "keywords": [ - "commonmark", - "flavored", - "gfm", - "github", - "github-flavored", - "markdown", - "md", - "parser" + "cli", + "console", + "css", + "package", + "php", + "style" ], "support": { - "docs": "https://commonmark.thephpleague.com/", - "forum": "https://github.com/thephpleague/commonmark/discussions", - "issues": "https://github.com/thephpleague/commonmark/issues", - "rss": "https://github.com/thephpleague/commonmark/releases.atom", - "source": "https://github.com/thephpleague/commonmark" + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" }, "funding": [ { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", + "url": "https://www.paypal.com/paypalme/enunomaduro", "type": "custom" }, { - "url": "https://github.com/colinodell", + "url": "https://github.com/nunomaduro", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" + "url": "https://github.com/xiCO2k", + "type": "github" } ], - "time": "2023-03-24T15:16:10+00:00" + "time": "2023-02-08T01:06:31+00:00" }, { - "name": "league/config", - "version": "v1.2.0", + "name": "phpoption/phpoption", + "version": "1.9.1", "source": { "type": "git", - "url": "https://github.com/thephpleague/config.git", - "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", - "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dd3a383e599f49777d8b628dadbb90cae435b87e", + "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e", "shasum": "" }, "require": { - "dflydev/dot-access-data": "^3.0.1", - "nette/schema": "^1.2", - "php": "^7.4 || ^8.0" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.5", - "scrutinizer/ocular": "^1.8.1", - "unleashedtech/php-coding-standard": "^3.1", - "vimeo/psalm": "^4.7.3" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, "branch-alias": { - "dev-main": "1.2-dev" + "dev-master": "1.9-dev" } }, "autoload": { "psr-4": { - "League\\Config\\": "src" + "PhpOption\\": "src/PhpOption/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "Apache-2.0" ], "authors": [ { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" } ], - "description": "Define configuration arrays with strict schemas and access values with dot notation", - "homepage": "https://config.thephpleague.com", + "description": "Option Type for PHP", "keywords": [ - "array", - "config", - "configuration", - "dot", - "dot-access", - "nested", - "schema" + "language", + "option", + "php", + "type" ], "support": { - "docs": "https://config.thephpleague.com/", - "issues": "https://github.com/thephpleague/config/issues", - "rss": "https://github.com/thephpleague/config/releases.atom", - "source": "https://github.com/thephpleague/config" + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.1" }, "funding": [ { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" + "url": "https://github.com/GrahamCampbell", + "type": "github" }, { - "url": "https://github.com/colinodell", - "type": "github" + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" } ], - "time": "2022-12-11T20:36:23+00:00" + "time": "2023-02-25T19:38:58+00:00" }, { - "name": "league/flysystem", - "version": "3.15.1", + "name": "psr/cache", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "a141d430414fcb8bf797a18716b09f759a385bed" + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a141d430414fcb8bf797a18716b09f759a385bed", - "reference": "a141d430414fcb8bf797a18716b09f759a385bed", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "shasum": "" }, "require": { - "league/flysystem-local": "^3.0.0", - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" - }, - "conflict": { - "aws/aws-sdk-php": "3.209.31 || 3.210.0", - "guzzlehttp/guzzle": "<7.0", - "guzzlehttp/ringphp": "<1.1.1", - "phpseclib/phpseclib": "3.0.15", - "symfony/http-client": "<5.2" - }, - "require-dev": { - "async-aws/s3": "^1.5", - "async-aws/simple-s3": "^1.1", - "aws/aws-sdk-php": "^3.220.0", - "composer/semver": "^3.0", - "ext-fileinfo": "*", - "ext-ftp": "*", - "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.5", - "google/cloud-storage": "^1.23", - "microsoft/azure-storage-blob": "^1.1", - "phpseclib/phpseclib": "^3.0.14", - "phpstan/phpstan": "^0.12.26", - "phpunit/phpunit": "^9.5.11", - "sabre/dav": "^4.3.1" + "php": ">=8.0.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src" + "Psr\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1151,64 +2623,47 @@ ], "authors": [ { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "File storage abstraction for PHP", + "description": "Common interface for caching libraries", "keywords": [ - "WebDAV", - "aws", - "cloud", - "file", - "files", - "filesystem", - "filesystems", - "ftp", - "s3", - "sftp", - "storage" + "cache", + "psr", + "psr-6" ], "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.15.1" + "source": "https://github.com/php-fig/cache/tree/3.0.0" }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2023-05-04T09:04:26+00:00" + "time": "2021-02-03T23:26:27+00:00" }, { - "name": "league/flysystem-local", - "version": "3.15.0", + "name": "psr/container", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "543f64c397fefdf9cfeac443ffb6beff602796b3" + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/543f64c397fefdf9cfeac443ffb6beff602796b3", - "reference": "543f64c397fefdf9cfeac443ffb6beff602796b3", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "league/flysystem": "^3.0.0", - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" + "php": ">=7.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { - "League\\Flysystem\\Local\\": "" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1217,61 +2672,51 @@ ], "authors": [ { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Local filesystem adapter for Flysystem.", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "Flysystem", - "file", - "files", - "filesystem", - "local" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], "support": { - "issues": "https://github.com/thephpleague/flysystem-local/issues", - "source": "https://github.com/thephpleague/flysystem-local/tree/3.15.0" + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2023-05-02T20:02:14+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "league/mime-type-detection", - "version": "1.11.0", + "name": "psr/event-dispatcher", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" + "php": ">=7.2.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "League\\MimeTypeDetection\\": "src" + "Psr\\EventDispatcher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1280,92 +2725,48 @@ ], "authors": [ { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Mime-type detection for Flysystem", + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2022-04-17T13:12:02+00:00" + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "monolog/monolog", - "version": "3.3.1", + "name": "psr/log", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "9b5daeaffce5b926cac47923798bba91059e60e2" + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/9b5daeaffce5b926cac47923798bba91059e60e2", - "reference": "9b5daeaffce5b926cac47923798bba91059e60e2", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^2.0 || ^3.0" - }, - "provide": { - "psr/log-implementation": "3.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7 || ^8", - "ext-json": "*", - "graylog2/gelf-php": "^1.4.2 || ^2@dev", - "guzzlehttp/guzzle": "^7.4.5", - "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^9.5.26", - "predis/predis": "^1.1 || ^2", - "ruflin/elastica": "^7", - "symfony/mailer": "^5.4 || ^6", - "symfony/mime": "^5.4 || ^6" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "ext-openssl": "Required to send log messages using SSL", - "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Monolog\\": "src/Monolog" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1374,91 +2775,48 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "https://github.com/Seldaek/monolog", + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", "keywords": [ "log", - "logging", + "psr", "psr-3" ], "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.3.1" + "source": "https://github.com/php-fig/log/tree/3.0.0" }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2023-02-06T13:46:10+00:00" + "time": "2021-07-14T16:46:02+00:00" }, { - "name": "nesbot/carbon", - "version": "2.67.0", + "name": "psr/simple-cache", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "c1001b3bc75039b07f38a79db5237c4c529e04c8" + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/c1001b3bc75039b07f38a79db5237c4c529e04c8", - "reference": "c1001b3bc75039b07f38a79db5237c4c529e04c8", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", "shasum": "" }, "require": { - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" - }, - "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4", - "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.99 || ^1.7.14", - "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "squizlabs/php_codesniffer": "^3.4" + "php": ">=8.0.0" }, - "bin": [ - "bin/carbon" - ], "type": "library", "extra": { - "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - }, - "phpstan": { - "includes": [ - "extension.neon" - ] + "branch-alias": { + "dev-master": "3.0.x-dev" } }, "autoload": { "psr-4": { - "Carbon\\": "src/Carbon/" + "Psr\\SimpleCache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1467,237 +2825,245 @@ ], "authors": [ { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "https://markido.com" - }, - { - "name": "kylekatarnls", - "homepage": "https://github.com/kylekatarnls" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "https://carbon.nesbot.com", + "description": "Common interfaces for simple caching", "keywords": [ - "date", - "datetime", - "time" + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" ], "support": { - "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, - "funding": [ - { - "url": "https://github.com/sponsors/kylekatarnls", - "type": "github" - }, - { - "url": "https://opencollective.com/Carbon#sponsor", - "type": "opencollective" - }, - { - "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", - "type": "tidelift" - } - ], - "time": "2023-05-25T22:09:47+00:00" + "time": "2021-10-29T13:26:27+00:00" }, { - "name": "nette/schema", - "version": "v1.2.3", + "name": "ramsey/collection", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/nette/schema.git", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" + "url": "https://github.com/ramsey/collection.git", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", "shasum": "" }, "require": { - "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.3" + "php": "^8.1" }, "require-dev": { - "nette/tester": "^2.3 || ^2.4", - "phpstan/phpstan-nette": "^1.0", - "tracy/tracy": "^2.7" + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "1.2-dev" + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Ramsey\\Collection\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" + "MIT" ], "authors": [ { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" } ], - "description": "📐 Nette Schema: validating data structures against a given Schema.", - "homepage": "https://nette.org", + "description": "A PHP library for representing and manipulating collections.", "keywords": [ - "config", - "nette" + "array", + "collection", + "hash", + "map", + "queue", + "set" ], "support": { - "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.3" + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.0.0" }, - "time": "2022-10-13T01:24:26+00:00" + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-31T21:50:55+00:00" }, { - "name": "nette/utils", - "version": "v4.0.0", + "name": "ramsey/uuid", + "version": "4.7.4", "source": { "type": "git", - "url": "https://github.com/nette/utils.git", - "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e" + "url": "https://github.com/ramsey/uuid.git", + "reference": "60a4c63ab724854332900504274f6150ff26d286" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/cacdbf5a91a657ede665c541eda28941d4b09c1e", - "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/60a4c63ab724854332900504274f6150ff26d286", + "reference": "60a4c63ab724854332900504274f6150ff26d286", "shasum": "" }, "require": { - "php": ">=8.0 <8.3" + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" }, - "conflict": { - "nette/finder": "<3", - "nette/schema": "<1.2.2" + "replace": { + "rhumsaa/uuid": "self.version" }, "require-dev": { - "jetbrains/phpstorm-attributes": "dev-master", - "nette/tester": "^2.4", - "phpstan/phpstan": "^1.0", - "tracy/tracy": "^2.9" + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" }, "suggest": { - "ext-gd": "to use Image", - "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", - "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", - "ext-json": "to use Nette\\Utils\\Json", - "ext-mbstring": "to use Strings::lower() etc...", - "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", - "ext-xml": "to use Strings::length() etc. when mbstring is not available" + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "4.0-dev" + "captainhook": { + "force-install": true } }, "autoload": { - "classmap": [ - "src/" - ] + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" + "MIT" ], - "authors": [ + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.7.4" + }, + "funding": [ { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" + "url": "https://github.com/ramsey", + "type": "github" }, { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" } ], - "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", - "homepage": "https://nette.org", - "keywords": [ - "array", - "core", - "datetime", - "images", - "json", - "nette", - "paginator", - "password", - "slugify", - "string", - "unicode", - "utf-8", - "utility", - "validation" - ], - "support": { - "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.0" - }, - "time": "2023-02-02T10:41:53+00:00" + "time": "2023-04-15T23:01:58+00:00" }, { - "name": "nunomaduro/termwind", - "version": "v1.15.1", + "name": "spiral/attributes", + "version": "v3.1.2", "source": { "type": "git", - "url": "https://github.com/nunomaduro/termwind.git", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + "url": "https://github.com/spiral/attributes.git", + "reference": "aa45e59e0d50119d237177a897ee801efce3b8d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "url": "https://api.github.com/repos/spiral/attributes/zipball/aa45e59e0d50119d237177a897ee801efce3b8d9", + "reference": "aa45e59e0d50119d237177a897ee801efce3b8d9", "shasum": "" }, - "require": { - "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^5.3.0|^6.0.0" + "require": { + "php": ">=8.1", + "psr/cache": ">=1.0", + "psr/simple-cache": "1 - 3" }, "require-dev": { - "ergebnis/phpstan-rules": "^1.0.", - "illuminate/console": "^8.0|^9.0", - "illuminate/support": "^8.0|^9.0", - "laravel/pint": "^1.0.0", - "pestphp/pest": "^1.21.0", - "pestphp/pest-plugin-mock": "^1.0", - "phpstan/phpstan": "^1.4.6", - "phpstan/phpstan-strict-rules": "^1.1.0", - "symfony/var-dumper": "^5.2.7|^6.0.0", - "thecodingmachine/phpstan-strict-rules": "^1.0.0" + "doctrine/annotations": "^1.12 || ^2.0", + "jetbrains/phpstorm-attributes": "^1.0", + "phpunit/phpunit": "^9.5.20", + "symfony/var-dumper": "^5.2 || ^6.0", + "vimeo/psalm": "^4.21" + }, + "suggest": { + "doctrine/annotations": "^1.0 for Doctrine metadata driver support" }, "type": "library", "extra": { - "laravel": { - "providers": [ - "Termwind\\Laravel\\TermwindServiceProvider" - ] + "branch-alias": { + "dev-master": "3.1.x-dev" } }, "autoload": { "files": [ - "src/Functions.php" + "src/polyfill.php" ], "psr-4": { - "Termwind\\": "src/" + "Spiral\\Attributes\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1706,140 +3072,116 @@ ], "authors": [ { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" + "name": "Kirill Nesmeyanov (SerafimArts)", + "email": "kirill.nesmeyanov@spiralscout.com" } ], - "description": "Its like Tailwind CSS, but for the console.", - "keywords": [ - "cli", - "console", - "css", - "package", - "php", - "style" - ], + "description": "PHP attributes reader", + "homepage": "https://spiral.dev", "support": { - "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" + "issues": "https://github.com/spiral/attributes/issues", + "source": "https://github.com/spiral/attributes" }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://github.com/xiCO2k", - "type": "github" - } - ], - "time": "2023-02-08T01:06:31+00:00" + "time": "2023-07-04T14:18:50+00:00" }, { - "name": "phpoption/phpoption", - "version": "1.9.1", + "name": "spiral/core", + "version": "3.7.1", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e" + "url": "https://github.com/spiral/core.git", + "reference": "baa4fcdbc319a2c6ba4037601f4516aa3f6fac14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dd3a383e599f49777d8b628dadbb90cae435b87e", - "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e", + "url": "https://api.github.com/repos/spiral/core/zipball/baa4fcdbc319a2c6ba4037601f4516aa3f6fac14", + "reference": "baa4fcdbc319a2c6ba4037601f4516aa3f6fac14", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0" + "php": ">=8.1", + "psr/container": "^1.1|^2.0" + }, + "provide": { + "psr/container-implementation": "^1.1|^2.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5.20", + "vimeo/psalm": "^5.9" }, "type": "library", "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": true - }, "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "3.8.x-dev" } }, "autoload": { "psr-4": { - "PhpOption\\": "src/PhpOption/" + "Spiral\\Core\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh" + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" }, { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.1" - }, - "funding": [ + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, { - "url": "https://github.com/GrahamCampbell", - "type": "github" + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" }, { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" } ], - "time": "2023-02-25T19:38:58+00:00" + "description": "IoC container, IoC scopes, factory, memory, configuration interfaces", + "homepage": "https://spiral.dev", + "support": { + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/core" + }, + "time": "2023-04-20T16:02:14+00:00" }, { - "name": "psr/container", - "version": "2.0.2", + "name": "spiral/files", + "version": "3.7.1", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + "url": "https://github.com/spiral/files.git", + "reference": "7f22e4967b585d01c11b81e430608efdb8c9645a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "url": "https://api.github.com/repos/spiral/files/zipball/7f22e4967b585d01c11b81e430608efdb8c9645a", + "reference": "7f22e4967b585d01c11b81e430608efdb8c9645a", "shasum": "" }, "require": { - "php": ">=7.4.0" + "php": ">=8.1" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5.20", + "vimeo/psalm": "^5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.8.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "Spiral\\Files\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1848,51 +3190,63 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], + "description": "File Toolkit: atomic file manager", + "homepage": "https://spiral.dev", "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/files" }, - "time": "2021-11-05T16:47:00+00:00" + "time": "2023-04-20T16:02:36+00:00" }, { - "name": "psr/event-dispatcher", - "version": "1.0.0", + "name": "spiral/logger", + "version": "3.7.1", "source": { "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + "url": "https://github.com/spiral/logger.git", + "reference": "869aa5fad56d135e96338b63d5de4b69b7920bb8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://api.github.com/repos/spiral/logger/zipball/869aa5fad56d135e96338b63d5de4b69b7920bb8", + "reference": "869aa5fad56d135e96338b63d5de4b69b7920bb8", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=8.1", + "psr/log": "1 - 3", + "spiral/core": "^3.7.1" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5.20", + "vimeo/psalm": "^5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.8.x-dev" } }, "autoload": { "psr-4": { - "Psr\\EventDispatcher\\": "src/" + "Spiral\\Logger\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1901,48 +3255,61 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" } ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], + "description": "LogFactory and global log listeners", + "homepage": "https://spiral.dev", "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/logger" }, - "time": "2019-01-08T18:20:26+00:00" + "time": "2023-04-21T14:43:14+00:00" }, { - "name": "psr/log", - "version": "3.0.0", + "name": "spiral/pagination", + "version": "3.7.1", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "url": "https://github.com/spiral/pagination.git", + "reference": "753d2604cda3363414c1a703bafb709d57a52918" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/spiral/pagination/zipball/753d2604cda3363414c1a703bafb709d57a52918", + "reference": "753d2604cda3363414c1a703bafb709d57a52918", "shasum": "" }, "require": { - "php": ">=8.0.0" + "php": ">=8.1" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5.20", + "vimeo/psalm": "^5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "3.8.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "src" + "Spiral\\Pagination\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1951,48 +3318,65 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], + "description": "Common pagination interfaces", + "homepage": "https://spiral.dev", "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/pagination" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2023-04-20T16:06:33+00:00" }, { - "name": "psr/simple-cache", - "version": "3.0.0", + "name": "spiral/reactor", + "version": "3.7.1", "source": { "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + "url": "https://github.com/spiral/reactor.git", + "reference": "2cb26d1231a264d7811716d2144e4d4bbddb5b5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "url": "https://api.github.com/repos/spiral/reactor/zipball/2cb26d1231a264d7811716d2144e4d4bbddb5b5f", + "reference": "2cb26d1231a264d7811716d2144e4d4bbddb5b5f", "shasum": "" }, "require": { - "php": ">=8.0.0" + "doctrine/inflector": "^1.4|^2.0", + "nette/php-generator": "^4.0.1", + "php": ">=8.1", + "spiral/files": "^3.7.1" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5.20", + "psr/container": "^1.1|^2.0", + "vimeo/psalm": "^5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "3.8.x-dev" } }, "autoload": { "psr-4": { - "Psr\\SimpleCache\\": "src/" + "Spiral\\Reactor\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2001,74 +3385,67 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" } ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], + "description": "Reactor: Code Scaffolding", + "homepage": "https://spiral.dev", "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/reactor" }, - "time": "2021-10-29T13:26:27+00:00" + "time": "2023-04-21T14:43:14+00:00" }, { - "name": "ramsey/collection", - "version": "2.0.0", + "name": "spiral/tokenizer", + "version": "3.7.1", "source": { "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "shasum": "" + "url": "https://github.com/spiral/tokenizer.git", + "reference": "ac2001df3ed7438f62f1ef2e294cf4bdccb8613d" }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", - "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", - "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpcsstandards/phpcsutils": "^1.0.0-rc1", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18.4", - "ramsey/coding-standard": "^2.0.3", - "ramsey/conventional-commits": "^1.3", - "vimeo/psalm": "^5.4" + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/tokenizer/zipball/ac2001df3ed7438f62f1ef2e294cf4bdccb8613d", + "reference": "ac2001df3ed7438f62f1ef2e294cf4bdccb8613d", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=8.1", + "spiral/core": "^3.7.1", + "spiral/logger": "^3.7.1", + "symfony/finder": "^5.3.7|^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.5.20", + "spiral/attributes": "^2.8|^3.0", + "spiral/boot": "^3.7.1", + "spiral/files": "^3.7.1", + "vimeo/psalm": "^5.9" }, "type": "library", "extra": { - "captainhook": { - "force-install": true - }, - "ramsey/conventional-commits": { - "configFile": "conventional-commits.json" + "branch-alias": { + "dev-master": "3.8.x-dev" } }, "autoload": { "psr-4": { - "Ramsey\\Collection\\": "src/" + "Spiral\\Tokenizer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2077,127 +3454,90 @@ ], "authors": [ { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" - }, - "funding": [ + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, { - "url": "https://github.com/ramsey", - "type": "github" + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" }, { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" } ], - "time": "2022-12-31T21:50:55+00:00" + "description": "Static Analysis: Class and Invocation locators", + "homepage": "https://spiral.dev", + "support": { + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/tokenizer" + }, + "time": "2023-04-21T14:43:41+00:00" }, { - "name": "ramsey/uuid", - "version": "4.7.4", + "name": "stripe/stripe-php", + "version": "v10.20.0", "source": { "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "60a4c63ab724854332900504274f6150ff26d286" + "url": "https://github.com/stripe/stripe-php.git", + "reference": "6be8827ee0d6466bf48e2b6997a8feac596405f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/60a4c63ab724854332900504274f6150ff26d286", - "reference": "60a4c63ab724854332900504274f6150ff26d286", + "url": "https://api.github.com/repos/stripe/stripe-php/zipball/6be8827ee0d6466bf48e2b6997a8feac596405f9", + "reference": "6be8827ee0d6466bf48e2b6997a8feac596405f9", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "ext-curl": "*", "ext-json": "*", - "php": "^8.0", - "ramsey/collection": "^1.2 || ^2.0" - }, - "replace": { - "rhumsaa/uuid": "self.version" + "ext-mbstring": "*", + "php": ">=5.6.0" }, "require-dev": { - "captainhook/captainhook": "^5.10", - "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", - "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + "friendsofphp/php-cs-fixer": "3.5.0", + "php-coveralls/php-coveralls": "^2.5", + "phpstan/phpstan": "^1.2", + "phpunit/phpunit": "^5.7 || ^9.0", + "squizlabs/php_codesniffer": "^3.3" }, "type": "library", "extra": { - "captainhook": { - "force-install": true + "branch-alias": { + "dev-master": "2.0-dev" } }, "autoload": { - "files": [ - "src/functions.php" - ], "psr-4": { - "Ramsey\\Uuid\\": "src/" + "Stripe\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "authors": [ + { + "name": "Stripe and contributors", + "homepage": "https://github.com/stripe/stripe-php/contributors" + } + ], + "description": "Stripe PHP Library", + "homepage": "https://stripe.com/", "keywords": [ - "guid", - "identifier", - "uuid" + "api", + "payment processing", + "stripe" ], "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.4" + "issues": "https://github.com/stripe/stripe-php/issues", + "source": "https://github.com/stripe/stripe-php/tree/v10.20.0" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2023-04-15T23:01:58+00:00" + "time": "2023-08-03T20:01:03+00:00" }, { "name": "symfony/console", @@ -2291,16 +3631,16 @@ }, { "name": "symfony/css-selector", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf" + "reference": "883d961421ab1709877c10ac99451632a3d6fa57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf", - "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/883d961421ab1709877c10ac99451632a3d6fa57", + "reference": "883d961421ab1709877c10ac99451632a3d6fa57", "shasum": "" }, "require": { @@ -2336,7 +3676,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.3.0" + "source": "https://github.com/symfony/css-selector/tree/v6.3.2" }, "funding": [ { @@ -2352,7 +3692,7 @@ "type": "tidelift" } ], - "time": "2023-03-20T16:43:42+00:00" + "time": "2023-07-12T16:00:22+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2423,16 +3763,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "99d2d814a6351461af350ead4d963bd67451236f" + "reference": "85fd65ed295c4078367c784e8a5a6cee30348b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/99d2d814a6351461af350ead4d963bd67451236f", - "reference": "99d2d814a6351461af350ead4d963bd67451236f", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/85fd65ed295c4078367c784e8a5a6cee30348b7a", + "reference": "85fd65ed295c4078367c784e8a5a6cee30348b7a", "shasum": "" }, "require": { @@ -2477,7 +3817,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.3.0" + "source": "https://github.com/symfony/error-handler/tree/v6.3.2" }, "funding": [ { @@ -2493,7 +3833,7 @@ "type": "tidelift" } ], - "time": "2023-05-10T12:03:13+00:00" + "time": "2023-07-16T17:05:46+00:00" }, { "name": "symfony/event-dispatcher", @@ -2717,16 +4057,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "718a97ed430d34e5c568ea2c44eab708c6efbefb" + "reference": "43ed99d30f5f466ffa00bdac3f5f7aa9cd7617c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/718a97ed430d34e5c568ea2c44eab708c6efbefb", - "reference": "718a97ed430d34e5c568ea2c44eab708c6efbefb", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/43ed99d30f5f466ffa00bdac3f5f7aa9cd7617c3", + "reference": "43ed99d30f5f466ffa00bdac3f5f7aa9cd7617c3", "shasum": "" }, "require": { @@ -2774,7 +4114,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.3.0" + "source": "https://github.com/symfony/http-foundation/tree/v6.3.2" }, "funding": [ { @@ -2790,20 +4130,20 @@ "type": "tidelift" } ], - "time": "2023-05-19T12:46:45+00:00" + "time": "2023-07-23T21:58:39+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.3.0", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "241973f3dd900620b1ca052fe409144f11aea748" + "reference": "d3b567f0addf695e10b0c6d57564a9bea2e058ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/241973f3dd900620b1ca052fe409144f11aea748", - "reference": "241973f3dd900620b1ca052fe409144f11aea748", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d3b567f0addf695e10b0c6d57564a9bea2e058ee", + "reference": "d3b567f0addf695e10b0c6d57564a9bea2e058ee", "shasum": "" }, "require": { @@ -2887,7 +4227,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.3.0" + "source": "https://github.com/symfony/http-kernel/tree/v6.3.3" }, "funding": [ { @@ -2903,7 +4243,7 @@ "type": "tidelift" } ], - "time": "2023-05-30T19:03:32+00:00" + "time": "2023-07-31T10:33:00+00:00" }, { "name": "symfony/mailer", @@ -2987,20 +4327,21 @@ }, { "name": "symfony/mime", - "version": "v6.3.0", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad" + "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7b5d2121858cd6efbed778abce9cfdd7ab1f62ad", - "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad", + "url": "https://api.github.com/repos/symfony/mime/zipball/9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", + "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", "shasum": "" }, "require": { "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -3009,7 +4350,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<5.4", - "symfony/serializer": "<6.2" + "symfony/serializer": "<6.2.13|>=6.3,<6.3.2" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", @@ -3018,7 +4359,7 @@ "symfony/dependency-injection": "^5.4|^6.0", "symfony/property-access": "^5.4|^6.0", "symfony/property-info": "^5.4|^6.0", - "symfony/serializer": "^6.2" + "symfony/serializer": "~6.2.13|^6.3.2" }, "type": "library", "autoload": { @@ -3050,7 +4391,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.3.0" + "source": "https://github.com/symfony/mime/tree/v6.3.3" }, "funding": [ { @@ -3066,7 +4407,7 @@ "type": "tidelift" } ], - "time": "2023-04-28T15:57:00+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/polyfill-ctype", @@ -3866,20 +5207,21 @@ }, { "name": "symfony/routing", - "version": "v6.3.0", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b" + "reference": "e7243039ab663822ff134fbc46099b5fdfa16f6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b", - "reference": "827f59fdc67eecfc4dfff81f9c93bf4d98f0c89b", + "url": "https://api.github.com/repos/symfony/routing/zipball/e7243039ab663822ff134fbc46099b5fdfa16f6a", + "reference": "e7243039ab663822ff134fbc46099b5fdfa16f6a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "doctrine/annotations": "<1.12", @@ -3928,7 +5270,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.3.0" + "source": "https://github.com/symfony/routing/tree/v6.3.3" }, "funding": [ { @@ -3944,7 +5286,7 @@ "type": "tidelift" } ], - "time": "2023-04-28T15:57:00+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/service-contracts", @@ -4116,20 +5458,21 @@ }, { "name": "symfony/translation", - "version": "v6.3.0", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f" + "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/f72b2cba8f79dd9d536f534f76874b58ad37876f", - "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f", + "url": "https://api.github.com/repos/symfony/translation/zipball/3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", + "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", "shasum": "" }, "require": { "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, @@ -4190,7 +5533,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.3.0" + "source": "https://github.com/symfony/translation/tree/v6.3.3" }, "funding": [ { @@ -4206,7 +5549,7 @@ "type": "tidelift" } ], - "time": "2023-05-19T12:46:45+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/translation-contracts", @@ -4599,15 +5942,211 @@ "php": ">=7.0.0" }, "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2022-03-08T17:03:00+00:00" + }, + { + "name": "wayofdev/laravel-cycle-orm-adapter", + "version": "v4.0.46", + "source": { + "type": "git", + "url": "https://github.com/wayofdev/laravel-cycle-orm-adapter.git", + "reference": "77cdc6255b6a098cc8c267ae0c8aa2fefe01b803" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wayofdev/laravel-cycle-orm-adapter/zipball/77cdc6255b6a098cc8c267ae0c8aa2fefe01b803", + "reference": "77cdc6255b6a098cc8c267ae0c8aa2fefe01b803", + "shasum": "" + }, + "require": { + "cycle/annotated": "*", + "cycle/database": "^2.4", + "cycle/entity-behavior": "^1.2", + "cycle/migrations": "^4.0", + "cycle/orm": "^2.3", + "cycle/schema-migrations-generator": "^2.1", + "cycle/schema-renderer": "^1.2", + "ext-pdo": "*", + "illuminate/console": "^10.9", + "illuminate/contracts": "^10.9", + "illuminate/support": "^10.9", + "laminas/laminas-hydrator": "^4.14", + "php": "^8.2", + "spiral/attributes": "^3.1", + "symfony/console": "^6.2" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.30", + "fakerphp/faker": "^1.21", + "jetbrains/phpstorm-attributes": "^1.0", + "nunomaduro/collision": "^7.5", + "nunomaduro/larastan": "^2.5", + "orchestra/testbench": "^8.5", + "pestphp/pest": "^2.5", + "pestphp/pest-plugin-laravel": "^2.0", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-deprecation-rules": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpstan/phpstan-strict-rules": "^1.5", + "phpunit/phpunit": "^10.1", + "roave/security-advisories": "dev-latest", + "spatie/laravel-ray": "^1.32", + "wayofdev/cs-fixer-config": "^1.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "WayOfDev\\Cycle\\Bridge\\Laravel\\Providers\\CycleServiceProvider" + ], + "aliases": { + "Package": "Cycle" + } + }, + "composer-normalize": { + "indent-size": 4, + "indent-style": "space" + } + }, + "autoload": { + "psr-4": { + "WayOfDev\\Cycle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andrij Orlenko", + "email": "the@wayof.dev" + } + ], + "description": "PHP package template with GitHub Actions", + "homepage": "https://wayof.dev", + "support": { + "issues": "https://github.com/wayofdev/laravel-cycle-orm-adapter/issues", + "source": "https://github.com/wayofdev/laravel-cycle-orm-adapter" + }, + "funding": [ + { + "url": "https://github.com/wayofdev", + "type": "github" + } + ], + "time": "2023-08-08T14:28:43+00:00" + }, + { + "name": "wayofdev/laravel-webhook-client", + "version": "v1.0.7", + "source": { + "type": "git", + "url": "https://github.com/wayofdev/laravel-webhook-client.git", + "reference": "7752e43623f74630d0b68f849a0c11af3072e53f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wayofdev/laravel-webhook-client/zipball/7752e43623f74630d0b68f849a0c11af3072e53f", + "reference": "7752e43623f74630d0b68f849a0c11af3072e53f", + "shasum": "" + }, + "require": { + "cycle/annotated": "^3.3", + "cycle/database": "^2.5", + "cycle/entity-behavior": "^1.2", + "cycle/orm": "^2.3", + "ext-pdo": "*", + "laravel/framework": "^v10.13", + "php": "^8.2", + "symfony/http-foundation": "^6.3", + "wayofdev/laravel-cycle-orm-adapter": "^4.0" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.31", + "nunomaduro/larastan": "^2.6", + "orchestra/testbench": "^8.5", + "pestphp/pest": "^2.6", + "pestphp/pest-plugin-laravel": "^2.0.0", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-deprecation-rules": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpstan/phpstan-strict-rules": "^1.5", + "phpunit/phpunit": "^10.2", + "roave/security-advisories": "dev-latest", + "wayofdev/cs-fixer-config": "^1.2" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "WayOfDev\\WebhookClient\\Bridge\\Laravel\\Providers\\WebhookClientServiceProvider" + ] + }, + "composer-normalize": { + "indent-size": 4, + "indent-style": "space" + } + }, "autoload": { "psr-4": { - "voku\\": "src/voku/" + "WayOfDev\\WebhookClient\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4616,44 +6155,23 @@ ], "authors": [ { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "name": "lotyp", + "email": "the@wayof.dev" } ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], + "description": "Handle Stripe webhooks in a Laravel application with support of Cycle-ORM.", + "homepage": "https://wayof.dev", "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "issues": "https://github.com/wayofdev/laravel-webhook-client/issues", + "source": "https://github.com/wayofdev/laravel-webhook-client" }, "funding": [ { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", + "url": "https://github.com/wayofdev", "type": "github" - }, - { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2023-08-08T15:46:05+00:00" }, { "name": "webmozart/assert", @@ -4712,21 +6230,146 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" + }, + { + "name": "yiisoft/friendly-exception", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/friendly-exception.git", + "reference": "4b4a19edff251791e3c92d4d83435d2716351ff4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/friendly-exception/zipball/4b4a19edff251791e3c92d4d83435d2716351ff4", + "reference": "4b4a19edff251791e3c92d4d83435d2716351ff4", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.4", + "roave/infection-static-analysis-plugin": "^1.5", + "spatie/phpunit-watcher": "^1.23", + "vimeo/psalm": "^4.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Yiisoft\\FriendlyException\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "An interface for friendlier exception", + "homepage": "http://www.yiiframework.com/", + "keywords": [ + "error handling", + "exception", + "exceptions", + "friendly" + ], + "support": { + "forum": "http://www.yiiframework.com/forum/", + "irc": "irc://irc.freenode.net/yii", + "issues": "https://github.com/yiisoft/friendly-exception/issues?state=open", + "source": "https://github.com/yiisoft/friendly-exception", + "wiki": "http://www.yiiframework.com/wiki/" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + } + ], + "time": "2021-10-26T21:43:25+00:00" + }, + { + "name": "yiisoft/injector", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/injector.git", + "reference": "e78a0da15625c59cc0969985bfa05f2ea1b6ddea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/injector/zipball/e78a0da15625c59cc0969985bfa05f2ea1b6ddea", + "reference": "e78a0da15625c59cc0969985bfa05f2ea1b6ddea", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "psr/container": "^1.0|^2.0" + }, + "require-dev": { + "phpbench/phpbench": "^1.1", + "phpunit/phpunit": "^9.5", + "roave/infection-static-analysis-plugin": "^1.16", + "spatie/phpunit-watcher": "^1.23", + "vimeo/psalm": "^4.18", + "yiisoft/test-support": "^1.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Yiisoft\\Injector\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "PSR-11 compatible injector. Executes a callable and makes an instances by injecting dependencies from a given DI container.", + "homepage": "https://www.yiiframework.com/", + "keywords": [ + "PSR-11", + "dependency injection", + "di", + "injector", + "reflection" + ], + "support": { + "chat": "https://t.me/yii3en", + "forum": "https://www.yiiframework.com/forum/", + "irc": "irc://irc.freenode.net/yii", + "issues": "https://github.com/yiisoft/injector/issues?state=open", + "source": "https://github.com/yiisoft/injector", + "wiki": "https://www.yiiframework.com/wiki/" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + } + ], + "time": "2022-07-18T15:18:30+00:00" } ], "packages-dev": [ { "name": "brianium/paratest", - "version": "v7.1.4", + "version": "v7.2.5", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "153e68eb9e697baa3acf1db1d8ae1d1eb19fb816" + "reference": "4d7ad5b6564f63baa1b948ecad05439f22880942" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/153e68eb9e697baa3acf1db1d8ae1d1eb19fb816", - "reference": "153e68eb9e697baa3acf1db1d8ae1d1eb19fb816", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/4d7ad5b6564f63baa1b948ecad05439f22880942", + "reference": "4d7ad5b6564f63baa1b948ecad05439f22880942", "shasum": "" }, "require": { @@ -4736,26 +6379,26 @@ "ext-simplexml": "*", "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", "jean85/pretty-package-versions": "^2.0.5", - "php": "~8.1.0 || ~8.2.0", - "phpunit/php-code-coverage": "^10.1.1", - "phpunit/php-file-iterator": "^4.0.1", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0", + "phpunit/php-code-coverage": "^10.1.3", + "phpunit/php-file-iterator": "^4.0.2", "phpunit/php-timer": "^6.0", - "phpunit/phpunit": "^10.1.2", + "phpunit/phpunit": "^10.3.1", "sebastian/environment": "^6.0.1", - "symfony/console": "^6.2.10", - "symfony/process": "^6.2.10" + "symfony/console": "^6.3.2", + "symfony/process": "^6.3.2" }, "require-dev": { "doctrine/coding-standard": "^12.0.0", "ext-pcov": "*", "ext-posix": "*", - "infection/infection": "^0.26.21", - "phpstan/phpstan": "^1.10.14", + "infection/infection": "^0.27.0", + "phpstan/phpstan": "^1.10.26", "phpstan/phpstan-deprecation-rules": "^1.1.3", - "phpstan/phpstan-phpunit": "^1.3.11", + "phpstan/phpstan-phpunit": "^1.3.13", "phpstan/phpstan-strict-rules": "^1.5.1", "squizlabs/php_codesniffer": "^3.7.2", - "symfony/filesystem": "^6.2.10" + "symfony/filesystem": "^6.3.1" }, "bin": [ "bin/paratest", @@ -4796,7 +6439,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.1.4" + "source": "https://github.com/paratestphp/paratest/tree/v7.2.5" }, "funding": [ { @@ -4808,7 +6451,7 @@ "type": "paypal" } ], - "time": "2023-05-05T09:09:30+00:00" + "time": "2023-08-08T13:23:59+00:00" }, { "name": "composer/pcre", @@ -5028,82 +6671,6 @@ ], "time": "2022-02-25T21:32:43+00:00" }, - { - "name": "doctrine/annotations", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6", - "vimeo/psalm": "^4.10" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.1" - }, - "time": "2023-02-02T22:02:53+00:00" - }, { "name": "doctrine/deprecations", "version": "v1.1.1", @@ -6589,24 +8156,24 @@ }, { "name": "orchestra/testbench", - "version": "v8.5.6", + "version": "v8.6.1", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "ad082f7dc468ffb879340421fc4d3db6cf5129b6" + "reference": "face71aed91a7f5f19ad13846cd81be27f29340d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/ad082f7dc468ffb879340421fc4d3db6cf5129b6", - "reference": "ad082f7dc468ffb879340421fc4d3db6cf5129b6", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/face71aed91a7f5f19ad13846cd81be27f29340d", + "reference": "face71aed91a7f5f19ad13846cd81be27f29340d", "shasum": "" }, "require": { "composer-runtime-api": "^2.2", "fakerphp/faker": "^1.21", - "laravel/framework": ">=10.10.0 <10.15.0", + "laravel/framework": ">=10.17.0 <10.19.0", "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": ">=8.5.6 <8.6.0", + "orchestra/testbench-core": ">=8.6.0 <8.7.0", "php": "^8.1", "phpunit/phpunit": "^9.6 || ^10.1", "spatie/laravel-ray": "^1.32.4", @@ -6638,22 +8205,22 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v8.5.6" + "source": "https://github.com/orchestral/testbench/tree/v8.6.1" }, - "time": "2023-06-11T12:51:04+00:00" + "time": "2023-08-08T14:41:41+00:00" }, { "name": "orchestra/testbench-core", - "version": "v8.5.9", + "version": "v8.6.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "03049a27967ab80972a7c0c0a5be87e421b27ff4" + "reference": "1c7d8d62a176d3692eb9cbb48f64485d64ed00ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/03049a27967ab80972a7c0c0a5be87e421b27ff4", - "reference": "03049a27967ab80972a7c0c0a5be87e421b27ff4", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/1c7d8d62a176d3692eb9cbb48f64485d64ed00ec", + "reference": "1c7d8d62a176d3692eb9cbb48f64485d64ed00ec", "shasum": "" }, "require": { @@ -6662,7 +8229,7 @@ }, "require-dev": { "fakerphp/faker": "^1.21", - "laravel/framework": "^10.13.5", + "laravel/framework": "^10.17", "laravel/pint": "^1.6", "mockery/mockery": "^1.5.1", "phpstan/phpstan": "^1.10.7", @@ -6675,7 +8242,7 @@ "suggest": { "brianium/paratest": "Allow using parallel tresting (^6.4 || ^7.1.4).", "fakerphp/faker": "Allow using Faker for testing (^1.21).", - "laravel/framework": "Required for testing (^10.13.5).", + "laravel/framework": "Required for testing (^10.17).", "mockery/mockery": "Allow using Mockery for testing (^1.5.1).", "nunomaduro/collision": "Allow using Laravel style tests output and parallel testing (^6.4 || ^7.4).", "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^8.0).", @@ -6721,38 +8288,39 @@ "issues": "https://github.com/orchestral/testbench/issues", "source": "https://github.com/orchestral/testbench-core" }, - "time": "2023-07-12T00:16:23+00:00" + "time": "2023-08-08T08:10:31+00:00" }, { "name": "pestphp/pest", - "version": "v2.6.2", + "version": "v2.12.2", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "436b20857d84f2cd62411ee32f745263e74b9cc4" + "reference": "e3a21384e69d6343f8223578bbc38d80e1224f08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/436b20857d84f2cd62411ee32f745263e74b9cc4", - "reference": "436b20857d84f2cd62411ee32f745263e74b9cc4", + "url": "https://api.github.com/repos/pestphp/pest/zipball/e3a21384e69d6343f8223578bbc38d80e1224f08", + "reference": "e3a21384e69d6343f8223578bbc38d80e1224f08", "shasum": "" }, "require": { - "brianium/paratest": "^7.1.4", - "nunomaduro/collision": "^7.5.2", + "brianium/paratest": "^7.2.4", + "nunomaduro/collision": "^7.8.1", "nunomaduro/termwind": "^1.15.1", "pestphp/pest-plugin": "^2.0.1", - "pestphp/pest-plugin-arch": "^2.1.2", + "pestphp/pest-plugin-arch": "^2.2.3", "php": "^8.1.0", - "phpunit/phpunit": "^10.2.0" + "phpunit/phpunit": "^10.3.1" }, "conflict": { - "phpunit/phpunit": ">10.2.0", + "phpunit/phpunit": ">10.3.1", "webmozart/assert": "<1.11.0" }, "require-dev": { - "pestphp/pest-dev-tools": "^2.9.0", - "symfony/process": "^6.3.0" + "pestphp/pest-dev-tools": "^2.14.0", + "pestphp/pest-plugin-type-coverage": "^2.0.0", + "symfony/process": "^6.3.2" }, "bin": [ "bin/pest" @@ -6773,6 +8341,8 @@ "Pest\\Plugins\\ProcessIsolation", "Pest\\Plugins\\Profile", "Pest\\Plugins\\Retry", + "Pest\\Plugins\\Snapshot", + "Pest\\Plugins\\Verbose", "Pest\\Plugins\\Version", "Pest\\Plugins\\Parallel" ] @@ -6797,7 +8367,7 @@ "email": "enunomaduro@gmail.com" } ], - "description": "An elegant PHP Testing Framework.", + "description": "The elegant PHP Testing Framework.", "keywords": [ "framework", "pest", @@ -6808,7 +8378,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v2.6.2" + "source": "https://github.com/pestphp/pest/tree/v2.12.2" }, "funding": [ { @@ -6820,7 +8390,7 @@ "type": "github" } ], - "time": "2023-06-02T21:46:07+00:00" + "time": "2023-08-07T09:29:25+00:00" }, { "name": "pestphp/pest-plugin", @@ -6957,27 +8527,27 @@ }, { "name": "pestphp/pest-plugin-laravel", - "version": "v2.0.0", + "version": "v2.1.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest-plugin-laravel.git", - "reference": "fc28f077fc3a461dfc11de4f50dbfef2aba1186d" + "reference": "db6295986e3c506dbf37c16ddc64c4a83e96bd75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/fc28f077fc3a461dfc11de4f50dbfef2aba1186d", - "reference": "fc28f077fc3a461dfc11de4f50dbfef2aba1186d", + "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/db6295986e3c506dbf37c16ddc64c4a83e96bd75", + "reference": "db6295986e3c506dbf37c16ddc64c4a83e96bd75", "shasum": "" }, "require": { - "laravel/framework": "^10.4.1", - "pestphp/pest": "^2.0.0", + "laravel/framework": "^10.15.0", + "pestphp/pest": "^2.8.3", "php": "^8.1.0" }, "require-dev": { - "laravel/dusk": "^7.7.0", - "orchestra/testbench": "^8.0.10", - "pestphp/pest-dev-tools": "^2.5.0" + "laravel/dusk": "^7.8.0", + "orchestra/testbench": "^8.5.10", + "pestphp/pest-dev-tools": "^2.12.0" }, "type": "library", "extra": { @@ -7010,7 +8580,7 @@ "unit" ], "support": { - "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v2.0.0" + "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v2.1.0" }, "funding": [ { @@ -7022,7 +8592,7 @@ "type": "github" } ], - "time": "2023-03-20T09:27:24+00:00" + "time": "2023-07-18T11:41:02+00:00" }, { "name": "phar-io/manifest", @@ -7483,16 +9053,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.27", + "version": "1.10.28", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "a9f44dcea06f59d1363b100bb29f297b311fa640" + "reference": "e4545b55904ebef470423d3ddddb74fa7325497a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a9f44dcea06f59d1363b100bb29f297b311fa640", - "reference": "a9f44dcea06f59d1363b100bb29f297b311fa640", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e4545b55904ebef470423d3ddddb74fa7325497a", + "reference": "e4545b55904ebef470423d3ddddb74fa7325497a", "shasum": "" }, "require": { @@ -7541,7 +9111,7 @@ "type": "tidelift" } ], - "time": "2023-08-05T09:57:55+00:00" + "time": "2023-08-08T12:33:42+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -8014,16 +9584,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.2.0", + "version": "10.3.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3aad97fde1f3e490e2b316ba56bc4680310e3c3f" + "reference": "d442ce7c4104d5683c12e67e4dcb5058159e9804" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3aad97fde1f3e490e2b316ba56bc4680310e3c3f", - "reference": "3aad97fde1f3e490e2b316ba56bc4680310e3c3f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d442ce7c4104d5683c12e67e4dcb5058159e9804", + "reference": "d442ce7c4104d5683c12e67e4dcb5058159e9804", "shasum": "" }, "require": { @@ -8048,7 +9618,7 @@ "sebastian/diff": "^5.0", "sebastian/environment": "^6.0", "sebastian/exporter": "^5.0", - "sebastian/global-state": "^6.0", + "sebastian/global-state": "^6.0.1", "sebastian/object-enumerator": "^5.0", "sebastian/recursion-context": "^5.0", "sebastian/type": "^4.0", @@ -8063,7 +9633,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.2-dev" + "dev-main": "10.3-dev" } }, "autoload": { @@ -8095,7 +9665,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.0" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.3.1" }, "funding": [ { @@ -8111,7 +9681,7 @@ "type": "tidelift" } ], - "time": "2023-06-02T05:42:13+00:00" + "time": "2023-08-04T06:48:08+00:00" }, { "name": "pimple/pimple", @@ -8166,55 +9736,6 @@ }, "time": "2021-10-28T11:13:42+00:00" }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" - }, { "name": "psr/http-factory", "version": "1.0.2", @@ -8373,19 +9894,20 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "0feb297cb2162446e9d3334cd131d861d7d2d997" + "reference": "69dafab8a5dffa4d6a4d6dab1ebadf48aca449c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/0feb297cb2162446e9d3334cd131d861d7d2d997", - "reference": "0feb297cb2162446e9d3334cd131d861d7d2d997", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/69dafab8a5dffa4d6a4d6dab1ebadf48aca449c7", + "reference": "69dafab8a5dffa4d6a4d6dab1ebadf48aca449c7", "shasum": "" }, "conflict": { "3f/pygmentize": "<1.2", - "admidio/admidio": "<4.1.9", + "admidio/admidio": "<4.2.10", "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", - "aheinze/cockpit": "<=2.2.1", + "aheinze/cockpit": "<2.2", + "aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5", "akaunting/akaunting": "<2.1.13", "akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53", "alextselegidis/easyappointments": "<1.5", @@ -8396,18 +9918,22 @@ "amphp/http-client": ">=4,<4.4", "anchorcms/anchor-cms": "<=0.12.7", "andreapollastri/cipi": "<=3.1.15", - "andrewhaine/silverstripe-form-capture": ">=0.2,<=0.2.3|>=1,<=1.0.1|>=2,<=2.2.4", + "andrewhaine/silverstripe-form-capture": ">=0.2,<=0.2.3|>=1,<1.0.2|>=2,<2.2.5", "apereo/phpcas": "<1.6", "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6|>=2.6,<2.7.10|>=3,<3.0.12|>=3.1,<3.1.3", "appwrite/server-ce": "<=1.2.1", "arc/web": "<3", "area17/twill": "<1.2.5|>=2,<2.5.3", + "artesaos/seotools": "<0.17.2", "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", + "athlon1600/php-proxy": "<=5.1", + "athlon1600/php-proxy-app": "<=3", "automad/automad": "<1.8", "awesome-support/awesome-support": "<=6.0.7", "aws/aws-sdk-php": ">=3,<3.2.1", "azuracast/azuracast": "<0.18.3", "backdrop/backdrop": "<1.24.2", + "backpack/crud": "<3.4.9", "badaso/core": "<2.7", "bagisto/bagisto": "<0.1.5", "barrelstrength/sprout-base-email": "<1.2.7", @@ -8416,8 +9942,8 @@ "barzahlen/barzahlen-php": "<2.0.1", "baserproject/basercms": "<4.7.5", "bassjobsen/bootstrap-3-typeahead": ">4.0.2", - "bigfork/silverstripe-form-capture": ">=3,<=3.1", - "billz/raspap-webgui": "<=2.6.6", + "bigfork/silverstripe-form-capture": ">=3,<3.1.1", + "billz/raspap-webgui": "<2.8.9", "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", "bmarshall511/wordpress_zero_spam": "<5.2.13", "bolt/bolt": "<3.7.2", @@ -8434,12 +9960,13 @@ "cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10|= 1.3.7|>=4.1,<4.1.4", "cakephp/database": ">=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10", "cardgate/magento2": "<2.0.33", + "cardgate/woocommerce": "<=3.1.15", "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", "cartalyst/sentry": "<=2.1.6", "catfan/medoo": "<1.7.5", "centreon/centreon": "<22.10-beta.1", "cesnet/simplesamlphp-module-proxystatistics": "<3.1", - "cockpit-hq/cockpit": "<2.4.1", + "cockpit-hq/cockpit": "<2.6", "codeception/codeception": "<3.1.3|>=4,<4.1.22", "codeigniter/framework": "<=3.0.6", "codeigniter4/framework": "<4.3.5", @@ -8451,10 +9978,11 @@ "contao-components/mediaelement": ">=2.14.2,<2.21.1", "contao/contao": ">=4,<4.4.56|>=4.5,<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4", "contao/core": ">=2,<3.5.39", - "contao/core-bundle": "<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4|= 4.10.0", + "contao/core-bundle": "<4.9.42|>=4.10,<4.13.28|>=5,<5.1.10|= 4.10.0", "contao/listing-bundle": ">=4,<4.4.8", "contao/managed-edition": "<=1.5", - "craftcms/cms": "<4.4.12|>= 4.0.0-RC1, <= 4.4.5|>= 4.0.0-RC1, <= 4.4.6|>= 4.0.0-RC1, < 4.4.6|>= 4.0.0-RC1, < 4.3.7|>= 4.0.0-RC1, < 4.2.1", + "cosenary/instagram": "<=2.3", + "craftcms/cms": "<=4.4.9|>= 4.0.0-RC1, < 4.4.12|>= 4.0.0-RC1, <= 4.4.5|>= 4.0.0-RC1, <= 4.4.6|>= 4.0.0-RC1, < 4.4.6|>= 4.0.0-RC1, < 4.3.7|>= 4.0.0-RC1, < 4.2.1", "croogo/croogo": "<3.0.7", "cuyz/valinor": "<0.12", "czproject/git-php": "<4.0.3", @@ -8462,8 +9990,10 @@ "datadog/dd-trace": ">=0.30,<0.30.2", "david-garcia/phpwhois": "<=4.3.1", "dbrisinajumi/d2files": "<1", + "dcat/laravel-admin": "<=2.1.3-beta", "derhansen/fe_change_pwd": "<2.0.5|>=3,<3.0.3", "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "desperado/xml-bundle": "<=0.1.7", "directmailteam/direct-mail": "<5.2.4", "doctrine/annotations": ">=1,<1.2.7", "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", @@ -8517,6 +10047,7 @@ "fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2", "fixpunkt/fp-newsletter": "<1.1.1|>=2,<2.1.2|>=2.2,<3.2.6", "flarum/core": "<1.7", + "flarum/framework": "<=0.1-beta.7.1", "flarum/mentions": "<1.6.3", "flarum/sticky": ">=0.1-beta.14,<=0.1-beta.15", "flarum/tags": "<=0.1-beta.13", @@ -8533,17 +10064,19 @@ "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", "froala/wysiwyg-editor": "<3.2.7", - "froxlor/froxlor": "<2.0.16", + "froxlor/froxlor": "<2.1", "fuel/core": "<1.8.1", - "funadmin/funadmin": "<=3.2", + "funadmin/funadmin": "<=3.2|>=3.3.2,<=3.3.3", "gaoming13/wechat-php-sdk": "<=1.10.2", "genix/cms": "<=1.1.11", - "getgrav/grav": "<1.7.34", + "getgrav/grav": "<=1.7.42.1", "getkirby/cms": "= 3.8.0|<3.5.8.2|>=3.6,<3.6.6.2|>=3.7,<3.7.5.1", + "getkirby/kirby": "<=2.5.12", "getkirby/panel": "<2.5.14", "getkirby/starterkit": "<=3.7.0.2", "gilacms/gila": "<=1.11.4", "globalpayments/php-sdk": "<2", + "gogentooss/samlbase": "<1.2.7", "google/protobuf": "<3.15", "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", "gree/jose": "<2.2.1", @@ -8551,8 +10084,10 @@ "grumpydictator/firefly-iii": "<6", "guzzlehttp/guzzle": "<6.5.8|>=7,<7.4.5", "guzzlehttp/psr7": "<1.9.1|>=2,<2.4.5", + "haffner/jh_captcha": "<=2.1.3|>=3,<=3.0.2", "harvesthq/chosen": "<1.8.7", "helloxz/imgurl": "= 2.31|<=2.31", + "hhxsv5/laravel-s": "<3.7.36", "hillelcoren/invoice-ninja": "<5.3.35", "himiklab/yii2-jqgrid-widget": "<1.0.8", "hjue/justwriting": "<=1", @@ -8571,8 +10106,9 @@ "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", - "impresscms/impresscms": "<=1.4.3", + "impresscms/impresscms": "<=1.4.5", "in2code/femanager": "<5.5.3|>=6,<6.3.4|>=7,<7.1", + "in2code/ipandlanguageredirect": "<5.1.2", "in2code/lux": "<17.6.1|>=18,<24.0.2", "innologi/typo3-appointments": "<2.0.6", "intelliants/subrion": "<=4.2.1", @@ -8584,7 +10120,9 @@ "joomla/archive": "<1.1.12|>=2,<2.0.1", "joomla/filesystem": "<1.6.2|>=2,<2.0.1", "joomla/filter": "<1.4.4|>=2,<2.0.1", + "joomla/framework": ">=2.5.4,<=3.8.12", "joomla/input": ">=2,<2.0.2", + "joomla/joomla-cms": ">=3,<3.9.12", "joomla/session": "<1.3.1", "joyqi/hyper-down": "<=2.4.27", "jsdecena/laracom": "<2.0.9", @@ -8592,8 +10130,9 @@ "kazist/phpwhois": "<=4.2.6", "kelvinmo/simplexrd": "<3.1.1", "kevinpapst/kimai2": "<1.16.7", + "khodakhah/nodcms": "<=3", "kimai/kimai": "<1.1", - "kitodo/presentation": "<3.1.2", + "kitodo/presentation": "<3.2.3|>=3.3,<3.3.4", "klaviyo/magento2-extension": ">=1,<3", "knplabs/knp-snappy": "<1.4.2", "krayin/laravel-crm": "<1.2.2", @@ -8603,13 +10142,14 @@ "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", "laminas/laminas-http": "<2.14.2", "laravel/fortify": "<1.11.1", - "laravel/framework": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "laravel/framework": "<6.20.44|>=7,<7.30.6|>=8,<8.75", "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", "latte/latte": "<2.10.8", - "lavalite/cms": "<=9", + "lavalite/cms": "= 9.0.0|<=9", "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", "league/commonmark": "<0.18.3", "league/flysystem": "<1.1.4|>=2,<2.1.1", + "league/oauth2-server": ">=8.3.2,<8.5.3", "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", "librenms/librenms": "<22.10", "liftkit/database": "<2.13.2", @@ -8619,7 +10159,7 @@ "lms/routes": "<2.1.1", "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", "luyadev/yii-helpers": "<1.2.1", - "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", + "magento/community-edition": "= 2.4.0|<=2.4", "magento/magento1ce": "<1.9.4.3", "magento/magento1ee": ">=1,<1.14.4.3", "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", @@ -8635,14 +10175,16 @@ "melisplatform/melis-front": "<5.0.1", "mezzio/mezzio-swoole": "<3.7|>=4,<4.3", "mgallegos/laravel-jqgrid": "<=1.3", - "microweber/microweber": "<1.3.4", + "microweber/microweber": "<=1.3.4|= 1.1.18", "miniorange/miniorange-saml": "<1.4.3", "mittwald/typo3_forum": "<1.2.1", "mobiledetect/mobiledetectlib": "<2.8.32", - "modx/revolution": "<= 2.8.3-pl|<2.8", + "modx/revolution": "<2.8|<= 2.8.3-pl", "mojo42/jirafeau": "<4.4", "monolog/monolog": ">=1.8,<1.12", - "moodle/moodle": "<4.2-rc.2|= 3.11", + "moodle/moodle": "<4.2-rc.2|= 3.4.3|= 3.5|= 3.7|= 3.9|= 3.8|= 4.2.0|= 3.11", + "movim/moxl": ">=0.8,<=0.10", + "mpdf/mpdf": "<=7.1.7", "mustache/mustache": ">=2,<2.14.1", "namshi/jose": "<2.2", "neoan3-apps/template": "<1.1.1", @@ -8654,7 +10196,7 @@ "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", - "nilsteampassnet/teampass": "<3.0.9", + "nilsteampassnet/teampass": "<3.0.10", "notrinos/notrinos-erp": "<=0.7", "noumo/easyii": "<=0.9", "nukeviet/nukeviet": "<4.5.2", @@ -8663,7 +10205,7 @@ "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", "october/backend": "<1.1.2", "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", - "october/october": ">=1.0.319,<1.0.466|>=2.1,<2.1.12", + "october/october": "<1.0.466|>=2.1,<2.1.12", "october/rain": "<1.0.472|>=1.1,<1.1.2", "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.0.66", "onelogin/php-saml": "<2.10.4", @@ -8672,7 +10214,8 @@ "opencart/opencart": "<=3.0.3.7", "openid/php-openid": "<2.3", "openmage/magento-lts": "<19.4.22|>=20,<20.0.19", - "orchid/platform": ">=9,<9.4.4", + "opensource-workshop/connect-cms": "<1.7.2|>=2,<2.3.2", + "orchid/platform": ">=9,<9.4.4|>=14-alpha.4,<14.5", "oro/commerce": ">=4.1,<5.0.6", "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<4.2.8", @@ -8685,11 +10228,12 @@ "paypal/merchant-sdk-php": "<3.12", "pear/archive_tar": "<1.4.14", "pear/crypt_gpg": "<1.6.7", + "pear/pear": "<=1.10.1", "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", "personnummer/personnummer": "<3.0.2", "phanan/koel": "<5.1.4", "php-mod/curl": "<2.3.2", - "phpbb/phpbb": ">=3.2,<3.2.10|>=3.3,<3.3.1", + "phpbb/phpbb": "<3.2.10|>=3.3,<3.3.1", "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", "phpmailer/phpmailer": "<6.5", "phpmussel/phpmussel": ">=1,<1.6", @@ -8698,19 +10242,21 @@ "phpoffice/phpexcel": "<1.8", "phpoffice/phpspreadsheet": "<1.16", "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.19", - "phpservermon/phpservermon": "<=3.5.2", + "phpservermon/phpservermon": "<3.6", "phpsysinfo/phpsysinfo": "<3.2.5", "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5,<5.6.3", "phpwhois/phpwhois": "<=4.2.5", "phpxmlrpc/extras": "<0.6.1", "phpxmlrpc/phpxmlrpc": "<4.9.2", - "pimcore/customer-management-framework-bundle": "<3.3.10", + "pi/pi": "<=2.5", + "pimcore/admin-ui-classic-bundle": "<1.0.3", + "pimcore/customer-management-framework-bundle": "<3.4.1", "pimcore/data-hub": "<1.2.4", "pimcore/perspective-editor": "<1.5.1", - "pimcore/pimcore": "<10.5.21", + "pimcore/pimcore": "<10.6.4", "pixelfed/pixelfed": "<=0.11.4", "pocketmine/bedrock-protocol": "<8.0.2", - "pocketmine/pocketmine-mp": "< 4.18.0-ALPHA2|<4.12.5|>= 4.0.0-BETA5, < 4.4.2", + "pocketmine/pocketmine-mp": "<4.22.3|>=5,<5.2.1|< 4.18.0-ALPHA2|>= 4.0.0-BETA5, < 4.4.2", "pressbooks/pressbooks": "<5.18", "prestashop/autoupgrade": ">=4,<4.10.1", "prestashop/blockwishlist": ">=2,<2.1.1", @@ -8732,6 +10278,7 @@ "pyrocms/pyrocms": "<=3.9.1", "rainlab/debugbar-plugin": "<3.1", "rankmath/seo-by-rank-math": "<=1.0.95", + "rap2hpoutre/laravel-log-viewer": "<0.13", "react/http": ">=0.7,<1.9", "really-simple-plugins/complianz-gdpr": "<6.4.2", "remdex/livehelperchat": "<3.99", @@ -8742,17 +10289,20 @@ "s-cart/core": "<6.9", "s-cart/s-cart": "<6.9", "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", - "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", + "sabre/dav": "<1.7.11|>=1.8,<1.8.9", "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", "sensiolabs/connect": "<4.2.3", "serluck/phpwhois": "<=4.2.6", + "sfroemken/url_redirect": "<=1.2.1", + "sheng/yiicms": "<=1.2", "shopware/core": "<=6.4.20", "shopware/platform": "<=6.4.20", "shopware/production": "<=6.3.5.2", - "shopware/shopware": "<=5.7.14", + "shopware/shopware": "<=5.7.17", "shopware/storefront": "<=6.4.8.1", "shopxo/shopxo": "<2.2.6", "showdoc/showdoc": "<2.10.4", + "silverstripe-australia/advancedreports": ">=1,<=2", "silverstripe/admin": "<1.12.7", "silverstripe/assets": ">=1,<1.11.1", "silverstripe/cms": "<4.11.3", @@ -8761,6 +10311,7 @@ "silverstripe/framework": "<4.12.5", "silverstripe/graphql": "<3.5.2|>=4-alpha.1,<4-alpha.2|>=4.1.1,<4.1.2|>=4.2.2,<4.2.3|= 4.0.0-alpha1", "silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1", + "silverstripe/recipe-cms": ">=4.5,<4.5.3", "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", "silverstripe/silverstripe-omnipay": "<2.5.2|>=3,<3.0.2|>=3.1,<3.1.4|>=3.2,<3.2.1", @@ -8776,6 +10327,7 @@ "simplesamlphp/simplesamlphp-module-openidprovider": "<0.9", "simplito/elliptic-php": "<1.0.6", "sitegeist/fluid-components": "<3.5", + "sjbr/sr-freecap": "<=2.5.2", "slim/psr7": "<1.4.1|>=1.5,<1.5.1|>=1.6,<1.6.1", "slim/slim": "<2.6", "smarty/smarty": "<3.1.48|>=4,<4.3.1", @@ -8784,12 +10336,14 @@ "socialiteproviders/steam": "<1.1", "spatie/browsershot": "<3.57.4", "spipu/html2pdf": "<5.2.4", + "spoon/library": "<1.4.1", "spoonity/tcpdf": "<6.2.22", "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", "ssddanbrown/bookstack": "<22.2.3", - "statamic/cms": "<3.2.39|>=3.3,<3.3.2", + "statamic/cms": "<4.10", "stormpath/sdk": ">=0,<9.9.99", - "studio-42/elfinder": "<2.1.59", + "studio-42/elfinder": "<2.1.62", + "subhh/libconnect": "<7.0.8|>=8,<8.1", "subrion/cms": "<=4.2.1", "sukohi/surpass": "<1", "sulu/sulu": "= 2.4.0-RC1|<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8", @@ -8845,7 +10399,7 @@ "thelia/thelia": ">=2.1-beta.1,<2.1.3", "theonedemon/phpwhois": "<=4.2.5", "thinkcmf/thinkcmf": "<=5.1.7", - "thorsten/phpmyfaq": "<3.2-beta", + "thorsten/phpmyfaq": "<3.2-beta.2", "tinymce/tinymce": "<5.10.7|>=6,<6.3.1", "tinymighty/wiki-seo": "<1.2.2", "titon/framework": ">=0,<9.9.99", @@ -8853,16 +10407,17 @@ "topthink/framework": "<6.0.14", "topthink/think": "<=6.1.1", "topthink/thinkphp": "<=3.2.3", + "tpwd/ke_search": "<4.0.3|>=4.1,<4.6.6|>=5,<5.0.2", "tribalsystems/zenario": "<=9.3.57595", "truckersmp/phpwhois": "<=4.3.1", "ttskch/pagination-service-provider": "<1", "twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3", - "typo3/cms": "<2.0.5|>=3,<3.0.3|>=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", + "typo3/cms": "<2.0.5|>=3,<3.0.3|>=6.2,<=6.2.38|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", - "typo3/cms-core": "<8.7.51|>=9,<9.5.40|>=10,<10.4.36|>=11,<11.5.23|>=12,<12.2", + "typo3/cms-core": "<8.7.51|>=9,<9.5.42|>=10,<10.4.39|>=11,<11.5.30|>=12,<12.4.4", "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "typo3/html-sanitizer": ">=1,<1.5|>=2,<2.1.1", + "typo3/html-sanitizer": ">=1,<1.5.1|>=2,<2.1.2", "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", @@ -8877,18 +10432,21 @@ "vova07/yii2-fileapi-widget": "<0.1.9", "vrana/adminer": "<4.8.1", "wallabag/tcpdf": "<6.2.22", - "wallabag/wallabag": "<2.5.4", + "wallabag/wallabag": "<=2.5.4", "wanglelecc/laracms": "<=1.0.3", "web-auth/webauthn-framework": ">=3.3,<3.3.4", "webbuilders-group/silverstripe-kapost-bridge": "<0.4", "webcoast/deferred-image-processing": "<1.0.2", + "webklex/laravel-imap": "<5.3", + "webklex/php-imap": "<5.3", "webpa/webpa": "<3.1.2", + "wikibase/wikibase": "<=1.39.3", "wikimedia/parsoid": "<0.12.2", "willdurand/js-translation-bundle": "<2.1.1", - "wintercms/winter": "<1.0.475|>=1.1,<1.1.10|>=1.2,<1.2.1", + "wintercms/winter": "<1.2.3", "woocommerce/woocommerce": "<6.6", "wp-cli/wp-cli": "<2.5", - "wp-graphql/wp-graphql": "<0.3.5", + "wp-graphql/wp-graphql": "<=1.14.5", "wpanel/wpanel4-cms": "<=4.3.1", "wpcloud/wp-stateless": "<3.2", "wwbn/avideo": "<=12.4", @@ -8909,6 +10467,7 @@ "yikesinc/yikes-inc-easy-mailchimp-extender": "<6.8.6", "yoast-seo-for-typo3/yoast_seo": "<7.2.3", "yourls/yourls": "<=1.8.2", + "zencart/zencart": "<1.5.8", "zendesk/zendesk_api_client_php": "<2.2.11", "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", @@ -8931,6 +10490,7 @@ "zendframework/zendframework1": "<1.12.20", "zendframework/zendopenid": ">=2,<2.0.2", "zendframework/zendxml": ">=1,<1.0.1", + "zenstruck/collection": "<0.2.1", "zetacomponents/mail": "<1.8.2", "zf-commons/zfc-user": "<1.2.2", "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", @@ -8973,7 +10533,7 @@ "type": "tidelift" } ], - "time": "2023-06-02T23:04:03+00:00" + "time": "2023-07-25T19:04:12+00:00" }, { "name": "sebastian/cli-parser", @@ -10696,16 +12256,16 @@ }, { "name": "wayofdev/cs-fixer-config", - "version": "v1.2.39", + "version": "v1.2.40", "source": { "type": "git", "url": "https://github.com/wayofdev/php-cs-fixer-config.git", - "reference": "5431e37393ef68412f45da723f1ee3928042b009" + "reference": "0ddefda45c881238fb235cb133f267b1e48b073f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wayofdev/php-cs-fixer-config/zipball/5431e37393ef68412f45da723f1ee3928042b009", - "reference": "5431e37393ef68412f45da723f1ee3928042b009", + "url": "https://api.github.com/repos/wayofdev/php-cs-fixer-config/zipball/0ddefda45c881238fb235cb133f267b1e48b073f", + "reference": "0ddefda45c881238fb235cb133f267b1e48b073f", "shasum": "" }, "require": { @@ -10756,7 +12316,7 @@ "type": "github" } ], - "time": "2023-08-04T11:27:13+00:00" + "time": "2023-08-05T10:54:10+00:00" }, { "name": "zbateson/mail-mime-parser", diff --git a/config/package.php b/config/package.php deleted file mode 100644 index 18786cc8..00000000 --- a/config/package.php +++ /dev/null @@ -1,7 +0,0 @@ - env('STRIPE_WEBHOOK_SECRET'), + + /* + * You can define a default job that should be run for all other Stripe event type + * without a job defined in next configuration. + * You may leave it empty to store the job in database but without processing it. + */ + 'default_job' => '', + + /* + * You can define the job that should be run when a certain webhook hits your application + * here. The key is the name of the Stripe event type with the `.` replaced by a `_`. + * + * You can find a list of Stripe webhook types here: + * https://stripe.com/docs/api#event_types. + */ + 'jobs' => [ + // 'source_chargeable' => \App\Jobs\StripeWebhooks\HandleChargeableSource::class, + // 'charge_failed' => \App\Jobs\StripeWebhooks\HandleFailedCharge::class, + ], + + /* + * The classname of the model to be used. The class should equal or extend + * WayOfDev\WebhookClient\Entities\WebhookCall. + */ + 'entity' => WebhookCall::class, + + /* + * This class determines if the webhook call should be stored and processed. + */ + 'profile' => StripeWebhookProfile::class, + + /* + * Specify a connection and or a queue to process the webhooks + */ + 'connection' => env('STRIPE_WEBHOOK_CONNECTION'), + 'queue' => env('STRIPE_WEBHOOK_QUEUE'), + + /* + * When disabled, the package will not verify if the signature is valid. + * This can be handy in local environments. + */ + 'verify_signature' => env('STRIPE_SIGNATURE_VERIFY', true), +]; diff --git a/package.json b/package.json index 366e72eb..1079ca82 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "version": "2.1.72", + "version": "1.0.0", "repository": { - "url": "https://github.com/wayofdev/laravel-package-tpl.git" + "url": "https://github.com/wayofdev/laravel-stripe-webhooks.git" } } diff --git a/src/Bridge/Laravel/Http/Controllers/StripeWebhooksController.php b/src/Bridge/Laravel/Http/Controllers/StripeWebhooksController.php new file mode 100644 index 00000000..169eb844 --- /dev/null +++ b/src/Bridge/Laravel/Http/Controllers/StripeWebhooksController.php @@ -0,0 +1,42 @@ +getRepository(config('stripe-webhooks.entity')); + + $webhookConfig = new Config([ + 'name' => 'stripe', + 'signing_secret' => (null !== $configKey) ? + config('stripe-webhooks.signing_secret_' . $configKey) : + config('stripe-webhooks.signing_secret'), + 'signature_header_name' => 'Stripe-Signature', + 'signature_validator' => StripeSignatureValidator::class, + 'webhook_profile' => config('stripe-webhooks.profile'), + 'webhook_entity' => config('stripe-webhooks.entity'), + 'process_webhook_job' => ProcessStripeWebhookJob::class, + ]); + + return (new WebhookProcessor($request, $webhookConfig, $repository))->process(); + } +} diff --git a/src/Bridge/Laravel/Jobs/ProcessStripeWebhookJob.php b/src/Bridge/Laravel/Jobs/ProcessStripeWebhookJob.php new file mode 100644 index 00000000..e918cf89 --- /dev/null +++ b/src/Bridge/Laravel/Jobs/ProcessStripeWebhookJob.php @@ -0,0 +1,54 @@ +onConnection(config('stripe-webhooks.connection')); + $this->onQueue(config('stripe-webhooks.queue')); + } + + /** + * @throws WebhookFailed + */ + public function handle(): void + { + if (! isset($this->webhookCall->payload()->toArray()['type']) || $this->webhookCall->payload()->toArray()['type'] === '') { + throw WebhookFailed::missingType($this->webhookCall); + } + + event("stripe-webhooks::{$this->webhookCall->payload()->toArray()['type']}", $this->webhookCall); + + $jobClass = $this->determineJobClass($this->webhookCall->payload()->toArray()['type']); + + if ('' === $jobClass) { + return; + } + + if (! class_exists($jobClass)) { + throw WebhookFailed::jobClassDoesNotExist($jobClass, $this->webhookCall); + } + + dispatch(new $jobClass($this->webhookCall)); + } + + protected function determineJobClass(string $eventType): string + { + $jobConfigKey = str_replace('.', '_', $eventType); + $defaultJob = config('stripe-webhooks.default_job', ''); + + return config("stripe-webhooks.jobs.{$jobConfigKey}", $defaultJob); + } +} diff --git a/src/Bridge/Laravel/Providers/PackageServiceProvider.php b/src/Bridge/Laravel/Providers/PackageServiceProvider.php deleted file mode 100644 index 50ba6a70..00000000 --- a/src/Bridge/Laravel/Providers/PackageServiceProvider.php +++ /dev/null @@ -1,26 +0,0 @@ -app->runningInConsole()) { - $this->publishes([ - __DIR__ . '/../../../../config/package.php' => config_path('package.php'), - ], 'config'); - - $this->registerConsoleCommands(); - } - } - - private function registerConsoleCommands(): void - { - $this->commands([]); - } -} diff --git a/src/Bridge/Laravel/Providers/StripeWebhooksServiceProvider.php b/src/Bridge/Laravel/Providers/StripeWebhooksServiceProvider.php new file mode 100644 index 00000000..22fcd188 --- /dev/null +++ b/src/Bridge/Laravel/Providers/StripeWebhooksServiceProvider.php @@ -0,0 +1,37 @@ +app->runningInConsole()) { + $this->publishes([ + __DIR__ . '/../../../../config/stripe-webhooks.php' => config_path('stripe-webhooks.php'), + ], 'config'); + + $this->registerConsoleCommands(); + } + } + + public function register(): void + { + $this->mergeConfigFrom(__DIR__ . '/../../../../config/stripe-webhooks.php', 'stripe-webhooks'); + + Route::macro('stripeWebhooks', function ($url) { + return Route::post($url, StripeWebhooksController::class); + }); + } + + private function registerConsoleCommands(): void + { + $this->commands([]); + } +} diff --git a/src/Exceptions/WebhookFailed.php b/src/Exceptions/WebhookFailed.php new file mode 100644 index 00000000..3b13e897 --- /dev/null +++ b/src/Exceptions/WebhookFailed.php @@ -0,0 +1,28 @@ +id()}` of type `{$webhookCall->name()} because the configured jobclass `$jobClass` does not exist."); + } + + public static function missingType(WebhookCall $webhookCall): self + { + return new self("Webhook call id `{$webhookCall->id()}` did not contain a type. Valid Stripe webhook calls should always contain a type."); + } + + public function render($request): Response|ResponseFactory + { + return response(['error' => $this->getMessage()], 400); + } +} diff --git a/src/Profile/StripeWebhookProfile.php b/src/Profile/StripeWebhookProfile.php new file mode 100644 index 00000000..3f45b72a --- /dev/null +++ b/src/Profile/StripeWebhookProfile.php @@ -0,0 +1,29 @@ +getRepository(WebhookCall::class); + + $exists = $webhookCallsRepository + ->select() + ->where(['name' => 'stripe']) + ->andWhere("JSON_EXTRACT(payload, '$.id')", '=', new Parameter(['payloadId' => $request->get('id')])) + ->count(); + + return 0 === $exists; + } +} diff --git a/src/SignatureValidator/StripeSignatureValidator.php b/src/SignatureValidator/StripeSignatureValidator.php new file mode 100644 index 00000000..ce876b73 --- /dev/null +++ b/src/SignatureValidator/StripeSignatureValidator.php @@ -0,0 +1,32 @@ +header('Stripe-Signature'); + $secret = $config->signingSecret; + + try { + Webhook::constructEvent($request->getContent(), $signature, $secret); + } catch (Exception) { + return false; + } + + return true; + } +} diff --git a/tests/app/Jobs/DummyJob.php b/tests/app/Jobs/DummyJob.php new file mode 100644 index 00000000..6c6bc741 --- /dev/null +++ b/tests/app/Jobs/DummyJob.php @@ -0,0 +1,20 @@ +put('dummyJob', $this->webhookCall); + } +} diff --git a/tests/database/migrations/cycle/.gitignore b/tests/database/migrations/cycle/.gitignore new file mode 100644 index 00000000..cde8069e --- /dev/null +++ b/tests/database/migrations/cycle/.gitignore @@ -0,0 +1 @@ +*.php diff --git a/tests/app/.gitkeep b/tests/src/Bridge/Laravel/Http/Controllers/StripeWebhooksControllerTest.php similarity index 100% rename from tests/app/.gitkeep rename to tests/src/Bridge/Laravel/Http/Controllers/StripeWebhooksControllerTest.php diff --git a/tests/src/IntegrationTest.php b/tests/src/IntegrationTest.php new file mode 100644 index 00000000..6cacdbb8 --- /dev/null +++ b/tests/src/IntegrationTest.php @@ -0,0 +1,255 @@ + ['my_type' => DummyJob::class]]); + cache()->clear(); + } + + /** + * @test + * + * @throws JsonException + */ + public function it_can_handle_a_valid_request(): void + { + $this->withoutExceptionHandling(); + + $payload = [ + 'type' => 'my.type', + 'key' => 'value', + ]; + + $headers = ['Stripe-Signature' => $this->determineStripeSignature($payload)]; + + $this + ->postJson('stripe-webhooks', $payload, $headers) + ->assertSuccessful(); + + $this::assertCount(1, $this->repository->findAll()); + + $webhookCall = $this->repository->first(); + + $this::assertEquals('my.type', $webhookCall->payload()->toArray()['type']); + $this::assertEquals($payload, $webhookCall->payload()->toArray()); + $this::assertEmpty($webhookCall->exception()->toArray()); + + Event::assertDispatched('stripe-webhooks::my.type', function ($event, $eventPayload) use ($webhookCall) { + $this::assertInstanceOf(WebhookCall::class, $eventPayload); + $this::assertEquals($webhookCall->id, $eventPayload->id); + + return true; + }); + + $this::assertEquals($webhookCall->id, cache('dummyJob')->id); + } + + /** + * @test + */ + public function a_request_with_invalid_signature_with_verification_disabled_will_pass(): void + { + config(['stripe-webhooks.verify_signature' => false]); + cache()->clear(); + + $this->withoutExceptionHandling(); + + $payload = [ + 'type' => 'my.type', + 'key' => 'value', + ]; + + $headers = ['Stripe-Signature' => 'invalid signature']; + + $this + ->postJson('stripe-webhooks', $payload, $headers) + ->assertSuccessful(); + + $this::assertCount(1, $this->repository->findAll()); + + $webhookCall = $this->repository->first(); + + $this::assertEquals('my.type', $webhookCall->payload()->toArray()['type']); + $this::assertEquals($payload, $webhookCall->payload()->toArray()); + $this::assertEmpty($webhookCall->exception()->toArray()); + + Event::assertDispatched('stripe-webhooks::my.type', function ($event, $eventPayload) use ($webhookCall) { + $this::assertInstanceOf(WebhookCall::class, $eventPayload); + $this::assertEquals($webhookCall->id, $eventPayload->id); + + return true; + }); + + $this::assertEquals($webhookCall->id, cache('dummyJob')->id); + } + + /** + * @test + */ + public function a_request_without_signature_with_verification_disabled(): void + { + config(['stripe-webhooks.verify_signature' => false]); + cache()->clear(); + + $this->withoutExceptionHandling(); + + $payload = [ + 'type' => 'my.type', + 'key' => 'value', + ]; + + $headers = []; + + $this + ->postJson('stripe-webhooks', $payload, $headers) + ->assertSuccessful(); + + $this::assertCount(1, $this->repository->findAll()); + + $webhookCall = $this->repository->first(); + + $this::assertEquals('my.type', $webhookCall->payload()->toArray()['type']); + $this::assertEquals($payload, $webhookCall->payload()->toArray()); + $this::assertEmpty($webhookCall->exception()->toArray()); + + Event::assertDispatched('stripe-webhooks::my.type', function ($event, $eventPayload) use ($webhookCall) { + $this::assertInstanceOf(WebhookCall::class, $eventPayload); + $this::assertEquals($webhookCall->id, $eventPayload->id); + + return true; + }); + + $this::assertEquals($webhookCall->id, cache('dummyJob')->id); + } + + /** + * @test + */ + public function a_request_with_an_invalid_signature_wont_be_logged(): void + { + $payload = [ + 'type' => 'my.type', + 'key' => 'value', + ]; + + $headers = ['Stripe-Signature' => 'invalid_signature']; + + $this + ->postJson('stripe-webhooks', $payload, $headers) + ->assertStatus(500); + + $this::assertCount(0, $this->repository->findAll()); + + Event::assertNotDispatched('stripe-webhooks::my.type'); + + $this::assertNull(cache('dummyJob')); + } + + /** + * @test + * + * @throws JsonException + */ + public function a_request_with_an_invalid_payload_will_be_logged_but_events_and_jobs_will_not_be_dispatched(): void + { + $payload = ['invalid_payload']; + + $headers = ['Stripe-Signature' => $this->determineStripeSignature($payload)]; + + $this + ->postJson('stripe-webhooks', $payload, $headers) + ->assertStatus(400); + + $this::assertCount(1, $this->repository->findAll()); + + $webhookCall = $this->repository->first(); + + $this::assertFalse(isset($webhookCall->payload()->toArray()['type'])); + $this::assertEquals(['invalid_payload'], $webhookCall->payload()->toArray()); + + $this::assertEquals('Webhook call id `1` did not contain a type. Valid Stripe webhook calls should always contain a type.', $webhookCall->exception()->toArray()['message']); + + Event::assertNotDispatched('stripe-webhooks::my.type'); + + $this::assertNull(cache('dummyJob')); + } + + /** + * @test + * + * @throws JsonException + */ + public function a_request_with_a_config_key_will_use_the_correct_signing_secret(): void + { + config()->set('stripe-webhooks.signing_secret', 'secret1'); + config()->set('stripe-webhooks.signing_secret_somekey', 'secret2'); + + $payload = [ + 'type' => 'my.type', + 'key' => 'value', + ]; + + $headers = ['Stripe-Signature' => $this->determineStripeSignature($payload, 'somekey')]; + + $this + ->postJson('stripe-webhooks/somekey', $payload, $headers) + ->assertSuccessful(); + } + + /** + * @test + * + * @throws JsonException + */ + public function a_request_will_only_be_processed_once(): void + { + $payload = [ + 'type' => 'my.type', + 'id' => 'evt_123', + ]; + + $headers = ['Stripe-Signature' => $this->determineStripeSignature($payload)]; + + $this + ->postJson('stripe-webhooks', $payload, $headers) + ->assertSuccessful(); + + $this + ->postJson('stripe-webhooks', $payload, $headers) + ->assertSuccessful(); + + $this::assertCount(1, $this->getEntityByPayloadId($payload['id'])); + } + + /** + * @return array + */ + private function getEntityByPayloadId(string $payloadId): array + { + return $this->repository + ->select() + ->where(['name' => 'stripe']) + ->andWhere("JSON_EXTRACT(payload, '$.id')", '=', new Parameter(['payloadId' => $payloadId])) + ->fetchAll(); + } +} diff --git a/tests/src/Pest.php b/tests/src/Pest.php index bce16ce8..57690ebf 100644 --- a/tests/src/Pest.php +++ b/tests/src/Pest.php @@ -2,6 +2,6 @@ declare(strict_types=1); -namespace WayOfDev\Package\Tests; +namespace WayOfDev\StripeWebhooks\Tests; uses(TestCase::class)->in(__DIR__); diff --git a/tests/src/StripeWebhookCallTest.php b/tests/src/StripeWebhookCallTest.php new file mode 100644 index 00000000..83b62178 --- /dev/null +++ b/tests/src/StripeWebhookCallTest.php @@ -0,0 +1,154 @@ + ['my_type' => DummyJob::class]]); + + $this->webhookCall = $this->createEntity(); + $this->processStripeWebhookJob = new ProcessStripeWebhookJob($this->webhookCall); + } + + /** + * @test + * + * @throws WebhookFailed + */ + public function it_will_fire_off_the_configured_job(): void + { + $this->processStripeWebhookJob->handle(); + + $this::assertEquals($this->webhookCall->id, cache('dummyJob')->id); + } + + /** + * @test + * + * @throws WebhookFailed + */ + public function it_will_not_dispatch_a_job_for_another_type(): void + { + config(['stripe-webhooks.jobs' => ['another_type' => DummyJob::class]]); + + $this->processStripeWebhookJob->handle(); + + $this::assertNull(cache('dummyJob')); + } + + /** + * @test + * + * @throws WebhookFailed + */ + public function it_will_not_dispatch_jobs_when_no_jobs_are_configured(): void + { + config(['stripe-webhooks.jobs' => []]); + + $this->processStripeWebhookJob->handle(); + + $this::assertNull(cache('dummyJob')); + } + + /** + * @test + * + * @throws WebhookFailed + */ + public function it_will_dispatch_jobs_when_default_job_is_configured(): void + { + config([ + 'stripe-webhooks.jobs' => [], + 'stripe-webhooks.default_job' => DummyJob::class, + ]); + + $this->processStripeWebhookJob->handle(); + + $this::assertEquals($this->webhookCall->id, cache('dummyJob')->id); + } + + /** + * @test + * + * @throws WebhookFailed + */ + public function it_will_dispatch_events_even_when_no_corresponding_job_is_configured(): void + { + config(['stripe-webhooks.jobs' => ['another_type' => DummyJob::class]]); + + $this->processStripeWebhookJob->handle(); + + $webhookCall = $this->webhookCall; + + Event::assertDispatched("stripe-webhooks::{$webhookCall->payload()->toArray()['type']}", function ($event, $eventPayload) use ($webhookCall) { + $this::assertInstanceOf(WebhookCall::class, $eventPayload); + $this::assertEquals($webhookCall->id, $eventPayload->id); + + return true; + }); + + $this::assertNull(cache('dummyJob')); + } + + /** + * @test + */ + public function it_can_specify_a_connection_in_the_config(): void + { + config(['stripe-webhooks.connection' => 'some-connection']); + + $processStripeWebhookJob = new ProcessStripeWebhookJob($this->webhookCall); + + $this::assertEquals('some-connection', $processStripeWebhookJob->connection); + } + + /** + * @test + */ + public function it_can_specify_a_queue_in_the_config(): void + { + config(['stripe-webhooks.queue' => 'some-queue']); + + $processStripeWebhookJob = new ProcessStripeWebhookJob($this->webhookCall); + + $this::assertEquals('some-queue', $processStripeWebhookJob->queue); + } + + private function createEntity(): WebhookCall + { + $entity = new WebhookCall( + name: 'stripe', + url: '/stripe', + headers: Headers::fromArray([]), + payload: Payload::fromArray(['type' => 'my.type', 'name' => 'value']), + exception: Exception::fromArray([]), + createdAt: new DateTimeImmutable(), + ); + + $this->repository->persist($entity); + + return $entity; + } +} diff --git a/tests/src/TestCase.php b/tests/src/TestCase.php index 9182a262..452ae247 100644 --- a/tests/src/TestCase.php +++ b/tests/src/TestCase.php @@ -2,17 +2,104 @@ declare(strict_types=1); -namespace WayOfDev\Package\Tests; +namespace WayOfDev\StripeWebhooks\Tests; +use Cycle\ORM\ORMInterface; +use Illuminate\Foundation\Application; +use Illuminate\Support\Facades\Artisan; +use JsonException; use Orchestra\Testbench\TestCase as Orchestra; -use WayOfDev\Package\Bridge\Laravel\Providers\PackageServiceProvider; +use WayOfDev\Cycle\Bridge\Laravel\Providers\CycleServiceProvider; +use WayOfDev\Cycle\Testing\Concerns\InteractsWithDatabase; +use WayOfDev\Cycle\Testing\RefreshDatabase; +use WayOfDev\StripeWebhooks\Bridge\Laravel\Providers\StripeWebhooksServiceProvider; +use WayOfDev\WebhookClient\Bridge\Laravel\Providers\WebhookClientServiceProvider; + +use WayOfDev\WebhookClient\Persistence\ORMWebhookCallRepository; +use function array_merge; +use function hash_hmac; +use function json_encode; +use function time; abstract class TestCase extends Orchestra { + use InteractsWithDatabase; + use RefreshDatabase; + + protected ?string $migrationsPath = null; + + protected ORMWebhookCallRepository $repository; + + public function setUp(): void + { + parent::setUp(); + + $this->migrationsPath = __DIR__ . '/../database/migrations/cycle'; + $this->cleanupMigrations($this->migrationsPath . '/*.php'); + $this->refreshDatabase(); + + if (app()->environment() === 'testing') { + config()->set([ + 'cycle.tokenizer.directories' => array_merge( + config('cycle.tokenizer.directories'), + [__DIR__ . '/../../vendor/wayofdev/laravel-webhook-client/src/Entities'], + ), + 'cycle.migrations.directory' => $this->migrationsPath, + ]); + } + + Artisan::call('cycle:migrate:init'); + Artisan::call('cycle:migrate', ['--force' => true]); + Artisan::call('cycle:orm:migrate', ['--run' => true]); + + $this->repository = $this->resolveWebhookCallRepository(); + } + protected function getPackageProviders($app): array { return [ - PackageServiceProvider::class, + CycleServiceProvider::class, + WebhookClientServiceProvider::class, + StripeWebhooksServiceProvider::class, ]; } + + /** + * Set up the environment. + * + * @param Application $app + */ + protected function getEnvironmentSetUp($app): void + { + config(['stripe-webhooks.signing_secret' => 'test_signing_secret']); + } + + /** + * @throws JsonException + */ + protected function determineStripeSignature(array $payload, string $configKey = null): string + { + $secret = (null !== $configKey) ? + config("stripe-webhooks.signing_secret_{$configKey}") : + config('stripe-webhooks.signing_secret'); + + $timestamp = time(); + + $timestampedPayload = $timestamp . '.' . json_encode($payload, JSON_THROW_ON_ERROR); + + $signature = hash_hmac('sha256', $timestampedPayload, $secret); + + return "t={$timestamp},v1={$signature}"; + } + + protected function resolveWebhookCallRepository(): ORMWebhookCallRepository + { + /** @var ORMWebhookCallRepository $repository */ + $repository = app(ORMInterface::class) + ->getRepository( + config('webhook-client.configs.0.webhook_entity') + ); + + return $repository; + } } From 75148933a74c6c916d997362d053e594727e9550 Mon Sep 17 00:00:00 2001 From: lotyp Date: Tue, 8 Aug 2023 19:02:46 +0300 Subject: [PATCH 2/2] style: php syntax --- tests/src/TestCase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/TestCase.php b/tests/src/TestCase.php index 452ae247..01e330f2 100644 --- a/tests/src/TestCase.php +++ b/tests/src/TestCase.php @@ -14,8 +14,8 @@ use WayOfDev\Cycle\Testing\RefreshDatabase; use WayOfDev\StripeWebhooks\Bridge\Laravel\Providers\StripeWebhooksServiceProvider; use WayOfDev\WebhookClient\Bridge\Laravel\Providers\WebhookClientServiceProvider; - use WayOfDev\WebhookClient\Persistence\ORMWebhookCallRepository; + use function array_merge; use function hash_hmac; use function json_encode;