From f4dc018e43557ddedd427a7eef2e45a315058815 Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:41:36 +0200 Subject: [PATCH 01/10] add tests directory to phpstan --- phpstan.neon | 2 ++ tests/zugferd2/Tests/Legacy/BuilderTest.php | 4 ++-- tests/zugferd2/Tests/Legacy/ReaderAndBuildTest.php | 7 +++++-- tests/zugferd2/Tests/Legacy/ValidatorTest.php | 8 ++++---- tests/zugferd2/Tests/ProfileXRechnungTest.php | 4 ++-- tests/zugferd2/Tests/Traits/AssertXmlOutputTrait.php | 2 +- tests/zugferd2/Tests/Traits/ReformatXmlTrait.php | 4 ++-- 7 files changed, 18 insertions(+), 13 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 9fd12a1..c6f0727 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -2,5 +2,7 @@ parameters: level: 8 paths: - 'src' + - 'tests' excludePaths: - 'src/zugferd10' + - 'tests/zugferd10' diff --git a/tests/zugferd2/Tests/Legacy/BuilderTest.php b/tests/zugferd2/Tests/Legacy/BuilderTest.php index 9f214ba..851f037 100644 --- a/tests/zugferd2/Tests/Legacy/BuilderTest.php +++ b/tests/zugferd2/Tests/Legacy/BuilderTest.php @@ -198,7 +198,7 @@ public function testBuildXRechnungExample(): void $xml = Builder::create()->transform($invoice); self::assertNotEmpty($xml); - $referenceFile = file_get_contents(__DIR__ . '/official_example_xml/zugferd_2p1_XRECHNUNG_Einfach.xml'); + $referenceFile = (string)file_get_contents(__DIR__ . '/official_example_xml/zugferd_2p1_XRECHNUNG_Einfach.xml'); $referenceFile = ReaderAndBuildTest::reformatXml($referenceFile); $xml = ReaderAndBuildTest::reformatXml($xml); self::assertEquals($referenceFile, $xml); @@ -389,7 +389,7 @@ public function testBuildXRechnungExtendedExample(): void $xml = Builder::create()->transform($invoice); self::assertNotEmpty($xml); - $referenceFile = file_get_contents(__DIR__ . '/official_example_xml/zugferd_2p1_XRECHNUNG_Extended.xml'); + $referenceFile = (string)file_get_contents(__DIR__ . '/official_example_xml/zugferd_2p1_XRECHNUNG_Extended.xml'); $referenceFile = ReaderAndBuildTest::reformatXml($referenceFile); $xml = ReaderAndBuildTest::reformatXml($xml); self::assertEquals($referenceFile, $xml); diff --git a/tests/zugferd2/Tests/Legacy/ReaderAndBuildTest.php b/tests/zugferd2/Tests/Legacy/ReaderAndBuildTest.php index 8f31fa2..ef8dbd1 100644 --- a/tests/zugferd2/Tests/Legacy/ReaderAndBuildTest.php +++ b/tests/zugferd2/Tests/Legacy/ReaderAndBuildTest.php @@ -24,7 +24,7 @@ public function setupAnnotationRegistry(): void /** @dataProvider dataProvider */ public function testGetDocument(string $filename): void { - $xml = file_get_contents(__DIR__ . '/official_example_xml/' . $filename); + $xml = (string)file_get_contents(__DIR__ . '/official_example_xml/' . $filename); $obj = Reader::create()->transform($xml); $str = Builder::create()->transform($obj); @@ -36,7 +36,10 @@ public function testGetDocument(string $filename): void self::assertTrue(true); } - public function dataProvider() + /** + * @return string[][] + */ + public function dataProvider(): array { return [ ['zugferd_2p1_BASIC-WL_Einfach.xml'], diff --git a/tests/zugferd2/Tests/Legacy/ValidatorTest.php b/tests/zugferd2/Tests/Legacy/ValidatorTest.php index 094fa04..b10e716 100644 --- a/tests/zugferd2/Tests/Legacy/ValidatorTest.php +++ b/tests/zugferd2/Tests/Legacy/ValidatorTest.php @@ -9,18 +9,18 @@ class ValidatorTest extends TestCase { - public function testXsdSuccess() + public function testXsdSuccess(): void { $validator = new Validator(); - $xml = file_get_contents(__DIR__ . '/official_example_xml/zugferd_2p1_EN16931_Einfach.xml'); + $xml = (string)file_get_contents(__DIR__ . '/official_example_xml/zugferd_2p1_EN16931_Einfach.xml'); $errors = $validator->validateAgainstXsd($xml, Validator::SCHEMA_EN16931); self::assertNull($errors, $errors ?? ''); } - public function testXsdFail() + public function testXsdFail(): void { $validator = new Validator(); - $xml = file_get_contents(__DIR__ . '/references/broken_example.xml'); + $xml = (string)file_get_contents(__DIR__ . '/references/broken_example.xml'); $errors = $validator->validateAgainstXsd($xml, Validator::SCHEMA_EN16931); self::assertNotNull($errors, 'Validator says broken xml is valid.'); } diff --git a/tests/zugferd2/Tests/ProfileXRechnungTest.php b/tests/zugferd2/Tests/ProfileXRechnungTest.php index cf626fe..0c31efa 100644 --- a/tests/zugferd2/Tests/ProfileXRechnungTest.php +++ b/tests/zugferd2/Tests/ProfileXRechnungTest.php @@ -362,7 +362,7 @@ public function testBuildXRechnungReisekostenabrechnung(): void $additionalReferencedDocument->attachmentBinaryObject = $additionalReferencedDocumentBinaryObject = new BinaryObject(); $additionalReferencedDocumentBinaryObject->filename = 'Hotelrechnung-Immo.pdf'; $additionalReferencedDocumentBinaryObject->mimeCode = 'application/pdf'; - $additionalReferencedDocumentBinaryObject->value = base64_encode(file_get_contents(__DIR__ . '/Examples/XRECHNUNG/Attachments/EN16931_Betriebskostenabrechnung_Abrechnung 2010.pdf')); + $additionalReferencedDocumentBinaryObject->value = base64_encode((string)file_get_contents(__DIR__ . '/Examples/XRECHNUNG/Attachments/EN16931_Betriebskostenabrechnung_Abrechnung 2010.pdf')); $invoice->supplyChainTradeTransaction->applicableHeaderTradeSettlement = new HeaderTradeSettlement(); $invoice->supplyChainTradeTransaction->applicableHeaderTradeSettlement->currency = 'EUR'; @@ -507,7 +507,7 @@ public function testBuildXRechnungBetrieskostenabrechnung(): void $additionalReferencedDocument->attachmentBinaryObject = $additionalReferencedDocumentBinaryObject = new BinaryObject(); $additionalReferencedDocumentBinaryObject->filename = 'Betriebskostenabrechnung.pdf'; $additionalReferencedDocumentBinaryObject->mimeCode = 'application/pdf'; - $additionalReferencedDocumentBinaryObject->value = base64_encode(file_get_contents(__DIR__ . '/Examples/XRECHNUNG/Attachments/EN16931_Betriebskostenabrechnung_Abrechnung 2010.pdf')); + $additionalReferencedDocumentBinaryObject->value = base64_encode((string)file_get_contents(__DIR__ . '/Examples/XRECHNUNG/Attachments/EN16931_Betriebskostenabrechnung_Abrechnung 2010.pdf')); $invoice->supplyChainTradeTransaction->applicableHeaderTradeSettlement = new HeaderTradeSettlement(); $invoice->supplyChainTradeTransaction->applicableHeaderTradeSettlement->currency = 'EUR'; diff --git a/tests/zugferd2/Tests/Traits/AssertXmlOutputTrait.php b/tests/zugferd2/Tests/Traits/AssertXmlOutputTrait.php index 8c9443f..926e0d9 100644 --- a/tests/zugferd2/Tests/Traits/AssertXmlOutputTrait.php +++ b/tests/zugferd2/Tests/Traits/AssertXmlOutputTrait.php @@ -21,7 +21,7 @@ private function buildAndAssertXmlFromCII(CrossIndustryInvoice $invoice, string $result = (new Validator())->validateAgainstXsd($xml, $validatorSchema); self::assertNull($result, $result ?? ''); - $referenceFile = file_get_contents($referenceFilePath); + $referenceFile = (string)file_get_contents($referenceFilePath); $referenceFile = ReaderAndBuildTest::reformatXml($referenceFile); self::assertEquals($referenceFile, $xml); } diff --git a/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php b/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php index 77bc1d9..fbcc531 100644 --- a/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php +++ b/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php @@ -8,12 +8,12 @@ trait ReformatXmlTrait { public static function reformatXml(string $xml): string { - $xml = preg_replace('//', '', $xml); + $xml = (string) preg_replace('//', '', $xml); $doc = new \DOMDocument('1.0', 'UTF-8'); $doc->preserveWhiteSpace = false; $doc->formatOutput = true; $doc->loadXML($xml); - return $doc->saveXML(); + return (string) $doc->saveXML(); } } From 54029a6c8041d564e065a07a37abdb83dacebb19 Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:42:26 +0200 Subject: [PATCH 02/10] set max level for phpstan --- phpstan.neon | 2 +- src/zugferd2/Reader.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/phpstan.neon b/phpstan.neon index c6f0727..166988e 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,5 +1,5 @@ parameters: - level: 8 + level: max paths: - 'src' - 'tests' diff --git a/src/zugferd2/Reader.php b/src/zugferd2/Reader.php index f4e4208..066d8b4 100644 --- a/src/zugferd2/Reader.php +++ b/src/zugferd2/Reader.php @@ -16,6 +16,7 @@ public function __construct(private readonly SerializerInterface $serializer) public function transform(string $xml): CrossIndustryInvoice { + // @phpstan-ignore-next-line return $this->serializer->deserialize($xml, CrossIndustryInvoice::class, 'xml'); } From 809b769b1031445bd2da6b058a5d0fe10c4a234e Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:45:19 +0200 Subject: [PATCH 03/10] improve CI by auto generating workflows --- .github/workflows/continuous-integration.yml | 32 ++++++++++++++++ .github/workflows/cs.yaml | 36 ------------------ .github/workflows/phpstan.yaml | 36 ------------------ .github/workflows/tests.yaml | 39 -------------------- .laminas-ci.json | 16 ++++++++ 5 files changed, 48 insertions(+), 111 deletions(-) create mode 100644 .github/workflows/continuous-integration.yml delete mode 100644 .github/workflows/cs.yaml delete mode 100644 .github/workflows/phpstan.yaml delete mode 100644 .github/workflows/tests.yaml create mode 100644 .laminas-ci.json diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml new file mode 100644 index 0000000..97d34c0 --- /dev/null +++ b/.github/workflows/continuous-integration.yml @@ -0,0 +1,32 @@ +name: "Continuous Integration" + +on: + pull_request: + push: + branches: + - "refs/pull/*" + - "master" + +jobs: + matrix: + name: Generate job matrix + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.matrix.outputs.matrix }} + steps: + - name: Gather CI configuration + id: matrix + uses: laminas/laminas-ci-matrix-action@v1 + + qa: + name: QA Checks + needs: [matrix] + runs-on: ${{ matrix.operatingSystem }} + strategy: + fail-fast: false + matrix: ${{ fromJSON(needs.matrix.outputs.matrix) }} + steps: + - name: ${{ matrix.name }} + uses: laminas/laminas-continuous-integration-action@v1 + with: + job: ${{ matrix.job }} diff --git a/.github/workflows/cs.yaml b/.github/workflows/cs.yaml deleted file mode 100644 index ff6bce7..0000000 --- a/.github/workflows/cs.yaml +++ /dev/null @@ -1,36 +0,0 @@ -name: Code Style - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - include: - - { operating-system: 'ubuntu-latest', php-version: '8.1', dependencies: '' } - - name: PHP ${{ matrix.php-version }} - - steps: - - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php-version }} - coverage: pcov - tools: composer:v2 - - - name: Install dependencies - run: | - composer install --no-interaction --prefer-dist --no-progress ${{ matrix.dependencies }} - - - name: Check code style - run: | - php vendor/bin/php-cs-fixer --using-cache=no --diff --dry-run --stop-on-violation --verbose fix diff --git a/.github/workflows/phpstan.yaml b/.github/workflows/phpstan.yaml deleted file mode 100644 index 9fe7b68..0000000 --- a/.github/workflows/phpstan.yaml +++ /dev/null @@ -1,36 +0,0 @@ -name: PHPStan - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - include: - - { operating-system: 'ubuntu-latest', php-version: '8.1', dependencies: '' } - - name: PHP ${{ matrix.php-version }} - - steps: - - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php-version }} - coverage: pcov - tools: composer:v2 - - - name: Install dependencies - run: | - composer install --no-interaction --prefer-dist --no-progress ${{ matrix.dependencies }} - - - name: Analyze code for issues - run: | - php vendor/bin/phpstan analyse src --level 8 diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml deleted file mode 100644 index 47d6407..0000000 --- a/.github/workflows/tests.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Tests - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - include: - - { operating-system: 'ubuntu-latest', php-version: '8.1', dependencies: '' } - - { operating-system: 'ubuntu-latest', php-version: '8.2', dependencies: '' } - - { operating-system: 'ubuntu-latest', php-version: '8.3', dependencies: '' } - - - name: PHP ${{ matrix.php-version }} - - steps: - - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php-version }} - coverage: pcov - tools: composer:v2 - - - name: Install dependencies - run: | - composer install --no-interaction --prefer-dist --no-progress ${{ matrix.dependencies }} - - - name: Run tests - run: | - php vendor/bin/phpunit diff --git a/.laminas-ci.json b/.laminas-ci.json new file mode 100644 index 0000000..c360b2e --- /dev/null +++ b/.laminas-ci.json @@ -0,0 +1,16 @@ +{ + "additional_checks": [ + { + "name": "PHPStan", + "job": { + "command": "./vendor/bin/phpstan analyse", + "php": "@lowest" + } + } + ], + "exclude": [ + { + "name": "README Linting [8.1, latest]" + } + ] +} From e439e4ebd81af2d207d2c7a09a2cdc24362863d7 Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:51:11 +0200 Subject: [PATCH 04/10] bump phpunit from 9.6.7 to 9.6.11 --- composer.json | 2 +- composer.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index dc8b6a3..498635e 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,7 @@ "ext-libxml": "Needed for XSD validation" }, "require-dev": { - "phpunit/phpunit": "^9.3", + "phpunit/phpunit": "^9.6", "ext-libxml": "*", "friendsofphp/php-cs-fixer": "^3.16", "phpstan/phpstan": "^1.10", diff --git a/composer.lock b/composer.lock index 430b42d..569b3b9 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": "d4d41a03a213cbbfadc482a12285b9e3", + "content-hash": "f97a585ef0e836b5ee2277241f566bb6", "packages": [ { "name": "doctrine/deprecations", @@ -1409,16 +1409,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.7", + "version": "9.6.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2" + "reference": "810500e92855eba8a7a5319ae913be2da6f957b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c993f0d3b0489ffc42ee2fe0bd645af1538a63b2", - "reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/810500e92855eba8a7a5319ae913be2da6f957b0", + "reference": "810500e92855eba8a7a5319ae913be2da6f957b0", "shasum": "" }, "require": { @@ -1492,7 +1492,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.7" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.11" }, "funding": [ { @@ -1508,7 +1508,7 @@ "type": "tidelift" } ], - "time": "2023-04-14T08:58:40+00:00" + "time": "2023-08-19T07:10:56+00:00" }, { "name": "psr/cache", From cf4d9c540b5d55439ee413e10e191a7613495c52 Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:54:17 +0200 Subject: [PATCH 05/10] remove composer.lock from repo --- .gitignore | 3 +- composer.lock | 4103 ------------------------------------------------- 2 files changed, 2 insertions(+), 4104 deletions(-) delete mode 100644 composer.lock diff --git a/.gitignore b/.gitignore index 725170a..c48c1e6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ vendor .phpunit.result.cache .php-cs-fixer.cache .vscode -composer.phar \ No newline at end of file +composer.phar +/composer.lock diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 569b3b9..0000000 --- a/composer.lock +++ /dev/null @@ -1,4103 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "f97a585ef0e836b5ee2277241f566bb6", - "packages": [ - { - "name": "doctrine/deprecations", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.1.1" - }, - "time": "2023-06-03T09:27:29+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^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/2.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%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:23:10+00:00" - }, - { - "name": "doctrine/lexer", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^4.11 || ^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/2.1.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-14T08:49:07+00:00" - }, - { - "name": "jms/metadata", - "version": "2.8.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/metadata.git", - "reference": "7ca240dcac0c655eb15933ee55736ccd2ea0d7a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/7ca240dcac0c655eb15933ee55736ccd2ea0d7a6", - "reference": "7ca240dcac0c655eb15933ee55736ccd2ea0d7a6", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "require-dev": { - "doctrine/cache": "^1.0", - "doctrine/coding-standard": "^8.0", - "mikey179/vfsstream": "^1.6.7", - "phpunit/phpunit": "^8.5|^9.0", - "psr/container": "^1.0|^2.0", - "symfony/cache": "^3.1|^4.0|^5.0", - "symfony/dependency-injection": "^3.1|^4.0|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Metadata\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - } - ], - "description": "Class/method/property metadata management in PHP", - "keywords": [ - "annotations", - "metadata", - "xml", - "yaml" - ], - "support": { - "issues": "https://github.com/schmittjoh/metadata/issues", - "source": "https://github.com/schmittjoh/metadata/tree/2.8.0" - }, - "time": "2023-02-15T13:44:18+00:00" - }, - { - "name": "jms/serializer", - "version": "3.30.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/serializer.git", - "reference": "bf1105358123d7c02ee6cad08ea33ab535a09d5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/bf1105358123d7c02ee6cad08ea33ab535a09d5e", - "reference": "bf1105358123d7c02ee6cad08ea33ab535a09d5e", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.3.1 || ^2.0", - "doctrine/lexer": "^2.0 || ^3.0", - "jms/metadata": "^2.6", - "php": "^7.4 || ^8.0", - "phpstan/phpdoc-parser": "^1.20" - }, - "require-dev": { - "doctrine/annotations": "^1.14 || ^2.0", - "doctrine/coding-standard": "^12.0", - "doctrine/orm": "^2.14 || ^3.0", - "doctrine/persistence": "^2.5.2 || ^3.0", - "doctrine/phpcr-odm": "^1.5.2 || ^2.0", - "ext-pdo_sqlite": "*", - "jackalope/jackalope-doctrine-dbal": "^1.3", - "ocramius/proxy-manager": "^1.0 || ^2.0", - "phpbench/phpbench": "^1.0", - "phpstan/phpstan": "^1.0.2", - "phpunit/phpunit": "^9.0 || ^10.0", - "psr/container": "^1.0 || ^2.0", - "rector/rector": "^0.19.0", - "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", - "symfony/expression-language": "^5.4 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", - "symfony/form": "^5.4 || ^6.0 || ^7.0", - "symfony/translation": "^5.4 || ^6.0 || ^7.0", - "symfony/uid": "^5.4 || ^6.0 || ^7.0", - "symfony/validator": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0", - "twig/twig": "^1.34 || ^2.4 || ^3.0" - }, - "suggest": { - "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", - "symfony/cache": "Required if you like to use cache functionality.", - "symfony/uid": "Required if you'd like to serialize UID objects.", - "symfony/yaml": "Required if you'd like to use the YAML metadata format." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "JMS\\Serializer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - } - ], - "description": "Library for (de-)serializing data of any complexity; supports XML, and JSON.", - "homepage": "http://jmsyst.com/libs/serializer", - "keywords": [ - "deserialization", - "jaxb", - "json", - "serialization", - "xml" - ], - "support": { - "issues": "https://github.com/schmittjoh/serializer/issues", - "source": "https://github.com/schmittjoh/serializer/tree/3.30.0" - }, - "funding": [ - { - "url": "https://github.com/goetas", - "type": "github" - } - ], - "time": "2024-02-24T14:12:14+00:00" - }, - { - "name": "phpstan/phpdoc-parser", - "version": "1.22.0", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "ec58baf7b3c7f1c81b3b00617c953249fb8cf30c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ec58baf7b3c7f1c81b3b00617c953249fb8cf30c", - "reference": "ec58baf7b3c7f1c81b3b00617c953249fb8cf30c", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", - "symfony/process": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.22.0" - }, - "time": "2023-06-01T12:35:21+00:00" - } - ], - "packages-dev": [ - { - "name": "composer/pcre", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-11-17T09:50:14+00:00" - }, - { - "name": "composer/semver", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-04-01T19:23:25+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", - "shasum": "" - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "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": "friendsofphp/php-cs-fixer", - "version": "v3.16.0", - "source": { - "type": "git", - "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "d40f9436e1c448d309fa995ab9c14c5c7a96f2dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/d40f9436e1c448d309fa995ab9c14c5c7a96f2dc", - "reference": "d40f9436e1c448d309fa995ab9c14c5c7a96f2dc", - "shasum": "" - }, - "require": { - "composer/semver": "^3.3", - "composer/xdebug-handler": "^3.0.3", - "doctrine/annotations": "^2", - "doctrine/lexer": "^2 || ^3", - "ext-json": "*", - "ext-tokenizer": "*", - "php": "^7.4 || ^8.0", - "sebastian/diff": "^4.0 || ^5.0", - "symfony/console": "^5.4 || ^6.0", - "symfony/event-dispatcher": "^5.4 || ^6.0", - "symfony/filesystem": "^5.4 || ^6.0", - "symfony/finder": "^5.4 || ^6.0", - "symfony/options-resolver": "^5.4 || ^6.0", - "symfony/polyfill-mbstring": "^1.27", - "symfony/polyfill-php80": "^1.27", - "symfony/polyfill-php81": "^1.27", - "symfony/process": "^5.4 || ^6.0", - "symfony/stopwatch": "^5.4 || ^6.0" - }, - "require-dev": { - "justinrainbow/json-schema": "^5.2", - "keradus/cli-executor": "^2.0", - "mikey179/vfsstream": "^1.6.11", - "php-coveralls/php-coveralls": "^2.5.3", - "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", - "phpspec/prophecy": "^1.16", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5", - "phpunitgoodpractices/polyfill": "^1.6", - "phpunitgoodpractices/traits": "^1.9.2", - "symfony/phpunit-bridge": "^6.2.3", - "symfony/yaml": "^5.4 || ^6.0" - }, - "suggest": { - "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters." - }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "autoload": { - "psr-4": { - "PhpCsFixer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Dariusz RumiƄski", - "email": "dariusz.ruminski@gmail.com" - } - ], - "description": "A tool to automatically fix PHP code style", - "keywords": [ - "Static code analysis", - "fixer", - "standards", - "static analysis" - ], - "support": { - "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.16.0" - }, - "funding": [ - { - "url": "https://github.com/keradus", - "type": "github" - } - ], - "time": "2023-04-02T19:30:06+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.11.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2023-03-08T13:26:56+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.15.4", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", - "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" - }, - "time": "2023-03-05T19:49:14+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" - }, - "time": "2021-07-20T11:28:43+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpstan/phpstan", - "version": "1.10.59", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "e607609388d3a6d418a50a49f7940e8086798281" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e607609388d3a6d418a50a49f7940e8086798281", - "reference": "e607609388d3a6d418a50a49f7940e8086798281", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" - }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "docs": "https://phpstan.org/user-guide/getting-started", - "forum": "https://github.com/phpstan/phpstan/discussions", - "issues": "https://github.com/phpstan/phpstan/issues", - "security": "https://github.com/phpstan/phpstan/security/policy", - "source": "https://github.com/phpstan/phpstan-src" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" - } - ], - "time": "2024-02-20T13:59:13+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "9.2.26", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-03-06T12:58:08+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:58:55+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T05:33:50+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:16:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "9.6.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "810500e92855eba8a7a5319ae913be2da6f957b0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/810500e92855eba8a7a5319ae913be2da6f957b0", - "reference": "810500e92855eba8a7a5319ae913be2da6f957b0", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.3.1 || ^2", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.13", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", - "sebastian/version": "^3.0.2" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.6-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.11" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2023-08-19T07:10:56+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/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/log", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, - "time": "2021-07-14T16:46:02+00:00" - }, - { - "name": "rector/rector", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/rectorphp/rector.git", - "reference": "258b775511e62a7188f8ce114d44acaf244d9a7d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/258b775511e62a7188f8ce114d44acaf244d9a7d", - "reference": "258b775511e62a7188f8ce114d44acaf244d9a7d", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.10.57" - }, - "conflict": { - "rector/rector-doctrine": "*", - "rector/rector-downgrade-php": "*", - "rector/rector-phpunit": "*", - "rector/rector-symfony": "*" - }, - "bin": [ - "bin/rector" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Instant Upgrade and Automated Refactoring of any PHP code", - "keywords": [ - "automation", - "dev", - "migration", - "refactoring" - ], - "support": { - "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.0.1" - }, - "funding": [ - { - "url": "https://github.com/tomasvotruba", - "type": "github" - } - ], - "time": "2024-02-16T07:53:23+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:08:49+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:08:54+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:30:19+00:00" - }, - { - "name": "sebastian/comparator", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T12:41:17+00:00" - }, - { - "name": "sebastian/complexity", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.7", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T15:52:27+00:00" - }, - { - "name": "sebastian/diff", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:10:38+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:03:51+00:00" - }, - { - "name": "sebastian/exporter", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T06:03:37+00:00" - }, - { - "name": "sebastian/global-state", - "version": "5.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-02-14T08:28:10+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.6", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-11-28T06:42:11+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:12:34+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:14:26+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:07:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:45:17+00:00" - }, - { - "name": "sebastian/type", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:13:03+00:00" - }, - { - "name": "sebastian/version", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:39:44+00:00" - }, - { - "name": "symfony/console", - "version": "v6.2.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/3582d68a64a86ec25240aaa521ec8bc2342b369b", - "reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.4|^6.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v6.2.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-03-29T21:42:15+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.2.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", - "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.3-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-03-01T10:25:55+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v6.2.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "04046f35fd7d72f9646e721fc2ecb8f9c67d3339" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/04046f35fd7d72f9646e721fc2ecb8f9c67d3339", - "reference": "04046f35fd7d72f9646e721fc2ecb8f9c67d3339", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/event-dispatcher-contracts": "^2|^3" - }, - "conflict": { - "symfony/dependency-injection": "<5.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^5.4|^6.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.2.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-03-20T16:06:02+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.2.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", - "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" - }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.3-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-03-01T10:32:47+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v6.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "82b6c62b959f642d000456f08c6d219d749215b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/82b6c62b959f642d000456f08c6d219d749215b3", - "reference": "82b6c62b959f642d000456f08c6d219d749215b3", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.2.7" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-02-14T08:44:56+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.4.43", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "ae25a9145a900764158d439653d5630191155ca0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ae25a9145a900764158d439653d5630191155ca0", - "reference": "ae25a9145a900764158d439653d5630191155ca0", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.43" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-08-13T14:03:51+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "v6.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "aa0e85b53bbb2b4951960efd61d295907eacd629" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/aa0e85b53bbb2b4951960efd61d295907eacd629", - "reference": "aa0e85b53bbb2b4951960efd61d295907eacd629", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an improved replacement for the array_replace PHP function", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.2.7" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-02-14T08:44:56+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/process", - "version": "v6.2.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "75ed64103df4f6615e15a7fe38b8111099f47416" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/75ed64103df4f6615e15a7fe38b8111099f47416", - "reference": "75ed64103df4f6615e15a7fe38b8111099f47416", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v6.2.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-03-09T16:20:02+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v3.2.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "a8c9cedf55f314f3a186041d19537303766df09a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a8c9cedf55f314f3a186041d19537303766df09a", - "reference": "a8c9cedf55f314f3a186041d19537303766df09a", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^2.0" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.3-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.2.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-03-01T10:32:47+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v6.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "f3adc98c1061875dd2edcd45e5b04e63d0e29f8f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f3adc98c1061875dd2edcd45e5b04e63d0e29f8f", - "reference": "f3adc98c1061875dd2edcd45e5b04e63d0e29f8f", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/service-contracts": "^1|^2|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a way to profile code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.2.7" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-02-14T08:44:56+00:00" - }, - { - "name": "symfony/string", - "version": "v6.2.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef", - "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.0" - }, - "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/intl": "^6.2", - "symfony/translation-contracts": "^2.0|^3.0", - "symfony/var-exporter": "^5.4|^6.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v6.2.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-03-20T16:06:02+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2021-07-28T10:34:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^8.1", - "ext-dom": "*" - }, - "platform-dev": { - "ext-libxml": "*" - }, - "plugin-api-version": "2.6.0" -} From d8929da22a5531d6c4b02c42f74c33190a148573 Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:54:22 +0200 Subject: [PATCH 06/10] update symfony/finder --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 498635e..dbbbaef 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,7 @@ "friendsofphp/php-cs-fixer": "^3.16", "phpstan/phpstan": "^1.10", "rector/rector": "^1.0", - "symfony/finder": "^5.4" + "symfony/finder": "^6.4 || ^7.0" }, "autoload": { "psr-4": { From a1791e54636a6fff7b3d25433bd997951f323033 Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:55:47 +0200 Subject: [PATCH 07/10] update php cs fixer to 3.64 --- .php-cs-fixer.dist.php | 1 + composer.json | 2 +- src/zugferd10/Builder.php | 4 +-- src/zugferd10/Model/Address.php | 4 +-- src/zugferd10/Model/AllowanceCharge.php | 6 ++--- src/zugferd10/Model/ContextParameterID.php | 4 +-- src/zugferd10/Model/Date.php | 2 +- src/zugferd10/Model/Document.php | 8 +++--- src/zugferd10/Model/DocumentContext.php | 6 ++--- src/zugferd10/Model/Header.php | 2 +- src/zugferd10/Model/Indicator.php | 4 +-- src/zugferd10/Model/Schema.php | 4 +-- src/zugferd10/Model/Trade/BillingPeriod.php | 8 +++--- .../Model/Trade/CreditorFinancialAccount.php | 3 +-- .../Trade/CreditorFinancialInstitution.php | 3 +-- src/zugferd10/Model/Trade/Delivery.php | 18 ++++++------- .../Model/Trade/DeliveryChainEvent.php | 6 ++--- .../Model/Trade/Item/LineDocument.php | 4 +-- src/zugferd10/Model/Trade/Item/LineItem.php | 26 +++++++++---------- src/zugferd10/Model/Trade/Item/Price.php | 8 +++--- src/zugferd10/Model/Trade/Item/Product.php | 4 +-- .../Trade/Item/SpecifiedTradeAgreement.php | 12 ++++----- .../Trade/Item/SpecifiedTradeDelivery.php | 10 +++---- .../Item/SpecifiedTradeMonetarySummation.php | 12 ++++----- .../Trade/Item/SpecifiedTradeSettlement.php | 12 ++++----- .../Model/Trade/MonetarySummation.php | 16 ++++++------ src/zugferd10/Model/Trade/PaymentMeans.php | 8 +++--- src/zugferd10/Model/Trade/PaymentTerms.php | 10 +++---- .../Model/Trade/ReferencedDocument.php | 3 +-- .../Trade/SpecifiedLogisticsServiceCharge.php | 5 +--- .../Model/Trade/Tax/Registration.php | 4 +-- .../Model/Trade/Tax/TaxRegistration.php | 4 +-- src/zugferd10/Model/Trade/Tax/TradeTax.php | 8 +++--- src/zugferd10/Model/Trade/TradeContact.php | 2 +- src/zugferd10/Model/Trade/TradeCountry.php | 6 +---- src/zugferd10/Model/Trade/TradeParty.php | 4 +-- .../Model/Trade/UniversalCommunication.php | 2 +- src/zugferd10/Reader.php | 4 +-- src/zugferd2/Builder.php | 4 +-- src/zugferd2/Model/TradeAccountingAccount.php | 7 +++-- src/zugferd2/Model/TradePrice.php | 2 +- .../TradeSettlementLineMonetarySummation.php | 2 +- src/zugferd2/Reader.php | 4 +-- 43 files changed, 115 insertions(+), 153 deletions(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index 6348b35..e11e4fd 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -8,6 +8,7 @@ ; return (new Config()) + ->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect()) ->setRiskyAllowed(false) ->setRules([ '@PSR2' => true, diff --git a/composer.json b/composer.json index dbbbaef..7b101ca 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "require-dev": { "phpunit/phpunit": "^9.6", "ext-libxml": "*", - "friendsofphp/php-cs-fixer": "^3.16", + "friendsofphp/php-cs-fixer": "3.64.*", "phpstan/phpstan": "^1.10", "rector/rector": "^1.0", "symfony/finder": "^6.4 || ^7.0" diff --git a/src/zugferd10/Builder.php b/src/zugferd10/Builder.php index 6379db0..b82284e 100644 --- a/src/zugferd10/Builder.php +++ b/src/zugferd10/Builder.php @@ -10,9 +10,7 @@ class Builder { - public function __construct(private readonly SerializerInterface $serializer) - { - } + public function __construct(private readonly SerializerInterface $serializer) {} public function getXML(Document $document): string { diff --git a/src/zugferd10/Model/Address.php b/src/zugferd10/Model/Address.php index 4e9de64..c7d07b9 100644 --- a/src/zugferd10/Model/Address.php +++ b/src/zugferd10/Model/Address.php @@ -34,9 +34,7 @@ public function __construct(#[Type('string')] private $city = '', #[Type('string')] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('CountryID')] - private $countryCode = '') - { - } + private $countryCode = '') {} /** * @return string diff --git a/src/zugferd10/Model/AllowanceCharge.php b/src/zugferd10/Model/AllowanceCharge.php index e27a715..876ed88 100644 --- a/src/zugferd10/Model/AllowanceCharge.php +++ b/src/zugferd10/Model/AllowanceCharge.php @@ -17,7 +17,7 @@ class AllowanceCharge /** * @var Indicator */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Indicator::class)] + #[JMS\Type(Indicator::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('ChargeIndicator')] private $indicator; @@ -49,7 +49,7 @@ class AllowanceCharge /** * @var Amount */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[JMS\Type(Amount::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('BasisAmount')] private $basisAmount; @@ -57,7 +57,7 @@ class AllowanceCharge /** * @var Amount */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[JMS\Type(Amount::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('ActualAmount')] private $actualAmount; diff --git a/src/zugferd10/Model/ContextParameterID.php b/src/zugferd10/Model/ContextParameterID.php index 5ee5dba..151ab17 100644 --- a/src/zugferd10/Model/ContextParameterID.php +++ b/src/zugferd10/Model/ContextParameterID.php @@ -16,7 +16,5 @@ class ContextParameterID public function __construct(#[Type('string')] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ID')] - private $id) - { - } + private $id) {} } diff --git a/src/zugferd10/Model/Date.php b/src/zugferd10/Model/Date.php index cb8d322..201bb39 100644 --- a/src/zugferd10/Model/Date.php +++ b/src/zugferd10/Model/Date.php @@ -13,7 +13,7 @@ class Date /** * @var DateTime */ - #[Type(\Easybill\ZUGFeRD\Model\DateTime::class)] + #[Type(DateTime::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15')] #[SerializedName('DateTimeString')] private $date; diff --git a/src/zugferd10/Model/Document.php b/src/zugferd10/Model/Document.php index f9da383..94776d5 100644 --- a/src/zugferd10/Model/Document.php +++ b/src/zugferd10/Model/Document.php @@ -25,12 +25,12 @@ class Document public const TYPE_COMFORT = 'COMFORT'; public const TYPE_EXTENDED = 'EXTENDED'; - #[Type(\Easybill\ZUGFeRD\Model\DocumentContext::class)] + #[Type(DocumentContext::class)] #[XmlElement(namespace: 'urn:ferd:CrossIndustryDocument:invoice:1p0')] #[SerializedName('SpecifiedExchangedDocumentContext')] private $context; - #[Type(\Easybill\ZUGFeRD\Model\Header::class)] + #[Type(Header::class)] #[XmlElement(namespace: 'urn:ferd:CrossIndustryDocument:invoice:1p0')] #[SerializedName('HeaderExchangedDocument')] private $header; @@ -38,7 +38,7 @@ class Document /** * @var Trade */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Trade::class)] + #[Type(Trade::class)] #[XmlElement(cdata: false, namespace: 'urn:ferd:CrossIndustryDocument:invoice:1p0')] #[SerializedName('SpecifiedSupplyChainTradeTransaction')] private $trade; @@ -75,7 +75,7 @@ public function setHeader($header) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Trade + * @return Trade */ public function getTrade() { diff --git a/src/zugferd10/Model/DocumentContext.php b/src/zugferd10/Model/DocumentContext.php index 7af92c0..4a9771b 100644 --- a/src/zugferd10/Model/DocumentContext.php +++ b/src/zugferd10/Model/DocumentContext.php @@ -13,15 +13,15 @@ class DocumentContext /** * @var \Easybill\ZUGFeRD\Model\Indicator, */ - #[Type(\Easybill\ZUGFeRD\Model\Indicator::class)] + #[Type(Indicator::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('TestIndicator')] private $testIndicator; /** - * @var \Easybill\ZUGFeRD\Model\ContextParameterID + * @var ContextParameterID */ - #[Type(\Easybill\ZUGFeRD\Model\ContextParameterID::class)] + #[Type(ContextParameterID::class)] #[XmlElement(namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('GuidelineSpecifiedDocumentContextParameter')] private $type; diff --git a/src/zugferd10/Model/Header.php b/src/zugferd10/Model/Header.php index 4644b11..addff71 100644 --- a/src/zugferd10/Model/Header.php +++ b/src/zugferd10/Model/Header.php @@ -38,7 +38,7 @@ class Header /** * @var Date */ - #[Type(\Easybill\ZUGFeRD\Model\Date::class)] + #[Type(Date::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('IssueDateTime')] private $date; diff --git a/src/zugferd10/Model/Indicator.php b/src/zugferd10/Model/Indicator.php index 394ec3d..04473f9 100644 --- a/src/zugferd10/Model/Indicator.php +++ b/src/zugferd10/Model/Indicator.php @@ -19,9 +19,7 @@ class Indicator public function __construct(#[JMS\Type('boolean')] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15')] #[JMS\SerializedName('Indicator')] - private $indicator) - { - } + private $indicator) {} /** * @return bool diff --git a/src/zugferd10/Model/Schema.php b/src/zugferd10/Model/Schema.php index 5c368ba..9091533 100644 --- a/src/zugferd10/Model/Schema.php +++ b/src/zugferd10/Model/Schema.php @@ -22,9 +22,7 @@ public function __construct(#[Type('string')] #[SerializedName('schemeID')] private $schemeID, #[Type('string')] #[XmlValue(cdata: false)] - private $value = '') - { - } + private $value = '') {} /** * @return string diff --git a/src/zugferd10/Model/Trade/BillingPeriod.php b/src/zugferd10/Model/Trade/BillingPeriod.php index 9d1f4d8..32673b5 100644 --- a/src/zugferd10/Model/Trade/BillingPeriod.php +++ b/src/zugferd10/Model/Trade/BillingPeriod.php @@ -9,15 +9,13 @@ class BillingPeriod { - public function __construct(#[JMS\Type(\Easybill\ZUGFeRD\Model\Date::class)] + public function __construct(#[JMS\Type(Date::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('StartDateTime')] - private Date $start, #[JMS\Type(\Easybill\ZUGFeRD\Model\Date::class)] + private Date $start, #[JMS\Type(Date::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('EndDateTime')] - private Date $end) - { - } + private Date $end) {} /** * @return Date diff --git a/src/zugferd10/Model/Trade/CreditorFinancialAccount.php b/src/zugferd10/Model/Trade/CreditorFinancialAccount.php index eed3da2..b5a696c 100644 --- a/src/zugferd10/Model/Trade/CreditorFinancialAccount.php +++ b/src/zugferd10/Model/Trade/CreditorFinancialAccount.php @@ -33,8 +33,7 @@ public function __construct( #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ProprietaryID')] private $proprietary - ) { - } + ) {} /** * @return string diff --git a/src/zugferd10/Model/Trade/CreditorFinancialInstitution.php b/src/zugferd10/Model/Trade/CreditorFinancialInstitution.php index 38ab03f..a1efe24 100644 --- a/src/zugferd10/Model/Trade/CreditorFinancialInstitution.php +++ b/src/zugferd10/Model/Trade/CreditorFinancialInstitution.php @@ -39,8 +39,7 @@ public function __construct( #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('Name')] private $name - ) { - } + ) {} /** * @return string diff --git a/src/zugferd10/Model/Trade/Delivery.php b/src/zugferd10/Model/Trade/Delivery.php index 49b0fd9..45f8be6 100644 --- a/src/zugferd10/Model/Trade/Delivery.php +++ b/src/zugferd10/Model/Trade/Delivery.php @@ -13,7 +13,7 @@ class Delivery /** * @var TradeParty */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\TradeParty::class)] + #[Type(TradeParty::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ShipToTradeParty')] private $shipToTradeParty; @@ -21,7 +21,7 @@ class Delivery /** * @var TradeParty */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\TradeParty::class)] + #[Type(TradeParty::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('UltimateShipToTradeParty')] private $ultimateShipToTradeParty; @@ -29,7 +29,7 @@ class Delivery /** * @var TradeParty */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\TradeParty::class)] + #[Type(TradeParty::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ShipFromTradeParty')] private $shipFromTradeParty; @@ -37,7 +37,7 @@ class Delivery /** * @var DeliveryChainEvent */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\DeliveryChainEvent::class)] + #[Type(DeliveryChainEvent::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ActualDeliverySupplyChainEvent')] private $chainEvent; @@ -54,7 +54,7 @@ public function __construct($date = '', $format = 102) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\DeliveryChainEvent + * @return DeliveryChainEvent */ public function getChainEvent() { @@ -62,7 +62,7 @@ public function getChainEvent() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\DeliveryChainEvent $chainEvent + * @param DeliveryChainEvent $chainEvent */ public function setChainEvent($chainEvent) { @@ -70,7 +70,7 @@ public function setChainEvent($chainEvent) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\TradeParty + * @return TradeParty */ public function getShipToTradeParty() { @@ -87,7 +87,7 @@ public function setShipToTradeParty(TradeParty $shipToTradeParty) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\TradeParty + * @return TradeParty */ public function getUltimateShipToTradeParty() { @@ -104,7 +104,7 @@ public function setUltimateShipToTradeParty(TradeParty $ultimateShipToTradeParty } /** - * @return \Easybill\ZUGFeRD\Model\Trade\TradeParty + * @return TradeParty */ public function getShipFromTradeParty() { diff --git a/src/zugferd10/Model/Trade/DeliveryChainEvent.php b/src/zugferd10/Model/Trade/DeliveryChainEvent.php index ff09638..f55f005 100644 --- a/src/zugferd10/Model/Trade/DeliveryChainEvent.php +++ b/src/zugferd10/Model/Trade/DeliveryChainEvent.php @@ -14,7 +14,7 @@ class DeliveryChainEvent /** * @var Date */ - #[Type(\Easybill\ZUGFeRD\Model\Date::class)] + #[Type(Date::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('OccurrenceDateTime')] private $date; @@ -31,7 +31,7 @@ public function __construct($date = '', $format = 102) } /** - * @return \Easybill\ZUGFeRD\Model\Date + * @return Date */ public function getDate() { @@ -39,7 +39,7 @@ public function getDate() } /** - * @param \Easybill\ZUGFeRD\Model\Date $date + * @param Date $date */ public function setDate($date) { diff --git a/src/zugferd10/Model/Trade/Item/LineDocument.php b/src/zugferd10/Model/Trade/Item/LineDocument.php index 86b0362..f2be47e 100644 --- a/src/zugferd10/Model/Trade/Item/LineDocument.php +++ b/src/zugferd10/Model/Trade/Item/LineDocument.php @@ -24,9 +24,7 @@ class LineDocument public function __construct(#[Type('string')] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('LineID')] - private string $lineId = '') - { - } + private string $lineId = '') {} /** * @return string diff --git a/src/zugferd10/Model/Trade/Item/LineItem.php b/src/zugferd10/Model/Trade/Item/LineItem.php index a07486e..34023ec 100644 --- a/src/zugferd10/Model/Trade/Item/LineItem.php +++ b/src/zugferd10/Model/Trade/Item/LineItem.php @@ -13,7 +13,7 @@ class LineItem /** * @var LineDocument */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Item\LineDocument::class)] + #[Type(LineDocument::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('AssociatedDocumentLineDocument')] private $lineDocument; @@ -21,7 +21,7 @@ class LineItem /** * @var SpecifiedTradeAgreement */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeAgreement::class)] + #[Type(SpecifiedTradeAgreement::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('SpecifiedSupplyChainTradeAgreement')] private $tradeAgreement; @@ -29,7 +29,7 @@ class LineItem /** * @var SpecifiedTradeDelivery */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeDelivery::class)] + #[Type(SpecifiedTradeDelivery::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('SpecifiedSupplyChainTradeDelivery')] private $delivery; @@ -37,7 +37,7 @@ class LineItem /** * @var SpecifiedTradeSettlement */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeSettlement::class)] + #[Type(SpecifiedTradeSettlement::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('SpecifiedSupplyChainTradeSettlement')] private $settlement; @@ -45,13 +45,13 @@ class LineItem /** * @var Product */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Item\Product::class)] + #[Type(Product::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('SpecifiedTradeProduct')] private $product; /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\LineDocument + * @return LineDocument */ public function getLineDocument() { @@ -68,7 +68,7 @@ public function setLineDocument(LineDocument $lineDocument) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeAgreement + * @return SpecifiedTradeAgreement */ public function getTradeAgreement() { @@ -76,7 +76,7 @@ public function getTradeAgreement() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeAgreement $tradeAgreement + * @param SpecifiedTradeAgreement $tradeAgreement * * @return self */ @@ -87,7 +87,7 @@ public function setTradeAgreement($tradeAgreement) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeDelivery + * @return SpecifiedTradeDelivery */ public function getDelivery() { @@ -95,7 +95,7 @@ public function getDelivery() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeDelivery $delivery + * @param SpecifiedTradeDelivery $delivery * * @return self */ @@ -106,7 +106,7 @@ public function setDelivery($delivery) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeSettlement + * @return SpecifiedTradeSettlement */ public function getSettlement() { @@ -114,7 +114,7 @@ public function getSettlement() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeSettlement $settlement + * @param SpecifiedTradeSettlement $settlement * * @return self */ @@ -125,7 +125,7 @@ public function setSettlement($settlement) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\Product + * @return Product */ public function getProduct() { diff --git a/src/zugferd10/Model/Trade/Item/Price.php b/src/zugferd10/Model/Trade/Item/Price.php index 9f65945..7918d51 100644 --- a/src/zugferd10/Model/Trade/Item/Price.php +++ b/src/zugferd10/Model/Trade/Item/Price.php @@ -13,7 +13,7 @@ class Price /** * @var Amount */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[JMS\Type(Amount::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('ChargeAmount')] private $amount; @@ -21,7 +21,7 @@ class Price /** * @var Quantity */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Trade\Item\Quantity::class)] + #[JMS\Type(Quantity::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('BasisQuantity')] private $quantity; @@ -46,7 +46,7 @@ public function __construct($value, $currency = 'EUR', $isSum = true) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Amount + * @return Amount */ public function getAmount() { @@ -54,7 +54,7 @@ public function getAmount() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Amount $amount + * @param Amount $amount */ public function setAmount($amount) { diff --git a/src/zugferd10/Model/Trade/Item/Product.php b/src/zugferd10/Model/Trade/Item/Product.php index 65a6d3f..34e1f63 100644 --- a/src/zugferd10/Model/Trade/Item/Product.php +++ b/src/zugferd10/Model/Trade/Item/Product.php @@ -38,9 +38,7 @@ public function __construct(#[Type('string')] private string $name, #[Type('string')] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('Description')] - private mixed $description = null) - { - } + private mixed $description = null) {} /** * @return string diff --git a/src/zugferd10/Model/Trade/Item/SpecifiedTradeAgreement.php b/src/zugferd10/Model/Trade/Item/SpecifiedTradeAgreement.php index 9242405..ba293b1 100644 --- a/src/zugferd10/Model/Trade/Item/SpecifiedTradeAgreement.php +++ b/src/zugferd10/Model/Trade/Item/SpecifiedTradeAgreement.php @@ -13,7 +13,7 @@ class SpecifiedTradeAgreement /** * @var Price */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Item\Price::class)] + #[Type(Price::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('GrossPriceProductTradePrice')] private $grossPrice; @@ -21,13 +21,13 @@ class SpecifiedTradeAgreement /** * @var Price */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Item\Price::class)] + #[Type(Price::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('NetPriceProductTradePrice')] private $netPrice; /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\Price + * @return Price */ public function getGrossPrice() { @@ -35,7 +35,7 @@ public function getGrossPrice() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Item\Price $grossPrice + * @param Price $grossPrice * * @return self */ @@ -46,7 +46,7 @@ public function setGrossPrice($grossPrice) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\Price + * @return Price */ public function getNetPrice() { @@ -54,7 +54,7 @@ public function getNetPrice() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Item\Price $netPrice + * @param Price $netPrice * * @return self */ diff --git a/src/zugferd10/Model/Trade/Item/SpecifiedTradeDelivery.php b/src/zugferd10/Model/Trade/Item/SpecifiedTradeDelivery.php index 34033e0..3ede3c6 100644 --- a/src/zugferd10/Model/Trade/Item/SpecifiedTradeDelivery.php +++ b/src/zugferd10/Model/Trade/Item/SpecifiedTradeDelivery.php @@ -13,15 +13,13 @@ class SpecifiedTradeDelivery /** * SpecifiedTradeDelivery constructor. */ - public function __construct(#[Type(\Easybill\ZUGFeRD\Model\Trade\Item\Quantity::class)] + public function __construct(#[Type(Quantity::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('BilledQuantity')] - private Quantity $billedQuantity) - { - } + private Quantity $billedQuantity) {} /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\Quantity + * @return Quantity */ public function getBilledQuantity() { @@ -29,7 +27,7 @@ public function getBilledQuantity() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Item\Quantity $billedQuantity + * @param Quantity $billedQuantity */ public function setBilledQuantity($billedQuantity) { diff --git a/src/zugferd10/Model/Trade/Item/SpecifiedTradeMonetarySummation.php b/src/zugferd10/Model/Trade/Item/SpecifiedTradeMonetarySummation.php index 7b6f1c2..15c0e4e 100644 --- a/src/zugferd10/Model/Trade/Item/SpecifiedTradeMonetarySummation.php +++ b/src/zugferd10/Model/Trade/Item/SpecifiedTradeMonetarySummation.php @@ -14,7 +14,7 @@ class SpecifiedTradeMonetarySummation /** * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('LineTotalAmount')] private $totalAmount; @@ -22,7 +22,7 @@ class SpecifiedTradeMonetarySummation /** * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('TotalAllowanceChargeAmount')] private $totalAllowanceChargeAmount; @@ -39,7 +39,7 @@ public function __construct($value, $currency = 'EUR') } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Amount + * @return Amount */ public function getTotalAmount() { @@ -47,7 +47,7 @@ public function getTotalAmount() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Amount $totalAmount + * @param Amount $totalAmount */ public function setTotalAmount($totalAmount) { @@ -55,7 +55,7 @@ public function setTotalAmount($totalAmount) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Amount + * @return Amount */ public function getTotalAllowanceChargeAmount() { @@ -63,7 +63,7 @@ public function getTotalAllowanceChargeAmount() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Amount $totalAllowanceChargeAmount + * @param Amount $totalAllowanceChargeAmount */ public function setTotalAllowanceChargeAmount($totalAllowanceChargeAmount) { diff --git a/src/zugferd10/Model/Trade/Item/SpecifiedTradeSettlement.php b/src/zugferd10/Model/Trade/Item/SpecifiedTradeSettlement.php index b675a52..7ddd285 100644 --- a/src/zugferd10/Model/Trade/Item/SpecifiedTradeSettlement.php +++ b/src/zugferd10/Model/Trade/Item/SpecifiedTradeSettlement.php @@ -14,7 +14,7 @@ class SpecifiedTradeSettlement /** * @var TradeTax */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Tax\TradeTax::class)] + #[Type(TradeTax::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ApplicableTradeTax')] private $tradeTax; @@ -22,13 +22,13 @@ class SpecifiedTradeSettlement /** * @var SpecifiedTradeMonetarySummation */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeMonetarySummation::class)] + #[Type(SpecifiedTradeMonetarySummation::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('SpecifiedTradeSettlementMonetarySummation')] private $monetarySummation; /** - * @return \Easybill\ZUGFeRD\Model\Trade\Tax\TradeTax + * @return TradeTax */ public function getTradeTax() { @@ -36,7 +36,7 @@ public function getTradeTax() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Tax\TradeTax $tradeTax + * @param TradeTax $tradeTax * * @return self */ @@ -47,7 +47,7 @@ public function setTradeTax($tradeTax) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeMonetarySummation + * @return SpecifiedTradeMonetarySummation */ public function getMonetarySummation() { @@ -55,7 +55,7 @@ public function getMonetarySummation() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\Item\SpecifiedTradeMonetarySummation $monetarySummation + * @param SpecifiedTradeMonetarySummation $monetarySummation * * @return self */ diff --git a/src/zugferd10/Model/Trade/MonetarySummation.php b/src/zugferd10/Model/Trade/MonetarySummation.php index f9bf351..cb3ae58 100644 --- a/src/zugferd10/Model/Trade/MonetarySummation.php +++ b/src/zugferd10/Model/Trade/MonetarySummation.php @@ -15,7 +15,7 @@ class MonetarySummation * * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('LineTotalAmount')] private $lineTotal; @@ -25,7 +25,7 @@ class MonetarySummation * * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ChargeTotalAmount')] private $chargeTotal; @@ -35,7 +35,7 @@ class MonetarySummation * * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('AllowanceTotalAmount')] private $allowanceTotal; @@ -45,7 +45,7 @@ class MonetarySummation * * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('TaxBasisTotalAmount')] private $taxBasisTotal; @@ -55,7 +55,7 @@ class MonetarySummation * * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('TaxTotalAmount')] private $taxTotal; @@ -65,7 +65,7 @@ class MonetarySummation * * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('GrandTotalAmount')] private $grandTotal; @@ -75,7 +75,7 @@ class MonetarySummation * * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('TotalPrepaidAmount')] private $totalPrepaidAmount; @@ -85,7 +85,7 @@ class MonetarySummation * * @var Amount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('DuePayableAmount')] private $duePayableAmount; diff --git a/src/zugferd10/Model/Trade/PaymentMeans.php b/src/zugferd10/Model/Trade/PaymentMeans.php index 9b41116..7cf8a87 100644 --- a/src/zugferd10/Model/Trade/PaymentMeans.php +++ b/src/zugferd10/Model/Trade/PaymentMeans.php @@ -29,7 +29,7 @@ class PaymentMeans /** * @var CreditorFinancialAccount */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\CreditorFinancialAccount::class)] + #[Type(CreditorFinancialAccount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('PayeePartyCreditorFinancialAccount')] private $payeeAccount; @@ -37,7 +37,7 @@ class PaymentMeans /** * @var CreditorFinancialInstitution */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\CreditorFinancialInstitution::class)] + #[Type(CreditorFinancialInstitution::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('PayeeSpecifiedCreditorFinancialInstitution')] private $payeeInstitution; @@ -82,7 +82,7 @@ public function setPayeeAccount(CreditorFinancialAccount $payeeAccount) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\CreditorFinancialInstitution + * @return CreditorFinancialInstitution */ public function getPayeeInstitution() { @@ -90,7 +90,7 @@ public function getPayeeInstitution() } /** - * @param \Easybill\ZUGFeRD\Model\Trade\CreditorFinancialInstitution $payeeInstitution + * @param CreditorFinancialInstitution $payeeInstitution * * @return self */ diff --git a/src/zugferd10/Model/Trade/PaymentTerms.php b/src/zugferd10/Model/Trade/PaymentTerms.php index 3a0bfcd..eef6d34 100644 --- a/src/zugferd10/Model/Trade/PaymentTerms.php +++ b/src/zugferd10/Model/Trade/PaymentTerms.php @@ -17,12 +17,10 @@ class PaymentTerms public function __construct(#[JMS\Type('string')] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('Description')] - private $description, #[JMS\Type(\Easybill\ZUGFeRD\Model\Date::class)] + private $description, #[JMS\Type(Date::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('DueDateDateTime')] - private Date $dueDate) - { - } + private Date $dueDate) {} /** * @return string @@ -41,7 +39,7 @@ public function setDescription($description) } /** - * @return \Easybill\ZUGFeRD\Model\Date + * @return Date */ public function getDueDate() { @@ -49,7 +47,7 @@ public function getDueDate() } /** - * @param \Easybill\ZUGFeRD\Model\Date $dueDate + * @param Date $dueDate */ public function setDueDate($dueDate) { diff --git a/src/zugferd10/Model/Trade/ReferencedDocument.php b/src/zugferd10/Model/Trade/ReferencedDocument.php index 835aecf..8b2cd2f 100644 --- a/src/zugferd10/Model/Trade/ReferencedDocument.php +++ b/src/zugferd10/Model/Trade/ReferencedDocument.php @@ -25,8 +25,7 @@ public function __construct( #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('TypeCode')] private ?string $typeCode = null - ) { - } + ) {} /** * @return string diff --git a/src/zugferd10/Model/Trade/SpecifiedLogisticsServiceCharge.php b/src/zugferd10/Model/Trade/SpecifiedLogisticsServiceCharge.php index c9ffc0d..9a034e9 100644 --- a/src/zugferd10/Model/Trade/SpecifiedLogisticsServiceCharge.php +++ b/src/zugferd10/Model/Trade/SpecifiedLogisticsServiceCharge.php @@ -25,9 +25,7 @@ public function __construct(#[Type('string')] private string $description, #[Type(Amount::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('AppliedAmount')] - private Amount $appliedAmount) - { - } + private Amount $appliedAmount) {} /** * Get the value of description. @@ -73,7 +71,6 @@ public function getTradeTaxes() } /** - * @param TradeTax $tradeTaxes * @return self */ public function addTradeTax(TradeTax $tradeTax) diff --git a/src/zugferd10/Model/Trade/Tax/Registration.php b/src/zugferd10/Model/Trade/Tax/Registration.php index 19716e6..389b464 100644 --- a/src/zugferd10/Model/Trade/Tax/Registration.php +++ b/src/zugferd10/Model/Trade/Tax/Registration.php @@ -22,9 +22,7 @@ public function __construct(#[Type('string')] #[SerializedName('schemeID')] private $schemeID, #[Type('string')] #[XmlValue(cdata: false)] - private $value = '') - { - } + private $value = '') {} /** * @return string diff --git a/src/zugferd10/Model/Trade/Tax/TaxRegistration.php b/src/zugferd10/Model/Trade/Tax/TaxRegistration.php index ea1c14a..2a1e684 100644 --- a/src/zugferd10/Model/Trade/Tax/TaxRegistration.php +++ b/src/zugferd10/Model/Trade/Tax/TaxRegistration.php @@ -13,7 +13,7 @@ class TaxRegistration /** * @var Registration */ - #[Type(\Easybill\ZUGFeRD\Model\Trade\Tax\Registration::class)] + #[Type(Registration::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ID')] private $registration; @@ -30,7 +30,7 @@ public function __construct($schemeID, $value = '') } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Tax\Registration + * @return Registration */ public function getRegistration() { diff --git a/src/zugferd10/Model/Trade/Tax/TradeTax.php b/src/zugferd10/Model/Trade/Tax/TradeTax.php index 865e972..a54dfd0 100644 --- a/src/zugferd10/Model/Trade/Tax/TradeTax.php +++ b/src/zugferd10/Model/Trade/Tax/TradeTax.php @@ -12,7 +12,7 @@ class TradeTax /** * @var Amount */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[JMS\Type(Amount::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('CalculatedAmount')] private $calculatedAmount; @@ -36,7 +36,7 @@ class TradeTax /** * @var Amount */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[JMS\Type(Amount::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('BasisAmount')] private $basisAmount; @@ -44,7 +44,7 @@ class TradeTax /** * @var Amount */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[JMS\Type(Amount::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('LineTotalBasisAmount')] private $lineTotalBasisAmount; @@ -52,7 +52,7 @@ class TradeTax /** * @var Amount */ - #[JMS\Type(\Easybill\ZUGFeRD\Model\Trade\Amount::class)] + #[JMS\Type(Amount::class)] #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[JMS\SerializedName('AllowanceChargeBasisAmount')] private $allowanceChargeBasisAmount; diff --git a/src/zugferd10/Model/Trade/TradeContact.php b/src/zugferd10/Model/Trade/TradeContact.php index d21e266..a607c38 100644 --- a/src/zugferd10/Model/Trade/TradeContact.php +++ b/src/zugferd10/Model/Trade/TradeContact.php @@ -33,7 +33,7 @@ public function __construct(#[Type('string')] public ?string $personName = null, #[Type('string')] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('DepartmentName')] - public ?string $departmentName = null, UniversalCommunication $telephoneUniversalCommunication = null, UniversalCommunication $faxUniversalCommunication = null, UniversalCommunication $emailURIUniversalCommunication = null) + public ?string $departmentName = null, ?UniversalCommunication $telephoneUniversalCommunication = null, ?UniversalCommunication $faxUniversalCommunication = null, ?UniversalCommunication $emailURIUniversalCommunication = null) { $this->telephoneUniversalCommunication = $telephoneUniversalCommunication; $this->faxUniversalCommunication = $faxUniversalCommunication; diff --git a/src/zugferd10/Model/Trade/TradeCountry.php b/src/zugferd10/Model/Trade/TradeCountry.php index a59a5da..4707959 100644 --- a/src/zugferd10/Model/Trade/TradeCountry.php +++ b/src/zugferd10/Model/Trade/TradeCountry.php @@ -12,15 +12,11 @@ class TradeCountry { /** * Trade Country constructor. - * - * @param string $description */ public function __construct(#[Type('string')] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] #[SerializedName('ID')] - private string $id) - { - } + private string $id) {} /** * @return string diff --git a/src/zugferd10/Model/Trade/TradeParty.php b/src/zugferd10/Model/Trade/TradeParty.php index 2658ad5..b78895b 100644 --- a/src/zugferd10/Model/Trade/TradeParty.php +++ b/src/zugferd10/Model/Trade/TradeParty.php @@ -50,7 +50,7 @@ public function __construct(#[Type('string')] */ #[Type('array')] #[XmlList(inline: true, entry: 'SpecifiedTaxRegistration', namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12')] - private array $taxRegistrations = [], TradeContact $definedTradeContact = null) + private array $taxRegistrations = [], ?TradeContact $definedTradeContact = null) { $this->definedTradeContact = $definedTradeContact; } @@ -146,7 +146,7 @@ public function addTaxRegistration(TaxRegistration $taxRegistration) } /** - * @return \Easybill\ZUGFeRD\Model\Trade\Tax\TradeContact + * @return Tax\TradeContact */ public function getDefinedTradeContact() { diff --git a/src/zugferd10/Model/Trade/UniversalCommunication.php b/src/zugferd10/Model/Trade/UniversalCommunication.php index 858684e..30619e1 100644 --- a/src/zugferd10/Model/Trade/UniversalCommunication.php +++ b/src/zugferd10/Model/Trade/UniversalCommunication.php @@ -20,7 +20,7 @@ class UniversalCommunication #[SerializedName('URIID')] public $uriid; - public function __construct(string $completeNumber = null, string $uriid = null) + public function __construct(?string $completeNumber = null, ?string $uriid = null) { $this->completeNumber = $completeNumber; $this->uriid = $uriid; diff --git a/src/zugferd10/Reader.php b/src/zugferd10/Reader.php index d8cc117..5b01547 100644 --- a/src/zugferd10/Reader.php +++ b/src/zugferd10/Reader.php @@ -10,9 +10,7 @@ class Reader { - public function __construct(private readonly SerializerInterface $serializer) - { - } + public function __construct(private readonly SerializerInterface $serializer) {} public function getDocument(string $xml): Document { diff --git a/src/zugferd2/Builder.php b/src/zugferd2/Builder.php index 1c7252e..832bb81 100644 --- a/src/zugferd2/Builder.php +++ b/src/zugferd2/Builder.php @@ -17,9 +17,7 @@ class Builder public const GUIDELINE_SPECIFIED_DOCUMENT_CONTEXT_ID_XRECHNUNG = 'urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.1'; public const GUIDELINE_SPECIFIED_DOCUMENT_CONTEXT_ID_EXTENDED = 'urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended'; - public function __construct(private readonly SerializerInterface $serializer) - { - } + public function __construct(private readonly SerializerInterface $serializer) {} public function transform(CrossIndustryInvoice $crossIndustryInvoice): string { diff --git a/src/zugferd2/Model/TradeAccountingAccount.php b/src/zugferd2/Model/TradeAccountingAccount.php index c185c24..ee044f3 100644 --- a/src/zugferd2/Model/TradeAccountingAccount.php +++ b/src/zugferd2/Model/TradeAccountingAccount.php @@ -4,7 +4,6 @@ namespace Easybill\ZUGFeRD2\Model; -use JMS\Serializer\Annotation as JMS; use JMS\Serializer\Annotation\SerializedName; use JMS\Serializer\Annotation\Type; use JMS\Serializer\Annotation\XmlElement; @@ -16,8 +15,8 @@ class TradeAccountingAccount #[SerializedName('ID')] public Id $id; - #[JMS\Type('string')] - #[JMS\XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] - #[JMS\SerializedName('TypeCode')] + #[Type('string')] + #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] + #[SerializedName('TypeCode')] public ?string $typeCode = null; } diff --git a/src/zugferd2/Model/TradePrice.php b/src/zugferd2/Model/TradePrice.php index c42838f..0e5e4c8 100644 --- a/src/zugferd2/Model/TradePrice.php +++ b/src/zugferd2/Model/TradePrice.php @@ -24,7 +24,7 @@ class TradePrice public array $appliedTradeAllowanceCharges = []; /** @param array $tradeAllowanceCharge */ - public static function create(string $amount, Quantity $quantity = null, array $tradeAllowanceCharge = []): self + public static function create(string $amount, ?Quantity $quantity = null, array $tradeAllowanceCharge = []): self { $self = new self(); $self->chargeAmount = Amount::create($amount); diff --git a/src/zugferd2/Model/TradeSettlementLineMonetarySummation.php b/src/zugferd2/Model/TradeSettlementLineMonetarySummation.php index d11581e..c759f36 100644 --- a/src/zugferd2/Model/TradeSettlementLineMonetarySummation.php +++ b/src/zugferd2/Model/TradeSettlementLineMonetarySummation.php @@ -20,7 +20,7 @@ class TradeSettlementLineMonetarySummation #[SerializedName('TotalAllowanceChargeAmount')] public ?Amount $totalAllowanceChargeAmount = null; - public static function create(string $totalAmount, string $totalAllowanceChargeAmount = null): self + public static function create(string $totalAmount, ?string $totalAllowanceChargeAmount = null): self { $self = new self(); $self->totalAmount = Amount::create($totalAmount); diff --git a/src/zugferd2/Reader.php b/src/zugferd2/Reader.php index 066d8b4..1b329b4 100644 --- a/src/zugferd2/Reader.php +++ b/src/zugferd2/Reader.php @@ -10,9 +10,7 @@ class Reader { - public function __construct(private readonly SerializerInterface $serializer) - { - } + public function __construct(private readonly SerializerInterface $serializer) {} public function transform(string $xml): CrossIndustryInvoice { From 88d67d36a3e77013e6b6f4876dee261adad7a3de Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:57:22 +0200 Subject: [PATCH 08/10] add more files to php cs fixer --- .php-cs-fixer.dist.php | 25 +++++++++++++++++-------- rector.php | 4 ++-- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index e11e4fd..bdccc80 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -2,13 +2,21 @@ use PhpCsFixer\Config; use PhpCsFixer\Finder; +use PhpCsFixer\Runner\Parallel\ParallelConfigFactory; $finder = (new Finder()) - ->in([__DIR__ . '/src', __DIR__ . '/tests']) + ->in([ + __DIR__ . '/src', + __DIR__ . '/tests', + ]) + ->append([ + __FILE__, + __DIR__ . '/rector.php', + ]) ; return (new Config()) - ->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect()) + ->setParallelConfig(ParallelConfigFactory::detect()) ->setRiskyAllowed(false) ->setRules([ '@PSR2' => true, @@ -20,20 +28,21 @@ 'yoda_style' => false, 'ordered_class_elements' => false, 'ordered_imports' => false, - //'method_argument_space' => null, - //'no_whitespace_in_blank_line' => null, - //'no_extra_blank_lines' => null, - //'braces' => null, + // 'method_argument_space' => null, + // 'no_whitespace_in_blank_line' => null, + // 'no_extra_blank_lines' => null, + // 'braces' => null, 'blank_line_before_statement' => false, 'phpdoc_align' => ['align' => 'left'], 'phpdoc_var_without_name' => false, 'phpdoc_types_order' => false, 'phpdoc_order' => false, 'phpdoc_separation' => false, - //'no_superfluous_elseif' => null, + // 'no_superfluous_elseif' => null, 'class_definition' => false, 'ternary_to_null_coalescing' => true, 'php_unit_test_class_requires_covers' => false, 'php_unit_internal_class' => false, ]) - ->setFinder($finder); + ->setFinder($finder) +; diff --git a/rector.php b/rector.php index 165a327..0dd61fb 100644 --- a/rector.php +++ b/rector.php @@ -4,7 +4,6 @@ use Rector\Config\RectorConfig; use Rector\Symfony\Set\JMSSetList; -use Rector\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector; use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictNativeCallRector; use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictScalarReturnExprRector; @@ -19,4 +18,5 @@ ]) ->withSets([ JMSSetList::ANNOTATIONS_TO_ATTRIBUTES, - ]); + ]) +; From fa83471a31ce82a5688d5c79023c6fbc9064e3fc Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 13:59:20 +0200 Subject: [PATCH 09/10] update rector and php cs fixer config --- .php-cs-fixer.dist.php | 1 + rector.php | 7 ++++--- src/zugferd10/Model/DateTime.php | 5 +++-- src/zugferd10/Model/Note.php | 3 ++- src/zugferd10/SchemaValidator.php | 4 +++- src/zugferd2/Model/HeaderTradeAgreement.php | 2 +- src/zugferd2/Model/LineTradeDelivery.php | 2 +- src/zugferd2/Model/ProductType.php | 2 +- src/zugferd2/Validator.php | 4 +++- tests/zugferd10/Tests/BuilderTest.php | 3 ++- .../zugferd2/Tests/Legacy/TradeAccountingAccountTest.php | 4 ++-- tests/zugferd2/Tests/Traits/ReformatXmlTrait.php | 8 +++++--- 12 files changed, 28 insertions(+), 17 deletions(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index bdccc80..53261cb 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -28,6 +28,7 @@ 'yoda_style' => false, 'ordered_class_elements' => false, 'ordered_imports' => false, + 'global_namespace_import' => ['import_functions' => true], // 'method_argument_space' => null, // 'no_whitespace_in_blank_line' => null, // 'no_extra_blank_lines' => null, diff --git a/rector.php b/rector.php index 0dd61fb..ae56284 100644 --- a/rector.php +++ b/rector.php @@ -5,16 +5,17 @@ use Rector\Config\RectorConfig; use Rector\Symfony\Set\JMSSetList; use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictNativeCallRector; -use Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictScalarReturnExprRector; return RectorConfig::configure() + ->withImportNames() ->withPaths([ __DIR__ . '/src/zugferd2', + __DIR__ . '/tests/zugferd2', ]) - ->withPhpSets(php81: true) + ->withPhpSets() + ->withPreparedSets(codeQuality: true, deadCode: true) ->withRules([ ReturnTypeFromStrictNativeCallRector::class, - ReturnTypeFromStrictScalarReturnExprRector::class, ]) ->withSets([ JMSSetList::ANNOTATIONS_TO_ATTRIBUTES, diff --git a/src/zugferd10/Model/DateTime.php b/src/zugferd10/Model/DateTime.php index 3a3afb0..5c10222 100644 --- a/src/zugferd10/Model/DateTime.php +++ b/src/zugferd10/Model/DateTime.php @@ -5,6 +5,7 @@ namespace Easybill\ZUGFeRD\Model; use JMS\Serializer\Annotation as JMS; +use RuntimeException; class DateTime { @@ -30,7 +31,7 @@ class DateTime public function __construct($time, $format = 102) { if ($format !== 102 && $format !== 610 && $format !== 616) { - throw new \RuntimeException('Invalid format! Please set it to: 102, 610 or 616'); + throw new RuntimeException('Invalid format! Please set it to: 102, 610 or 616'); } if ($time instanceof \DateTime) { @@ -38,7 +39,7 @@ public function __construct($time, $format = 102) } elseif (is_string($time)) { $dateTime = new \DateTime($time); } else { - throw new \RuntimeException('Invalid date! it must be an instance of \DateTime or must be a string!'); + throw new RuntimeException('Invalid date! it must be an instance of \DateTime or must be a string!'); } $formatStr = match ($format) { diff --git a/src/zugferd10/Model/Note.php b/src/zugferd10/Model/Note.php index 11aa0b8..8092a22 100644 --- a/src/zugferd10/Model/Note.php +++ b/src/zugferd10/Model/Note.php @@ -7,6 +7,7 @@ use JMS\Serializer\Annotation\SerializedName; use JMS\Serializer\Annotation\Type; use JMS\Serializer\Annotation\XmlElement; +use RuntimeException; /** * Class Note. @@ -79,7 +80,7 @@ public function setSubjectCode($subjectCode) && $subjectCode !== 'AAJ' && $subjectCode !== 'PMT' ) { - throw new \RuntimeException('Invalid subject code! Please set it to null or to an empty string, REG, AAK, AAJ, PMT or '); + throw new RuntimeException('Invalid subject code! Please set it to null or to an empty string, REG, AAK, AAJ, PMT or '); } $this->subjectCode = $subjectCode; diff --git a/src/zugferd10/SchemaValidator.php b/src/zugferd10/SchemaValidator.php index 321cd45..f3c76c6 100644 --- a/src/zugferd10/SchemaValidator.php +++ b/src/zugferd10/SchemaValidator.php @@ -4,6 +4,8 @@ namespace Easybill\ZUGFeRD; +use DOMDocument; + class SchemaValidator { /** @@ -11,7 +13,7 @@ class SchemaValidator */ public static function isValid(string $xml): bool { - $xmlValidate = new \DOMDocument(); + $xmlValidate = new DOMDocument(); $xmlValidate->loadXML($xml); return $xmlValidate->schemaValidate(__DIR__ . '/Assets/Schema/ZUGFeRD1p0.xsd'); } diff --git a/src/zugferd2/Model/HeaderTradeAgreement.php b/src/zugferd2/Model/HeaderTradeAgreement.php index 7210a33..a8efe94 100644 --- a/src/zugferd2/Model/HeaderTradeAgreement.php +++ b/src/zugferd2/Model/HeaderTradeAgreement.php @@ -67,7 +67,7 @@ class HeaderTradeAgreement #[Type(ReferencedDocument::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] #[SerializedName('SellerOrderReferencedDocument')] - public ?ReferencedDocument $sellerOrderReferencedDocument; + public ?ReferencedDocument $sellerOrderReferencedDocument = null; #[Type(ProcuringProject::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] diff --git a/src/zugferd2/Model/LineTradeDelivery.php b/src/zugferd2/Model/LineTradeDelivery.php index 07778f1..dcf6b2d 100644 --- a/src/zugferd2/Model/LineTradeDelivery.php +++ b/src/zugferd2/Model/LineTradeDelivery.php @@ -18,7 +18,7 @@ class LineTradeDelivery #[Type(Quantity::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] #[SerializedName('PackageQuantity')] - public ?Quantity $packageQuantity; + public ?Quantity $packageQuantity = null; #[Type(SupplyChainEvent::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] diff --git a/src/zugferd2/Model/ProductType.php b/src/zugferd2/Model/ProductType.php index e332e3a..e5a33c9 100644 --- a/src/zugferd2/Model/ProductType.php +++ b/src/zugferd2/Model/ProductType.php @@ -13,7 +13,7 @@ class ProductType #[Type(Id::class)] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] #[SerializedName('GlobalID')] - public ?Id $id; + public ?Id $id = null; #[Type('string')] #[XmlElement(cdata: false, namespace: 'urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100')] diff --git a/src/zugferd2/Validator.php b/src/zugferd2/Validator.php index e8cff6b..1d6442e 100644 --- a/src/zugferd2/Validator.php +++ b/src/zugferd2/Validator.php @@ -4,6 +4,8 @@ namespace Easybill\ZUGFeRD2; +use DOMDocument; + class Validator { public const SCHEMA_BASIC = __DIR__ . '/Schema/BASIC/Factur-X_1.0.07_BASIC.xsd'; @@ -14,7 +16,7 @@ class Validator public function validateAgainstXsd(string $xml, string $schemaFile): ?string { - $domDoc = new \DOMDocument(); + $domDoc = new DOMDocument(); $domDoc->loadXML($xml); try { diff --git a/tests/zugferd10/Tests/BuilderTest.php b/tests/zugferd10/Tests/BuilderTest.php index c6dd61f..545338d 100644 --- a/tests/zugferd10/Tests/BuilderTest.php +++ b/tests/zugferd10/Tests/BuilderTest.php @@ -41,6 +41,7 @@ use Easybill\ZUGFeRD\Model\Trade\UniversalCommunication; use Easybill\ZUGFeRD\SchemaValidator; use PHPUnit\Framework\TestCase; +use DateTime; class BuilderTest extends TestCase { @@ -58,7 +59,7 @@ public function testGetXML(): void $doc->getHeader() ->setId('RE1337') ->setName('RECHNUNG') - ->setDate(new Date(new \DateTime('20130305'), 102)) + ->setDate(new Date(new DateTime('20130305'), 102)) ->addNote(new Note('Test Node 1')) ->addNote(new Note('Test Node 2')) ->addNote(new Note('easybill GmbH diff --git a/tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php b/tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php index 03dc554..9c09c41 100644 --- a/tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php +++ b/tests/zugferd2/Tests/Legacy/TradeAccountingAccountTest.php @@ -50,7 +50,7 @@ public function testTradeAccountingAccount(): void $invoice->supplyChainTradeTransaction->lineItems[] = $item1; - $xml = <<<'XML' + $xml = <<<'XML_WRAP' @@ -107,7 +107,7 @@ public function testTradeAccountingAccount(): void -XML; +XML_WRAP; $this->assertEquals( // Removes white-space preg_replace('/\s/', '', $xml), diff --git a/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php b/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php index fbcc531..16ed46b 100644 --- a/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php +++ b/tests/zugferd2/Tests/Traits/ReformatXmlTrait.php @@ -4,16 +4,18 @@ namespace Easybill\ZUGFeRD2\Tests\Traits; +use DOMDocument; + trait ReformatXmlTrait { public static function reformatXml(string $xml): string { - $xml = (string) preg_replace('//', '', $xml); + $xml = (string)preg_replace('//', '', $xml); - $doc = new \DOMDocument('1.0', 'UTF-8'); + $doc = new DOMDocument('1.0', 'UTF-8'); $doc->preserveWhiteSpace = false; $doc->formatOutput = true; $doc->loadXML($xml); - return (string) $doc->saveXML(); + return (string)$doc->saveXML(); } } From dd7f16d8158d4d8824c02f382127780dfb19ad5b Mon Sep 17 00:00:00 2001 From: Guillaume Sainthillier Date: Sat, 28 Sep 2024 14:01:20 +0200 Subject: [PATCH 10/10] fix bug with jms/serializer before 3.18 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 7b101ca..bd94953 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ ], "require": { "php": "^8.1", - "jms/serializer": "^3.16", + "jms/serializer": "^3.18", "ext-dom": "*" }, "suggest": {