diff --git a/.github/workflows/integrate.yaml b/.github/workflows/integrate.yaml index 1a75d3bd..ae2d065f 100644 --- a/.github/workflows/integrate.yaml +++ b/.github/workflows/integrate.yaml @@ -44,6 +44,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" @@ -110,6 +113,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" @@ -128,10 +134,10 @@ jobs: - name: "Install dependencies with phive" uses: "ergebnis/.github/actions/phive/install@1.9.2" with: - trust-gpg-keys: "0x033E5F8D801A2F8D,0xC00543248C87FB13" + trust-gpg-keys: "0x033E5F8D801A2F8D" - name: "Run ergebnis/composer-normalize" - run: ".phive/composer-normalize --ansi --dry-run" + run: "composer normalize --ansi --dry-run" - name: "Cache cache directory for friendsofphp/php-cs-fixer" uses: "actions/cache@v4.1.2" @@ -178,6 +184,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" @@ -196,7 +205,7 @@ jobs: - name: "Install dependencies with phive" uses: "ergebnis/.github/actions/phive/install@1.9.2" with: - trust-gpg-keys: "0x033E5F8D801A2F8D,0xC00543248C87FB13" + trust-gpg-keys: "0x033E5F8D801A2F8D" - name: "Run maglnet/composer-require-checker" run: ".phive/composer-require-checker check --ansi --config-file=$(pwd)/composer-require-checker.json --verbose" @@ -233,6 +242,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" @@ -285,6 +297,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" @@ -344,6 +359,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" @@ -394,6 +412,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" @@ -455,6 +476,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" diff --git a/.github/workflows/renew.yaml b/.github/workflows/renew.yaml index 247a4557..8e87587c 100644 --- a/.github/workflows/renew.yaml +++ b/.github/workflows/renew.yaml @@ -41,6 +41,9 @@ jobs: - name: "Validate composer.json and composer.lock" run: "composer validate --ansi --strict" + - name: "Determine composer root version" + uses: "ergebnis/.github/actions/composer/determine-root-version@1.9.2" + - name: "Determine composer cache directory" uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.2" diff --git a/.phive/phars.xml b/.phive/phars.xml index 40f88f4b..aefe788e 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,5 +1,4 @@ - diff --git a/Makefile b/Makefile index a61c03de..d99cfa6f 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ code-coverage: vendor ## Collects code coverage from running unit tests with php .PHONY: coding-standards coding-standards: phive vendor ## Lints YAML files with yamllint, normalizes composer.json with ergebnis/composer-normalize, and fixes code style issues with friendsofphp/php-cs-fixer yamllint -c .yamllint.yaml --strict . - .phive/composer-normalize + composer normalize vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php --diff --show-progress=dots --verbose .PHONY: dependency-analysis diff --git a/composer.json b/composer.json index eaafc2ce..474248a8 100644 --- a/composer.json +++ b/composer.json @@ -24,6 +24,7 @@ "ext-json": "*" }, "require-dev": { + "ergebnis/composer-normalize": "^2.44.0", "ergebnis/data-provider": "^3.3.0", "ergebnis/license": "^2.5.0", "ergebnis/php-cs-fixer-config": "^6.37.0", @@ -51,6 +52,7 @@ "config": { "allow-plugins": { "composer/package-versions-deprecated": true, + "ergebnis/composer-normalize": true, "infection/extension-installer": true, "phpstan/extension-installer": true }, @@ -64,6 +66,9 @@ "sort-packages": true }, "extra": { + "branch-alias": { + "dev-main": "1.4-dev" + }, "composer-normalize": { "indent-size": 2, "indent-style": "space" diff --git a/composer.lock b/composer.lock index e1097907..0f75a10d 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": "95969fd0297d0744bcc2dedcef8ce768", + "content-hash": "391b9c2affc8736a32492cf5f589c5db", "packages": [], "packages-dev": [ { @@ -367,6 +367,83 @@ ], "time": "2022-12-30T00:15:36+00:00" }, + { + "name": "ergebnis/composer-normalize", + "version": "2.44.0", + "source": { + "type": "git", + "url": "https://github.com/ergebnis/composer-normalize.git", + "reference": "bd0c446426bb837ae0cc9f97948167e658bd11d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ergebnis/composer-normalize/zipball/bd0c446426bb837ae0cc9f97948167e658bd11d2", + "reference": "bd0c446426bb837ae0cc9f97948167e658bd11d2", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0.0", + "ergebnis/json": "^1.2.0", + "ergebnis/json-normalizer": "^4.5.0", + "ergebnis/json-printer": "^3.5.0", + "ext-json": "*", + "justinrainbow/json-schema": "^5.2.12", + "localheinz/diff": "^1.1.1", + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "require-dev": { + "composer/composer": "^2.7.7", + "ergebnis/license": "^2.5.0", + "ergebnis/php-cs-fixer-config": "^6.37.0", + "ergebnis/phpunit-slow-test-detector": "^2.16.0", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.20", + "psalm/plugin-phpunit": "~0.19.0", + "rector/rector": "^1.2.5", + "symfony/filesystem": "^5.4.41", + "vimeo/psalm": "^5.26.1" + }, + "type": "composer-plugin", + "extra": { + "class": "Ergebnis\\Composer\\Normalize\\NormalizePlugin", + "composer-normalize": { + "indent-size": 2, + "indent-style": "space" + }, + "plugin-optional": true + }, + "autoload": { + "psr-4": { + "Ergebnis\\Composer\\Normalize\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Möller", + "email": "am@localheinz.com", + "homepage": "https://localheinz.com" + } + ], + "description": "Provides a composer plugin for normalizing composer.json.", + "homepage": "https://github.com/ergebnis/composer-normalize", + "keywords": [ + "composer", + "normalize", + "normalizer", + "plugin" + ], + "support": { + "issues": "https://github.com/ergebnis/composer-normalize/issues", + "security": "https://github.com/ergebnis/composer-normalize/blob/main/.github/SECURITY.md", + "source": "https://github.com/ergebnis/composer-normalize" + }, + "time": "2024-09-30T21:56:22+00:00" + }, { "name": "ergebnis/data-provider", "version": "3.3.0", @@ -431,6 +508,280 @@ }, "time": "2024-09-27T14:45:58+00:00" }, + { + "name": "ergebnis/json-normalizer", + "version": "4.6.0", + "source": { + "type": "git", + "url": "https://github.com/ergebnis/json-normalizer.git", + "reference": "859fd3cee417f0b10a8e6ffb8dbeb03587106b8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ergebnis/json-normalizer/zipball/859fd3cee417f0b10a8e6ffb8dbeb03587106b8b", + "reference": "859fd3cee417f0b10a8e6ffb8dbeb03587106b8b", + "shasum": "" + }, + "require": { + "ergebnis/json": "^1.2.0", + "ergebnis/json-pointer": "^3.4.0", + "ergebnis/json-printer": "^3.5.0", + "ergebnis/json-schema-validator": "^4.2.0", + "ext-json": "*", + "justinrainbow/json-schema": "^5.2.12", + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "require-dev": { + "composer/semver": "^3.4.3", + "ergebnis/data-provider": "^3.2.0", + "ergebnis/license": "^2.4.0", + "ergebnis/php-cs-fixer-config": "^6.36.0", + "ergebnis/phpunit-slow-test-detector": "^2.15.1", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.19", + "psalm/plugin-phpunit": "~0.19.0", + "rector/rector": "^1.2.5", + "vimeo/psalm": "^5.26.1" + }, + "suggest": { + "composer/semver": "If you want to use ComposerJsonNormalizer or VersionConstraintNormalizer" + }, + "type": "library", + "autoload": { + "psr-4": { + "Ergebnis\\Json\\Normalizer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Möller", + "email": "am@localheinz.com", + "homepage": "https://localheinz.com" + } + ], + "description": "Provides generic and vendor-specific normalizers for normalizing JSON documents.", + "homepage": "https://github.com/ergebnis/json-normalizer", + "keywords": [ + "json", + "normalizer" + ], + "support": { + "issues": "https://github.com/ergebnis/json-normalizer/issues", + "security": "https://github.com/ergebnis/json-normalizer/blob/main/.github/SECURITY.md", + "source": "https://github.com/ergebnis/json-normalizer" + }, + "time": "2024-09-27T15:11:59+00:00" + }, + { + "name": "ergebnis/json-pointer", + "version": "3.5.0", + "source": { + "type": "git", + "url": "https://github.com/ergebnis/json-pointer.git", + "reference": "f6ff71e69305b8ab5e4457e374b35dcd0812609b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ergebnis/json-pointer/zipball/f6ff71e69305b8ab5e4457e374b35dcd0812609b", + "reference": "f6ff71e69305b8ab5e4457e374b35dcd0812609b", + "shasum": "" + }, + "require": { + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.43.0", + "ergebnis/data-provider": "^3.2.0", + "ergebnis/license": "^2.4.0", + "ergebnis/php-cs-fixer-config": "^6.32.0", + "ergebnis/phpunit-slow-test-detector": "^2.15.0", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.19", + "psalm/plugin-phpunit": "~0.19.0", + "rector/rector": "^1.2.1", + "vimeo/psalm": "^5.25.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "composer-normalize": { + "indent-size": 2, + "indent-style": "space" + } + }, + "autoload": { + "psr-4": { + "Ergebnis\\Json\\Pointer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Möller", + "email": "am@localheinz.com", + "homepage": "https://localheinz.com" + } + ], + "description": "Provides an abstraction of a JSON pointer.", + "homepage": "https://github.com/ergebnis/json-pointer", + "keywords": [ + "RFC6901", + "json", + "pointer" + ], + "support": { + "issues": "https://github.com/ergebnis/json-pointer/issues", + "security": "https://github.com/ergebnis/json-pointer/blob/main/.github/SECURITY.md", + "source": "https://github.com/ergebnis/json-pointer" + }, + "time": "2024-09-27T15:47:15+00:00" + }, + { + "name": "ergebnis/json-printer", + "version": "3.7.0", + "source": { + "type": "git", + "url": "https://github.com/ergebnis/json-printer.git", + "reference": "ced41fce7854152f0e8f38793c2ffe59513cdd82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ergebnis/json-printer/zipball/ced41fce7854152f0e8f38793c2ffe59513cdd82", + "reference": "ced41fce7854152f0e8f38793c2ffe59513cdd82", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "require-dev": { + "ergebnis/data-provider": "^3.3.0", + "ergebnis/license": "^2.5.0", + "ergebnis/php-cs-fixer-config": "^6.37.0", + "ergebnis/phpunit-slow-test-detector": "^2.16.1", + "fakerphp/faker": "^1.24.0", + "infection/infection": "~0.26.6", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.10", + "phpstan/phpstan-deprecation-rules": "^1.2.1", + "phpstan/phpstan-phpunit": "^1.4.1", + "phpstan/phpstan-strict-rules": "^1.6.1", + "phpunit/phpunit": "^9.6.21", + "rector/rector": "^1.2.10" + }, + "type": "library", + "autoload": { + "psr-4": { + "Ergebnis\\Json\\Printer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Möller", + "email": "am@localheinz.com", + "homepage": "https://localheinz.com" + } + ], + "description": "Provides a JSON printer, allowing for flexible indentation.", + "homepage": "https://github.com/ergebnis/json-printer", + "keywords": [ + "formatter", + "json", + "printer" + ], + "support": { + "issues": "https://github.com/ergebnis/json-printer/issues", + "security": "https://github.com/ergebnis/json-printer/blob/main/.github/SECURITY.md", + "source": "https://github.com/ergebnis/json-printer" + }, + "time": "2024-11-17T11:20:51+00:00" + }, + { + "name": "ergebnis/json-schema-validator", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/ergebnis/json-schema-validator.git", + "reference": "73f938f8995c6ad1e37d2c1dfeaa8336861f9db8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ergebnis/json-schema-validator/zipball/73f938f8995c6ad1e37d2c1dfeaa8336861f9db8", + "reference": "73f938f8995c6ad1e37d2c1dfeaa8336861f9db8", + "shasum": "" + }, + "require": { + "ergebnis/json": "^1.2.0", + "ergebnis/json-pointer": "^3.4.0", + "ext-json": "*", + "justinrainbow/json-schema": "^5.2.12", + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "require-dev": { + "ergebnis/data-provider": "^3.2.0", + "ergebnis/license": "^2.4.0", + "ergebnis/php-cs-fixer-config": "^6.36.0", + "ergebnis/phpunit-slow-test-detector": "^2.15.1", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.20", + "psalm/plugin-phpunit": "~0.19.0", + "rector/rector": "^1.2.5", + "vimeo/psalm": "^5.26.1" + }, + "type": "library", + "extra": { + "composer-normalize": { + "indent-size": 2, + "indent-style": "space" + } + }, + "autoload": { + "psr-4": { + "Ergebnis\\Json\\SchemaValidator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Möller", + "email": "am@localheinz.com", + "homepage": "https://localheinz.com" + } + ], + "description": "Provides a JSON schema validator, building on top of justinrainbow/json-schema.", + "homepage": "https://github.com/ergebnis/json-schema-validator", + "keywords": [ + "json", + "schema", + "validator" + ], + "support": { + "issues": "https://github.com/ergebnis/json-schema-validator/issues", + "security": "https://github.com/ergebnis/json-schema-validator/blob/main/.github/SECURITY.md", + "source": "https://github.com/ergebnis/json-schema-validator" + }, + "time": "2024-09-27T15:16:33+00:00" + }, { "name": "ergebnis/license", "version": "2.5.0", @@ -1386,6 +1737,66 @@ }, "time": "2024-08-16T20:44:35+00:00" }, + { + "name": "localheinz/diff", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/localheinz/diff.git", + "reference": "851bb20ea8358c86f677f5f111c4ab031b1c764c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/localheinz/diff/zipball/851bb20ea8358c86f677f5f111c4ab031b1c764c", + "reference": "851bb20ea8358c86f677f5f111c4ab031b1c764c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^8.0", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "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": "Fork of sebastian/diff for use with ergebnis/composer-normalize", + "homepage": "https://github.com/localheinz/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "source": "https://github.com/localheinz/diff/tree/main" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-07-06T04:49:32+00:00" + }, { "name": "myclabs/deep-copy", "version": "1.12.0",