diff --git a/.circleci/config.yml b/.circleci/config.yml
index 9efc124..9597646 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -3,7 +3,7 @@ version: 2
jobs:
unit-tests:
docker:
- - image: circleci/php:7.0
+ - image: circleci/php:8.1
steps:
- run: sudo composer self-update && sudo composer self-update --1
- checkout
@@ -33,7 +33,7 @@ jobs:
machine:
enabled: true
docker:
- - image: circleci/php:7.0
+ - image: circleci/php:8.1
steps:
- add_ssh_keys:
fingerprints:
diff --git a/.github/workflows/check-style.yml b/.github/workflows/check-style.yml
new file mode 100644
index 0000000..a03614e
--- /dev/null
+++ b/.github/workflows/check-style.yml
@@ -0,0 +1,46 @@
+name: Check Codestyle
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - "*"
+ # Allow manually triggering the workflow.
+ workflow_dispatch:
+
+# Cancels all previous workflow runs for the same branch that have not yet completed.
+concurrency:
+ # The concurrency group contains the workflow name and the branch name.
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ fix-style:
+ name: Fix Code Style
+ timeout-minutes: 15
+ runs-on: ubuntu-latest
+ env:
+ COMPOSER_NO_INTERACTION: 1
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: 8.x
+ coverage: none
+ tools: composer, cs2pr
+
+ - name: Install dependencies
+ run: |
+ composer update --prefer-dist --no-suggest --no-progress --no-interaction
+ - name: Check Code Style
+ run: vendor/bin/phpcs --report-full --report-checkstyle=./phpcs-report.xml
+
+ - name: Show PHPCS results in PR
+ run: cs2pr ./phpcs-report.xml
+
diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
new file mode 100644
index 0000000..4c704f8
--- /dev/null
+++ b/.github/workflows/run-tests.yml
@@ -0,0 +1,61 @@
+name: Unit Tests
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - "*"
+ # Allow manually triggering the workflow.
+ workflow_dispatch:
+
+# Cancels all previous workflow runs for the same branch that have not yet completed.
+concurrency:
+ # The concurrency group contains the workflow name and the branch name.
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ php-tests:
+ runs-on: ubuntu-latest
+ timeout-minutes: 15
+ env:
+ COMPOSER_NO_INTERACTION: 1
+
+ strategy:
+ matrix:
+ php: ['8.1']
+ experimental: [false]
+
+ include:
+ - php: '8.2'
+ experimental: true
+
+ name: P${{ matrix.php }} - ${{ matrix.dependency-version }}
+ continue-on-error: ${{ matrix.experimental }}
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ ini-values: error_reporting=E_ALL, display_errors=On
+ coverage: none
+ tools: composer
+
+ - name: Install dependencies - normal
+ if: ${{ matrix.php < 8.2 }}
+ run: |
+ composer install --prefer-dist --no-progress --no-interaction
+
+ - name: Install dependencies - ignore platform reqs
+ if: ${{ matrix.php >= 8.2 }}
+ run: |
+ composer update --prefer-dist --no-progress --ignore-platform-reqs --no-interaction
+
+ - name: Execute Unit Tests
+ run: vendor/bin/phpunit
diff --git a/.gitignore b/.gitignore
index 4838771..11e4429 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@
composer.phar
/vendor/
.env
+.phpunit.result.cache
+.phpcs-cache
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..aa6524b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,66 @@
+# set all to phony
+SHELL=bash
+
+.PHONY: *
+
+mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
+current_dir := $(abspath $(patsubst %/,%,$(dir $(mkfile_path))))
+
+THREADS := $(shell docker info -f '{{ .NCPU }}')
+
+export DOCKER_BUILDKIT=1
+export COMPOSE_DOCKER_CLI_BUILD=1
+export LOCAL_COMPOSER_HOME=$(shell composer config --global home 2> /dev/null || echo ${HOME}/.config/composer)
+export LOCAL_COMPOSER_CACHE_DIR=$(shell composer config --global cache-dir 2> /dev/null || echo ${HOME}/.config/composer/cache)
+
+DOCKER_RUN=@docker run -it --rm \
+ --volume=$(shell pwd):/opt/project \
+ amsphp-console-cli
+
+DOCKER_RUN_COMPOSER=@docker run -it --rm \
+ --volume=${LOCAL_COMPOSER_CACHE_DIR}:/tmp/composer/cache \
+ --volume=${LOCAL_COMPOSER_HOME}:/.config/composer \
+ --volume=$(shell pwd):/opt/project \
+ amsphp-console-cli
+
+DOCKER_RUN_TEST=@docker run -it --rm \
+ --volume=$(shell pwd):/opt/project \
+ amsphp-console-cli
+
+DOCKER_RUN_XDEBUG_COVERAGE=@XDEBUG_MODE=coverage docker run -it --rm \
+ --volume=$(shell pwd):/opt/project \
+ amsphp-console-cli
+
+all: build composer-install test
+
+install: env-check docker-lint docker-build composer-install ## Builds the project
+
+build:
+ @echo -e "\033[33mBuilding PHP docker images\033[0m"
+ @docker build -f docker/cli.Dockerfile -t amsphp-console-cli .
+
+composer-install: ## Install dependencies with composer, according to the existing composer.lock
+ @echo -e "\033[33mInstalling dependencies\033[0m"
+ $(DOCKER_RUN_COMPOSER) composer install -n -o
+
+composer-require-checker: env-check ## Checks if all root dependencies are declared
+ @echo -e "\033[33mChecking composer requirements\033[0m"
+ $(DOCKER_RUN_COMPOSER) vendor/bin/composer-require-checker check --config-file=composer-require-checker.json
+
+composer-validate: env-check ## Runs composer validate
+ @echo -e "\033[33mValidating composer.json\033[0m"
+ $(DOCKER_RUN_COMPOSER) composer validate --no-check-all --strict
+
+test:
+ @echo -e "\033[33mRunning Tests\033[0m"
+ $(DOCKER_RUN_TEST) ./vendor/bin/phpunit
+
+run-cmd:
+ $(DOCKER_RUN) bin/console $(ARGS)
+
+shell: ## Gives shell access inside the container
+ $(DOCKER_RUN) sh
+
+help:
+ @echo "\033[33mUsage:\033[0m\n make [target] [FLAGS=\"val\"...]\n\n\033[33mTargets:\033[0m"
+ @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[32m%-18s\033[0m %s\n", $$1, $$2}'
diff --git a/composer.json b/composer.json
index 33f3f98..f0f0b3e 100644
--- a/composer.json
+++ b/composer.json
@@ -1,23 +1,32 @@
{
"require": {
- "symfony/console": "^3.0",
- "mcrumm/phlack": "^0.7.0",
- "dms/meetup-api-client": "^2.0",
- "joindin/api-client": "^0.1.3",
- "codeliner/array-reader": "^1.2",
- "php-di/php-di": "^5.2",
- "vlucas/phpdotenv": "^2.2"
+ "symfony/console": "^6",
+ "codeliner/array-reader": "^2",
+ "php-di/php-di": "^6",
+ "guzzlehttp/guzzle": "^7.5",
+ "ext-json": "*",
+ "ramsey/collection": "^1.2",
+ "ext-intl": "*"
},
"autoload": {
"psr-4": {
- "AmsterdamPHP\\Console\\": ["src/", "tests/"],
- "Deployer\\": "vendor/deployer/deployer/"
+ "AmsterdamPHP\\Console\\": ["src/", "tests/"]
}
},
"require-dev": {
- "deployer/deployer": "^4@dev",
- "phpunit/phpunit": "^5.3",
- "mockery/mockery": "^0.9.5"
+ "mockery/mockery": "^1",
+ "phpunit/phpunit": "^9",
+ "vlucas/phpdotenv": "^5",
+ "deployer/deployer": "^7",
+ "doctrine/coding-standard": "^10.0"
+ },
+ "config": {
+ "allow-plugins": {
+ "dealerdirect/phpcodesniffer-composer-installer": true
+ }
+ },
+ "scripts": {
+ "phpcs": "phpcs"
}
}
diff --git a/composer.lock b/composer.lock
index f250801..ac8e302 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1,37 +1,35 @@
{
"_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#composer-lock-the-lock-file",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "hash": "87b932fa9d0a34381e948dba5033626b",
- "content-hash": "00530bc73b089f15aa2a094709b38794",
+ "content-hash": "e2c6ece5075c3b61d8a1080f13214c9a",
"packages": [
{
"name": "codeliner/array-reader",
- "version": "v1.2.0",
+ "version": "v2.1",
"source": {
"type": "git",
"url": "https://github.com/codeliner/array-reader.git",
- "reference": "c1be1b89e4d1b8df0e9414a3ab79b04b46418d29"
+ "reference": "25ef991e2832a48eac5952d245fdcb8eb1573c4b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/codeliner/array-reader/zipball/c1be1b89e4d1b8df0e9414a3ab79b04b46418d29",
- "reference": "c1be1b89e4d1b8df0e9414a3ab79b04b46418d29",
+ "url": "https://api.github.com/repos/codeliner/array-reader/zipball/25ef991e2832a48eac5952d245fdcb8eb1573c4b",
+ "reference": "25ef991e2832a48eac5952d245fdcb8eb1573c4b",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"require-dev": {
- "phpunit/phpunit": "3.7.*"
+ "phpunit/phpunit": ">=7.0"
},
"type": "library",
"autoload": {
- "psr-0": {
- "Codeliner\\ArrayReader\\": "src",
- "Codeliner\\ArrayReaderTest\\": "tests"
+ "psr-4": {
+ "Codeliner\\ArrayReader\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -52,73 +50,65 @@
"php",
"util"
],
- "time": "2015-07-02 17:50:54"
- },
- {
- "name": "container-interop/container-interop",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/container-interop/container-interop.git",
- "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/container-interop/container-interop/zipball/fc08354828f8fd3245f77a66b9e23a6bca48297e",
- "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e",
- "shasum": ""
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Interop\\Container\\": "src/Interop/Container/"
- }
+ "support": {
+ "issues": "https://github.com/codeliner/array-reader/issues",
+ "source": "https://github.com/codeliner/array-reader/tree/master"
},
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
- "time": "2014-12-30 15:22:37"
+ "time": "2018-12-01T16:53:47+00:00"
},
{
- "name": "dms/meetup-api-client",
- "version": "v2.0.1",
+ "name": "guzzlehttp/guzzle",
+ "version": "7.5.0",
"source": {
"type": "git",
- "url": "https://github.com/rdohms/meetup-api-client.git",
- "reference": "478a20547446e2f01fbf3cdd44a38fc003f0fa32"
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rdohms/meetup-api-client/zipball/478a20547446e2f01fbf3cdd44a38fc003f0fa32",
- "reference": "478a20547446e2f01fbf3cdd44a38fc003f0fa32",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba",
+ "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba",
"shasum": ""
},
"require": {
- "guzzle/guzzle": "~3.7",
- "php": "^5.3.10 | ^7.0"
+ "ext-json": "*",
+ "guzzlehttp/promises": "^1.5",
+ "guzzlehttp/psr7": "^1.9 || ^2.4",
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-client": "^1.0",
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
+ },
+ "provide": {
+ "psr/http-client-implementation": "1.0"
},
"require-dev": {
- "mathiasgrimm/arraypath": "~1.3",
- "phpunit/phpunit": "^4.8",
- "symfony/console": "~2.2",
- "symfony/css-selector": "~2.2",
- "symfony/dom-crawler": "~2.2",
- "symfony/var-dumper": "~2.6"
+ "bamarni/composer-bin-plugin": "^1.8.1",
+ "ext-curl": "*",
+ "php-http/client-integration-tests": "^3.0",
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23",
+ "psr/log": "^1.1 || ^2.0 || ^3.0"
+ },
+ "suggest": {
+ "ext-curl": "Required for CURL handler support",
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
+ "psr/log": "Required for using the Log middleware"
},
"type": "library",
"extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
+ },
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "7.5-dev"
}
},
"autoload": {
- "psr-0": {
- "DMS": [
- "src/",
- "tests/"
- ]
+ "files": [
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "GuzzleHttp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -127,48 +117,105 @@
],
"authors": [
{
- "name": "Rafael Dohms",
- "homepage": "http://doh.ms"
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Jeremy Lindblom",
+ "email": "jeremeamia@gmail.com",
+ "homepage": "https://github.com/jeremeamia"
+ },
+ {
+ "name": "George Mponos",
+ "email": "gmponos@gmail.com",
+ "homepage": "https://github.com/gmponos"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://github.com/sagikazarmark"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
}
],
- "description": "Meetup.com API client written on top of Guzzle. This supports all API operations.",
+ "description": "Guzzle is a PHP HTTP client library",
"keywords": [
- "Guzzle",
- "api",
- "dms",
- "meetup.com"
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "psr-18",
+ "psr-7",
+ "rest",
+ "web service"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/guzzle/issues",
+ "source": "https://github.com/guzzle/guzzle/tree/7.5.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
+ "type": "tidelift"
+ }
],
- "time": "2015-12-23 13:54:00"
+ "time": "2022-08-28T15:39:27+00:00"
},
{
- "name": "doctrine/collections",
- "version": "v1.3.0",
+ "name": "guzzlehttp/promises",
+ "version": "1.5.2",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/collections.git",
- "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a"
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "b94b2807d85443f9719887892882d0329d1e2598"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
- "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
+ "reference": "b94b2807d85443f9719887892882d0329d1e2598",
"shasum": ""
},
"require": {
- "php": ">=5.3.2"
+ "php": ">=5.5"
},
"require-dev": {
- "phpunit/phpunit": "~4.0"
+ "symfony/phpunit-bridge": "^4.4 || ^5.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "1.5-dev"
}
},
"autoload": {
- "psr-0": {
- "Doctrine\\Common\\Collections\\": "lib/"
+ "files": [
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -177,100 +224,95 @@
],
"authors": [
{
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
},
{
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
},
{
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
},
{
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
}
],
- "description": "Collections Abstraction library",
- "homepage": "http://www.doctrine-project.org",
+ "description": "Guzzle promises library",
"keywords": [
- "array",
- "collections",
- "iterator"
+ "promise"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/promises/issues",
+ "source": "https://github.com/guzzle/promises/tree/1.5.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
+ "type": "tidelift"
+ }
],
- "time": "2015-04-14 22:21:58"
+ "time": "2022-08-28T14:55:35+00:00"
},
{
- "name": "guzzle/guzzle",
- "version": "v3.9.3",
+ "name": "guzzlehttp/psr7",
+ "version": "2.4.1",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/guzzle3.git",
- "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9"
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9",
- "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/69568e4293f4fa993f3b0e51c9723e1e17c41379",
+ "reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379",
"shasum": ""
},
"require": {
- "ext-curl": "*",
- "php": ">=5.3.3",
- "symfony/event-dispatcher": "~2.1"
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-factory": "^1.0",
+ "psr/http-message": "^1.0",
+ "ralouphie/getallheaders": "^3.0"
},
- "replace": {
- "guzzle/batch": "self.version",
- "guzzle/cache": "self.version",
- "guzzle/common": "self.version",
- "guzzle/http": "self.version",
- "guzzle/inflection": "self.version",
- "guzzle/iterator": "self.version",
- "guzzle/log": "self.version",
- "guzzle/parser": "self.version",
- "guzzle/plugin": "self.version",
- "guzzle/plugin-async": "self.version",
- "guzzle/plugin-backoff": "self.version",
- "guzzle/plugin-cache": "self.version",
- "guzzle/plugin-cookie": "self.version",
- "guzzle/plugin-curlauth": "self.version",
- "guzzle/plugin-error-response": "self.version",
- "guzzle/plugin-history": "self.version",
- "guzzle/plugin-log": "self.version",
- "guzzle/plugin-md5": "self.version",
- "guzzle/plugin-mock": "self.version",
- "guzzle/plugin-oauth": "self.version",
- "guzzle/service": "self.version",
- "guzzle/stream": "self.version"
+ "provide": {
+ "psr/http-factory-implementation": "1.0",
+ "psr/http-message-implementation": "1.0"
},
"require-dev": {
- "doctrine/cache": "~1.3",
- "monolog/monolog": "~1.0",
- "phpunit/phpunit": "3.7.*",
- "psr/log": "~1.0",
- "symfony/class-loader": "~2.1",
- "zendframework/zend-cache": "2.*,<2.3",
- "zendframework/zend-log": "2.*,<2.3"
+ "bamarni/composer-bin-plugin": "^1.8.1",
+ "http-interop/http-factory-tests": "^0.9",
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23"
},
"suggest": {
- "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
+ "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
+ },
"branch-alias": {
- "dev-master": "3.9-dev"
+ "dev-master": "2.4-dev"
}
},
"autoload": {
- "psr-0": {
- "Guzzle": "src/",
- "Guzzle\\Tests": "tests/"
+ "psr-4": {
+ "GuzzleHttp\\Psr7\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -278,59 +320,105 @@
"MIT"
],
"authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
- "name": "Guzzle Community",
- "homepage": "https://github.com/guzzle/guzzle/contributors"
+ "name": "George Mponos",
+ "email": "gmponos@gmail.com",
+ "homepage": "https://github.com/gmponos"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://github.com/sagikazarmark"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://sagikazarmark.hu"
}
],
- "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
- "homepage": "http://guzzlephp.org/",
+ "description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
- "client",
- "curl",
- "framework",
"http",
- "http client",
- "rest",
- "web service"
+ "message",
+ "psr-7",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/psr7/issues",
+ "source": "https://github.com/guzzle/psr7/tree/2.4.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
+ "type": "tidelift"
+ }
],
- "time": "2015-03-18 18:23:50"
+ "time": "2022-08-28T14:45:39+00:00"
},
{
- "name": "guzzlehttp/command",
- "version": "0.6.0",
+ "name": "laravel/serializable-closure",
+ "version": "v1.2.2",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/command.git",
- "reference": "e2004b2ef217f14380f46bea9ebe8ecce3cecf7a"
+ "url": "https://github.com/laravel/serializable-closure.git",
+ "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/command/zipball/e2004b2ef217f14380f46bea9ebe8ecce3cecf7a",
- "reference": "e2004b2ef217f14380f46bea9ebe8ecce3cecf7a",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/47afb7fae28ed29057fdca37e16a84f90cc62fae",
+ "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae",
"shasum": ""
},
"require": {
- "guzzlehttp/guzzle": "~4.0",
- "php": ">=5.4.0"
+ "php": "^7.3|^8.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.0"
+ "nesbot/carbon": "^2.61",
+ "pestphp/pest": "^1.21.3",
+ "phpstan/phpstan": "^1.8.2",
+ "symfony/var-dumper": "^5.4.11"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.6-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
- "GuzzleHttp\\Command\\": "src/"
+ "Laravel\\SerializableClosure\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -339,195 +427,221 @@
],
"authors": [
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ },
+ {
+ "name": "Nuno Maduro",
+ "email": "nuno@laravel.com"
}
],
- "description": "Provides the foundation for building command based web service clients",
- "time": "2014-08-08 16:41:48"
+ "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.",
+ "keywords": [
+ "closure",
+ "laravel",
+ "serializable"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/serializable-closure/issues",
+ "source": "https://github.com/laravel/serializable-closure"
+ },
+ "time": "2022-09-08T13:45:54+00:00"
},
{
- "name": "guzzlehttp/guzzle",
- "version": "4.2.3",
+ "name": "php-di/invoker",
+ "version": "2.3.3",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "66fd916e9f9130bc22c51450476823391cb2f67c"
+ "url": "https://github.com/PHP-DI/Invoker.git",
+ "reference": "cd6d9f267d1a3474bdddf1be1da079f01b942786"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd916e9f9130bc22c51450476823391cb2f67c",
- "reference": "66fd916e9f9130bc22c51450476823391cb2f67c",
+ "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/cd6d9f267d1a3474bdddf1be1da079f01b942786",
+ "reference": "cd6d9f267d1a3474bdddf1be1da079f01b942786",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "guzzlehttp/streams": "~2.1",
- "php": ">=5.4.0"
+ "php": ">=7.3",
+ "psr/container": "^1.0|^2.0"
},
"require-dev": {
- "ext-curl": "*",
- "phpunit/phpunit": "~4.0",
- "psr/log": "~1.0"
- },
- "suggest": {
- "ext-curl": "Guzzle will use specific adapters if cURL is present"
+ "athletic/athletic": "~0.1.8",
+ "mnapoli/hard-mode": "~0.3.0",
+ "phpunit/phpunit": "^9.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
"autoload": {
"psr-4": {
- "GuzzleHttp\\": "src/"
- },
- "files": [
- "src/functions.php"
- ]
+ "Invoker\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
+ "description": "Generic and extensible callable invoker",
+ "homepage": "https://github.com/PHP-DI/Invoker",
+ "keywords": [
+ "callable",
+ "dependency",
+ "dependency-injection",
+ "injection",
+ "invoke",
+ "invoker"
+ ],
+ "support": {
+ "issues": "https://github.com/PHP-DI/Invoker/issues",
+ "source": "https://github.com/PHP-DI/Invoker/tree/2.3.3"
+ },
+ "funding": [
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "url": "https://github.com/mnapoli",
+ "type": "github"
}
],
- "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
- "homepage": "http://guzzlephp.org/",
- "keywords": [
- "client",
- "curl",
- "framework",
- "http",
- "http client",
- "rest",
- "web service"
- ],
- "time": "2014-10-05 19:29:14"
+ "time": "2021-12-13T09:22:56+00:00"
},
{
- "name": "guzzlehttp/guzzle-services",
- "version": "0.3.0",
+ "name": "php-di/php-di",
+ "version": "6.4.0",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/guzzle-services.git",
- "reference": "689dfa73b65e2c0a74184a5fb8c5a6ef0b160911"
+ "url": "https://github.com/PHP-DI/PHP-DI.git",
+ "reference": "ae0f1b3b03d8b29dff81747063cbfd6276246cc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle-services/zipball/689dfa73b65e2c0a74184a5fb8c5a6ef0b160911",
- "reference": "689dfa73b65e2c0a74184a5fb8c5a6ef0b160911",
+ "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/ae0f1b3b03d8b29dff81747063cbfd6276246cc4",
+ "reference": "ae0f1b3b03d8b29dff81747063cbfd6276246cc4",
"shasum": ""
},
"require": {
- "guzzlehttp/command": "~0.2",
- "php": ">=5.4.0"
+ "laravel/serializable-closure": "^1.0",
+ "php": ">=7.4.0",
+ "php-di/invoker": "^2.0",
+ "php-di/phpdoc-reader": "^2.0.1",
+ "psr/container": "^1.0"
+ },
+ "provide": {
+ "psr/container-implementation": "^1.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.0"
+ "doctrine/annotations": "~1.10",
+ "friendsofphp/php-cs-fixer": "^2.4",
+ "mnapoli/phpunit-easymock": "^1.2",
+ "ocramius/proxy-manager": "^2.11.2",
+ "phpstan/phpstan": "^0.12",
+ "phpunit/phpunit": "^9.5"
+ },
+ "suggest": {
+ "doctrine/annotations": "Install it if you want to use annotations (version ~1.2)",
+ "ocramius/proxy-manager": "Install it if you want to use lazy injection (version ~2.0)"
},
"type": "library",
"autoload": {
+ "files": [
+ "src/functions.php"
+ ],
"psr-4": {
- "GuzzleHttp\\Command\\Guzzle\\": "src/"
+ "DI\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
+ "description": "The dependency injection container for humans",
+ "homepage": "https://php-di.org/",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interop",
+ "dependency injection",
+ "di",
+ "ioc",
+ "psr11"
+ ],
+ "support": {
+ "issues": "https://github.com/PHP-DI/PHP-DI/issues",
+ "source": "https://github.com/PHP-DI/PHP-DI/tree/6.4.0"
+ },
+ "funding": [
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "url": "https://github.com/mnapoli",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/php-di/php-di",
+ "type": "tidelift"
}
],
- "description": "Provides an implementation of the Guzzle Command library that uses Guzzle service descriptions to describe web services, serialize requests, and parse responses into easy to use model structures.",
- "time": "2014-06-01 20:00:25"
+ "time": "2022-04-09T16:46:38+00:00"
},
{
- "name": "guzzlehttp/streams",
- "version": "2.1.0",
+ "name": "php-di/phpdoc-reader",
+ "version": "2.2.1",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/streams.git",
- "reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534"
+ "url": "https://github.com/PHP-DI/PhpDocReader.git",
+ "reference": "66daff34cbd2627740ffec9469ffbac9f8c8185c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/streams/zipball/f91b721d73f0e561410903b3b3c90a5d0e40b534",
- "reference": "f91b721d73f0e561410903b3b3c90a5d0e40b534",
+ "url": "https://api.github.com/repos/PHP-DI/PhpDocReader/zipball/66daff34cbd2627740ffec9469ffbac9f8c8185c",
+ "reference": "66daff34cbd2627740ffec9469ffbac9f8c8185c",
"shasum": ""
},
"require": {
- "php": ">=5.4.0"
+ "php": ">=7.2.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.0"
+ "mnapoli/hard-mode": "~0.3.0",
+ "phpunit/phpunit": "^8.5|^9.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
"autoload": {
"psr-4": {
- "GuzzleHttp\\Stream\\": "src/"
- },
- "files": [
- "src/functions.php"
- ]
+ "PhpDocReader\\": "src/PhpDocReader"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- }
- ],
- "description": "Provides a simple abstraction over streams of data (Guzzle 4+)",
- "homepage": "http://guzzlephp.org/",
+ "description": "PhpDocReader parses @var and @param values in PHP docblocks (supports namespaced class names with the same resolution rules as PHP)",
"keywords": [
- "Guzzle",
- "stream"
+ "phpdoc",
+ "reflection"
],
- "time": "2014-08-17 21:15:53"
+ "support": {
+ "issues": "https://github.com/PHP-DI/PhpDocReader/issues",
+ "source": "https://github.com/PHP-DI/PhpDocReader/tree/2.2.1"
+ },
+ "time": "2020-10-12T12:39:22+00:00"
},
{
- "name": "ircmaxell/password-compat",
- "version": "v1.0.4",
+ "name": "psr/container",
+ "version": "1.1.2",
"source": {
"type": "git",
- "url": "https://github.com/ircmaxell/password_compat.git",
- "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c"
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c",
- "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": ""
},
- "require-dev": {
- "phpunit/phpunit": "4.*"
+ "require": {
+ "php": ">=7.4.0"
},
"type": "library",
"autoload": {
- "files": [
- "lib/password.php"
- ]
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -535,97 +649,104 @@
],
"authors": [
{
- "name": "Anthony Ferrara",
- "email": "ircmaxell@php.net",
- "homepage": "http://blog.ircmaxell.com"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
- "homepage": "https://github.com/ircmaxell/password_compat",
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
"keywords": [
- "hashing",
- "password"
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
],
- "time": "2014-11-20 16:49:30"
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
+ },
+ "time": "2021-11-05T16:50:12+00:00"
},
{
- "name": "joindin/api-client",
- "version": "0.1.3",
+ "name": "psr/http-client",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/mvriel/joindin-api-client.git",
- "reference": "aa7750af8d232191ec5d7720d3d5697449aa50bb"
+ "url": "https://github.com/php-fig/http-client.git",
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mvriel/joindin-api-client/zipball/aa7750af8d232191ec5d7720d3d5697449aa50bb",
- "reference": "aa7750af8d232191ec5d7720d3d5697449aa50bb",
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
"shasum": ""
},
"require": {
- "guzzlehttp/guzzle": "~4.1",
- "guzzlehttp/guzzle-services": "~0.3",
- "symfony/serializer": "~2.5"
+ "php": "^7.0 || ^8.0",
+ "psr/http-message": "^1.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
"autoload": {
- "psr-0": {
- "Joindin": [
- "src/",
- "tests/unit/"
- ]
+ "psr-4": {
+ "Psr\\Http\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
- "time": "2014-10-03 21:25:30"
- },
- {
- "name": "mcrumm/phlack",
- "version": "v0.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/mcrumm/phlack.git",
- "reference": "c3594f8acc632cbc0a56c05534b5017521dfb861"
- },
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP clients",
+ "homepage": "https://github.com/php-fig/http-client",
+ "keywords": [
+ "http",
+ "http-client",
+ "psr",
+ "psr-18"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-client/tree/master"
+ },
+ "time": "2020-06-29T06:28:15+00:00"
+ },
+ {
+ "name": "psr/http-factory",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-factory.git",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
+ },
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mcrumm/phlack/zipball/c3594f8acc632cbc0a56c05534b5017521dfb861",
- "reference": "c3594f8acc632cbc0a56c05534b5017521dfb861",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
"shasum": ""
},
"require": {
- "doctrine/collections": ">=1.0",
- "guzzle/guzzle": "~3.8",
- "php": ">=5.4",
- "symfony/options-resolver": "~2.4|3.0.*"
- },
- "require-dev": {
- "coduo/phpspec-data-provider-extension": "^1.0",
- "henrikbjorn/phpspec-code-coverage": "~0.2",
- "phpspec/phpspec": "^2.4.0",
- "symfony/console": "~2.4|3.0.*",
- "symfony/expression-language": "~2.4|3.0.*",
- "symfony/http-foundation": "~2.4|3.0.*",
- "symfony/http-kernel": "~2.4|3.0.*"
- },
- "suggest": {
- "symfony/console": "Required to use the ConsoleAdapter",
- "symfony/expression-language": "Required to use ExpressionBots",
- "symfony/http-foundation": "Required to use the RequestAdapter"
+ "php": ">=7.0.0",
+ "psr/http-message": "^1.0"
},
- "bin": [
- "bin/phlackbot"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.7.x-dev",
- "dev-develop": "0.8.x-dev"
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
- "psr-0": {
- "": "src"
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -634,189 +755,249 @@
],
"authors": [
{
- "name": "Michael Crumm",
- "email": "mike@crumm.net"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "Slack API and WebHook integration in PHP",
+ "description": "Common interfaces for PSR-7 HTTP message factories",
"keywords": [
- "phlack",
- "slack",
- "slack-api"
+ "factory",
+ "http",
+ "message",
+ "psr",
+ "psr-17",
+ "psr-7",
+ "request",
+ "response"
],
- "time": "2016-05-02 17:45:33"
+ "support": {
+ "source": "https://github.com/php-fig/http-factory/tree/master"
+ },
+ "time": "2019-04-30T12:38:16+00:00"
},
{
- "name": "php-di/invoker",
- "version": "1.3.0",
+ "name": "psr/http-message",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/PHP-DI/Invoker.git",
- "reference": "c5c50237115803d7410d13d9d6afb5afe6526fac"
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/c5c50237115803d7410d13d9d6afb5afe6526fac",
- "reference": "c5c50237115803d7410d13d9d6afb5afe6526fac",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
"shasum": ""
},
"require": {
- "container-interop/container-interop": "~1.1"
- },
- "require-dev": {
- "athletic/athletic": "~0.1.8",
- "phpunit/phpunit": "~4.5"
+ "php": ">=5.3.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Invoker\\": "src/"
+ "Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Generic and extensible callable invoker",
- "homepage": "https://github.com/PHP-DI/Invoker",
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
"keywords": [
- "callable",
- "dependency",
- "dependency-injection",
- "injection",
- "invoke",
- "invoker"
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
],
- "time": "2016-03-20 17:49:41"
+ "support": {
+ "source": "https://github.com/php-fig/http-message/tree/master"
+ },
+ "time": "2016-08-06T14:39:51+00:00"
},
{
- "name": "php-di/php-di",
- "version": "5.2.2",
+ "name": "ralouphie/getallheaders",
+ "version": "3.0.3",
"source": {
"type": "git",
- "url": "https://github.com/PHP-DI/PHP-DI.git",
- "reference": "f574bcc841201ab04587b1c6da1234d4044f67d8"
+ "url": "https://github.com/ralouphie/getallheaders.git",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/f574bcc841201ab04587b1c6da1234d4044f67d8",
- "reference": "f574bcc841201ab04587b1c6da1234d4044f67d8",
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
- "container-interop/container-interop": "~1.0",
- "php": ">=5.4.0",
- "php-di/invoker": "^1.1.1",
- "php-di/phpdoc-reader": "^2.0.1"
- },
- "replace": {
- "mnapoli/php-di": "*"
+ "php": ">=5.6"
},
"require-dev": {
- "doctrine/annotations": "~1.2",
- "doctrine/cache": "~1.4",
- "mnapoli/phpunit-easymock": "~0.2.0",
- "ocramius/proxy-manager": "~1.0",
- "phpunit/phpunit": "~4.5"
- },
- "suggest": {
- "doctrine/annotations": "Install it if you want to use annotations (version ~1.2)",
- "doctrine/cache": "Install it if you want to use the cache (version ~1.4)",
- "ocramius/proxy-manager": "Install it if you want to use lazy injection (version ~1.0)"
+ "php-coveralls/php-coveralls": "^2.1",
+ "phpunit/phpunit": "^5 || ^6.5"
},
"type": "library",
"autoload": {
- "psr-4": {
- "DI\\": "src/DI/"
- },
"files": [
- "src/DI/functions.php"
+ "src/getallheaders.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "The dependency injection container for humans",
- "homepage": "http://php-di.org/",
- "keywords": [
- "container",
- "dependency injection",
- "di"
+ "authors": [
+ {
+ "name": "Ralph Khattar",
+ "email": "ralph.khattar@gmail.com"
+ }
],
- "time": "2016-02-09 22:00:00"
+ "description": "A polyfill for getallheaders.",
+ "support": {
+ "issues": "https://github.com/ralouphie/getallheaders/issues",
+ "source": "https://github.com/ralouphie/getallheaders/tree/develop"
+ },
+ "time": "2019-03-08T08:55:37+00:00"
},
{
- "name": "php-di/phpdoc-reader",
- "version": "2.0.1",
+ "name": "ramsey/collection",
+ "version": "1.2.2",
"source": {
"type": "git",
- "url": "https://github.com/PHP-DI/PhpDocReader.git",
- "reference": "83f5ead159defccfa8e7092e5b6c1c533b326d68"
+ "url": "https://github.com/ramsey/collection.git",
+ "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-DI/PhpDocReader/zipball/83f5ead159defccfa8e7092e5b6c1c533b326d68",
- "reference": "83f5ead159defccfa8e7092e5b6c1c533b326d68",
+ "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a",
+ "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": "^7.3 || ^8",
+ "symfony/polyfill-php81": "^1.23"
},
"require-dev": {
- "phpunit/phpunit": "~4.6"
+ "captainhook/captainhook": "^5.3",
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
+ "ergebnis/composer-normalize": "^2.6",
+ "fakerphp/faker": "^1.5",
+ "hamcrest/hamcrest-php": "^2",
+ "jangregor/phpstan-prophecy": "^0.8",
+ "mockery/mockery": "^1.3",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpstan/extension-installer": "^1",
+ "phpstan/phpstan": "^0.12.32",
+ "phpstan/phpstan-mockery": "^0.12.5",
+ "phpstan/phpstan-phpunit": "^0.12.11",
+ "phpunit/phpunit": "^8.5 || ^9",
+ "psy/psysh": "^0.10.4",
+ "slevomat/coding-standard": "^6.3",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.4"
},
"type": "library",
"autoload": {
"psr-4": {
- "PhpDocReader\\": "src/PhpDocReader"
+ "Ramsey\\Collection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "PhpDocReader parses @var and @param values in PHP docblocks (supports namespaced class names with the same resolution rules as PHP)",
+ "authors": [
+ {
+ "name": "Ben Ramsey",
+ "email": "ben@benramsey.com",
+ "homepage": "https://benramsey.com"
+ }
+ ],
+ "description": "A PHP library for representing and manipulating collections.",
"keywords": [
- "phpdoc",
- "reflection"
+ "array",
+ "collection",
+ "hash",
+ "map",
+ "queue",
+ "set"
+ ],
+ "support": {
+ "issues": "https://github.com/ramsey/collection/issues",
+ "source": "https://github.com/ramsey/collection/tree/1.2.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ramsey",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/ramsey/collection",
+ "type": "tidelift"
+ }
],
- "time": "2015-11-29 10:34:25"
+ "time": "2021-10-10T03:01:02+00:00"
},
{
"name": "symfony/console",
- "version": "v3.0.6",
+ "version": "v6.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "34a214710e0714b6efcf40ba3cd1e31373a97820"
+ "reference": "7fccea8728aa2d431a6725b02b3ce759049fc84d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/34a214710e0714b6efcf40ba3cd1e31373a97820",
- "reference": "34a214710e0714b6efcf40ba3cd1e31373a97820",
+ "url": "https://api.github.com/repos/symfony/console/zipball/7fccea8728aa2d431a6725b02b3ce759049fc84d",
+ "reference": "7fccea8728aa2d431a6725b02b3ce759049fc84d",
"shasum": ""
},
"require": {
- "php": ">=5.5.9",
- "symfony/polyfill-mbstring": "~1.0"
+ "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.0",
- "symfony/event-dispatcher": "~2.8|~3.0",
- "symfony/process": "~2.8|~3.0"
+ "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",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
@@ -839,50 +1020,63 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Console Component",
+ "description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
- "time": "2016-04-28 09:48:42"
+ "keywords": [
+ "cli",
+ "command line",
+ "console",
+ "terminal"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v6.1.4"
+ },
+ "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-08-26T10:32:31+00:00"
},
{
- "name": "symfony/event-dispatcher",
- "version": "v2.8.6",
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.1.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "a158f13992a3147d466af7a23b564ac719a4ddd8"
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a158f13992a3147d466af7a23b564ac719a4ddd8",
- "reference": "a158f13992a3147d466af7a23b564ac719a4ddd8",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918",
+ "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918",
"shasum": ""
},
"require": {
- "php": ">=5.3.9"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "~2.0,>=2.0.5|~3.0.0",
- "symfony/dependency-injection": "~2.6|~3.0.0",
- "symfony/expression-language": "~2.6|~3.0.0",
- "symfony/stopwatch": "~2.3|~3.0.0"
- },
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-main": "3.1-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Component\\EventDispatcher\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
+ "files": [
+ "function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -891,48 +1085,75 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony EventDispatcher Component",
+ "description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
- "time": "2016-05-03 18:59:18"
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.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": "2022-02-25T11:15:52+00:00"
},
{
- "name": "symfony/options-resolver",
- "version": "v3.0.6",
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.26.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "77f7252e377e1dc021ba74defe12a19a45bb1212"
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/77f7252e377e1dc021ba74defe12a19a45bb1212",
- "reference": "77f7252e377e1dc021ba74defe12a19a45bb1212",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
+ "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"shasum": ""
},
"require": {
- "php": ">=5.5.9"
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-ctype": "*"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\OptionsResolver\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -940,56 +1161,78 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony OptionsResolver Component",
+ "description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
- "config",
- "configuration",
- "options"
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.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": "2016-05-09 18:14:44"
+ "time": "2022-05-24T11:49:31+00:00"
},
{
- "name": "symfony/polyfill-mbstring",
- "version": "v1.2.0",
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.26.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "dff51f72b0706335131b00a7f49606168c582594"
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "433d05519ce6990bf3530fba6957499d327395c2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594",
- "reference": "dff51f72b0706335131b00a7f49606168c582594",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2",
+ "reference": "433d05519ce6990bf3530fba6957499d327395c2",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"suggest": {
- "ext-mbstring": "For best performance"
+ "ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2-dev"
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1005,47 +1248,74 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for the Mbstring extension",
+ "description": "Symfony polyfill for intl's grapheme_* functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
- "mbstring",
+ "grapheme",
+ "intl",
"polyfill",
"portable",
"shim"
],
- "time": "2016-05-18 14:26:46"
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.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-05-24T11:49:31+00:00"
},
{
- "name": "symfony/polyfill-php55",
- "version": "v1.2.0",
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.26.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php55.git",
- "reference": "bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d"
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "219aa369ceff116e673852dce47c3a41794c14bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d",
- "reference": "bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd",
+ "reference": "219aa369ceff116e673852dce47c3a41794c14bd",
"shasum": ""
},
"require": {
- "ircmaxell/password-compat": "~1.0",
- "php": ">=5.3.3"
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2-dev"
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php55\\": ""
- },
"files": [
"bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1062,61 +1332,75 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions",
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
+ "intl",
+ "normalizer",
"polyfill",
"portable",
"shim"
],
- "time": "2016-05-18 14:26:46"
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.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-05-24T11:49:31+00:00"
},
{
- "name": "symfony/serializer",
- "version": "v2.8.6",
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.26.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/serializer.git",
- "reference": "da9f4ecda719422ff1d1faf0717bfb3fd54b609b"
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/da9f4ecda719422ff1d1faf0717bfb3fd54b609b",
- "reference": "da9f4ecda719422ff1d1faf0717bfb3fd54b609b",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
+ "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
- "symfony/polyfill-php55": "~1.0"
+ "php": ">=7.1"
},
- "require-dev": {
- "doctrine/annotations": "~1.0",
- "doctrine/cache": "~1.0",
- "symfony/config": "~2.2|~3.0.0",
- "symfony/property-access": "~2.3|~3.0.0",
- "symfony/yaml": "~2.0,>=2.0.5|~3.0.0"
+ "provide": {
+ "ext-mbstring": "*"
},
"suggest": {
- "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
- "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
- "symfony/config": "For using the XML mapping loader.",
- "symfony/property-access": "For using the ObjectNormalizer.",
- "symfony/yaml": "For using the default YAML mapping loader."
+ "ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8-dev"
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Serializer\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1124,108 +1408,159 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Serializer Component",
+ "description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
- "time": "2016-04-20 18:52:26"
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.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-05-24T11:49:31+00:00"
},
{
- "name": "vlucas/phpdotenv",
- "version": "v2.2.1",
+ "name": "symfony/polyfill-php81",
+ "version": "v1.26.0",
"source": {
"type": "git",
- "url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "63f37b9395e8041cd4313129c08ece896d06ca8e"
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/63f37b9395e8041cd4313129c08ece896d06ca8e",
- "reference": "63f37b9395e8041cd4313129c08ece896d06ca8e",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/13f6d1271c663dc5ae9fb843a8f16521db7687a1",
+ "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1",
"shasum": ""
},
"require": {
- "php": ">=5.3.9"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8 || ^5.0"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Dotenv\\": "src/"
- }
+ "Symfony\\Polyfill\\Php81\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause-Attribution"
+ "MIT"
],
"authors": [
{
- "name": "Vance Lucas",
- "email": "vance@vancelucas.com",
- "homepage": "http://www.vancelucas.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
"keywords": [
- "dotenv",
- "env",
- "environment"
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
],
- "time": "2016-04-15 10:48:49"
- }
- ],
- "packages-dev": [
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.26.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-05-24T11:49:31+00:00"
+ },
{
- "name": "deployer/deployer",
- "version": "4.x-dev",
+ "name": "symfony/service-contracts",
+ "version": "v2.5.2",
"source": {
"type": "git",
- "url": "https://github.com/deployphp/deployer.git",
- "reference": "aa0a10992c8fc2e2b34ab6adff734f1f598c0ba7"
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/deployphp/deployer/zipball/aa0a10992c8fc2e2b34ab6adff734f1f598c0ba7",
- "reference": "aa0a10992c8fc2e2b34ab6adff734f1f598c0ba7",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+ "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
"shasum": ""
},
"require": {
- "deployer/phar-update": "^1.0",
- "elfet/pure": "~2.0",
- "php": ">=5.5.0",
- "phpseclib/phpseclib": "~2.0",
- "symfony/console": "~2.6|~3.0",
- "symfony/finder": "~2.6|~3.0",
- "symfony/process": "~2.6|~3.0",
- "symfony/yaml": "~2.6|~3.0"
+ "php": ">=7.2.5",
+ "psr/container": "^1.1",
+ "symfony/deprecation-contracts": "^2.1|^3"
},
- "require-dev": {
- "phpunit/phpunit": "~4.5"
+ "conflict": {
+ "ext-psr": "<1.1|>=2"
},
"suggest": {
- "ext-sockets": "For parallel deployment",
- "herzult/php-ssh": "For SSH support through native SSH2 extension"
+ "symfony/service-implementation": ""
},
- "bin": [
- "bin/dep"
- ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
"autoload": {
"psr-4": {
- "Deployer\\": "src/"
+ "Symfony\\Contracts\\Service\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1234,43 +1569,84 @@
],
"authors": [
{
- "name": "Anton Medvedev",
- "email": "anton@medv.io"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Deployment Tool",
- "homepage": "http://deployer.org",
- "time": "2016-05-18 06:50:02"
+ "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/v2.5.2"
+ },
+ "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-05-30T19:17:29+00:00"
},
{
- "name": "deployer/phar-update",
- "version": "v1.0.0",
+ "name": "symfony/string",
+ "version": "v6.1.4",
"source": {
"type": "git",
- "url": "https://github.com/deployphp/phar-update.git",
- "reference": "df2670056d9922b6f02e055ce9846508656b02aa"
+ "url": "https://github.com/symfony/string.git",
+ "reference": "290972cad7b364e3befaa74ba0ec729800fb161c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/deployphp/phar-update/zipball/df2670056d9922b6f02e055ce9846508656b02aa",
- "reference": "df2670056d9922b6f02e055ce9846508656b02aa",
+ "url": "https://api.github.com/repos/symfony/string/zipball/290972cad7b364e3befaa74ba0ec729800fb161c",
+ "reference": "290972cad7b364e3befaa74ba0ec729800fb161c",
"shasum": ""
},
"require": {
- "herrera-io/phar-update": "~2.0",
- "php": ">=5.3.3",
- "symfony/console": "^2.1|^3.0"
+ "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": {
- "herrera-io/box": "~1.0",
- "herrera-io/phpunit-test-case": "1.*",
- "phpunit/phpunit": "3.7.*"
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/translation-contracts": "^2.0|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
"autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
"psr-4": {
- "Deployer\\Component\\PharUpdate\\": "src/"
- }
+ "Symfony\\Component\\String\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1278,58 +1654,76 @@
],
"authors": [
{
- "name": "Kevin Herrera",
- "email": "kevin@herrera.io",
- "homepage": "http://kevin.herrera.io"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
- "name": "Anton Medvedev",
- "email": "anton@medv.io",
- "homepage": "http://medv.io"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Integrates Phar Update to Symfony Console.",
- "homepage": "https://github.com/deployphp/phar-update",
+ "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": [
- "console",
- "phar",
- "update"
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
],
- "time": "2016-04-06 13:32:59"
- },
+ "support": {
+ "source": "https://github.com/symfony/string/tree/v6.1.4"
+ },
+ "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-08-12T18:05:43+00:00"
+ }
+ ],
+ "packages-dev": [
{
- "name": "doctrine/instantiator",
- "version": "1.0.5",
+ "name": "dealerdirect/phpcodesniffer-composer-installer",
+ "version": "v0.7.2",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
+ "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
+ "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
+ "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db",
+ "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db",
"shasum": ""
},
"require": {
- "php": ">=5.3,<8.0-DEV"
+ "composer-plugin-api": "^1.0 || ^2.0",
+ "php": ">=5.3",
+ "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
},
"require-dev": {
- "athletic/athletic": "~0.1.8",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpunit/phpunit": "~4.0",
- "squizlabs/php_codesniffer": "~2.0"
+ "composer/composer": "*",
+ "php-parallel-lint/php-parallel-lint": "^1.3.1",
+ "phpcompatibility/php-compatibility": "^9.0"
},
- "type": "library",
+ "type": "composer-plugin",
"extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
+ "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
},
"autoload": {
"psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1338,53 +1732,60 @@
],
"authors": [
{
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
+ "name": "Franck Nijhof",
+ "email": "franck.nijhof@dealerdirect.com",
+ "homepage": "http://www.frenck.nl",
+ "role": "Developer / IT Manager"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer/graphs/contributors"
}
],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://github.com/doctrine/instantiator",
+ "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
+ "homepage": "http://www.dealerdirect.com",
"keywords": [
- "constructor",
- "instantiate"
- ],
- "time": "2015-06-14 21:17:01"
+ "PHPCodeSniffer",
+ "PHP_CodeSniffer",
+ "code quality",
+ "codesniffer",
+ "composer",
+ "installer",
+ "phpcbf",
+ "phpcs",
+ "plugin",
+ "qa",
+ "quality",
+ "standard",
+ "standards",
+ "style guide",
+ "stylecheck",
+ "tests"
+ ],
+ "support": {
+ "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues",
+ "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer"
+ },
+ "time": "2022-02-04T12:51:07+00:00"
},
{
- "name": "elfet/pure",
- "version": "v2.0.0",
+ "name": "deployer/deployer",
+ "version": "v7.0.2",
"source": {
"type": "git",
- "url": "https://github.com/elfet/purephp.git",
- "reference": "9d6422d31b89c4f79c322df2a7772936a8bc74a1"
+ "url": "https://github.com/deployphp/deployer.git",
+ "reference": "99a57a9035cfe0eeae5dba5befe5411ac0f3ac72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/elfet/purephp/zipball/9d6422d31b89c4f79c322df2a7772936a8bc74a1",
- "reference": "9d6422d31b89c4f79c322df2a7772936a8bc74a1",
+ "url": "https://api.github.com/repos/deployphp/deployer/zipball/99a57a9035cfe0eeae5dba5befe5411ac0f3ac72",
+ "reference": "99a57a9035cfe0eeae5dba5befe5411ac0f3ac72",
"shasum": ""
},
- "require": {
- "react/react": "~0.4",
- "symfony/console": "~2.6|~3.0",
- "symfony/debug": "~2.6|~3.0",
- "symfony/expression-language": "~2.6|~3.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.4",
- "symfony/finder": "~2.6|~3.0",
- "symfony/process": "~2.6|~3.0"
- },
"bin": [
- "pure"
+ "dep"
],
"type": "library",
- "autoload": {
- "psr-4": {
- "Pure\\": "src/"
- }
- },
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
@@ -1395,35 +1796,107 @@
"email": "anton@medv.io"
}
],
- "description": "Pure PHP key-value storage",
- "time": "2016-03-19 14:26:03"
+ "description": "Deployment Tool",
+ "homepage": "https://deployer.org",
+ "support": {
+ "docs": "https://deployer.org/docs",
+ "issues": "https://github.com/deployphp/deployer/issues",
+ "source": "https://github.com/deployphp/deployer"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/antonmedv",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-10T07:44:30+00:00"
},
{
- "name": "evenement/evenement",
- "version": "v2.0.0",
+ "name": "doctrine/coding-standard",
+ "version": "10.0.0",
"source": {
"type": "git",
- "url": "https://github.com/igorw/evenement.git",
- "reference": "f6e843799fd4f4184d54d8fc7b5b3551c9fa803e"
+ "url": "https://github.com/doctrine/coding-standard.git",
+ "reference": "7903671d7d33c231c8921058b7c14b8f57cbacb7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/igorw/evenement/zipball/f6e843799fd4f4184d54d8fc7b5b3551c9fa803e",
- "reference": "f6e843799fd4f4184d54d8fc7b5b3551c9fa803e",
+ "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/7903671d7d33c231c8921058b7c14b8f57cbacb7",
+ "reference": "7903671d7d33c231c8921058b7c14b8f57cbacb7",
"shasum": ""
},
"require": {
- "php": ">=5.4.0"
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7",
+ "php": "^7.2 || ^8.0",
+ "slevomat/coding-standard": "^8.2",
+ "squizlabs/php_codesniffer": "^3.7"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Steve Müller",
+ "email": "st.mueller@dzh-online.de"
}
+ ],
+ "description": "The Doctrine Coding Standard is a set of PHPCS rules applied to all Doctrine projects.",
+ "homepage": "https://www.doctrine-project.org/projects/coding-standard.html",
+ "keywords": [
+ "checks",
+ "code",
+ "coding",
+ "cs",
+ "doctrine",
+ "rules",
+ "sniffer",
+ "sniffs",
+ "standard",
+ "style"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/coding-standard/issues",
+ "source": "https://github.com/doctrine/coding-standard/tree/10.0.0"
+ },
+ "time": "2022-08-26T10:53:05+00:00"
+ },
+ {
+ "name": "doctrine/instantiator",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
+ "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^9",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpbench/phpbench": "^0.16 || ^1",
+ "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.22"
},
+ "type": "library",
"autoload": {
- "psr-0": {
- "Evenement": "src"
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1432,55 +1905,63 @@
],
"authors": [
{
- "name": "Igor Wiedler",
- "email": "igor@wiedler.ch",
- "homepage": "http://wiedler.ch/igor/"
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "https://ocramius.github.io/"
}
],
- "description": "Événement is a very simple event dispatching library for PHP",
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
"keywords": [
- "event-dispatcher",
- "event-emitter"
+ "constructor",
+ "instantiate"
],
- "time": "2012-11-02 14:49:47"
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.1"
+ },
+ "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-03-03T08:28:38+00:00"
},
{
- "name": "guzzlehttp/psr7",
- "version": "1.3.0",
+ "name": "graham-campbell/result-type",
+ "version": "v1.1.0",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "31382fef2889136415751badebbd1cb022a4ed72"
+ "url": "https://github.com/GrahamCampbell/Result-Type.git",
+ "reference": "a878d45c1914464426dc94da61c9e1d36ae262a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/31382fef2889136415751badebbd1cb022a4ed72",
- "reference": "31382fef2889136415751badebbd1cb022a4ed72",
+ "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/a878d45c1914464426dc94da61c9e1d36ae262a8",
+ "reference": "a878d45c1914464426dc94da61c9e1d36ae262a8",
"shasum": ""
},
"require": {
- "php": ">=5.4.0",
- "psr/http-message": "~1.0"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
+ "php": "^7.2.5 || ^8.0",
+ "phpoption/phpoption": "^1.9"
},
"require-dev": {
- "phpunit/phpunit": "~4.0"
+ "phpunit/phpunit": "^8.5.28 || ^9.5.21"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
"autoload": {
"psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
+ "GrahamCampbell\\ResultType\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1488,36 +1969,51 @@
],
"authors": [
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
}
],
- "description": "PSR-7 message implementation",
+ "description": "An Implementation Of The Result Type",
"keywords": [
- "http",
- "message",
- "stream",
- "uri"
+ "Graham Campbell",
+ "GrahamCampbell",
+ "Result Type",
+ "Result-Type",
+ "result"
+ ],
+ "support": {
+ "issues": "https://github.com/GrahamCampbell/Result-Type/issues",
+ "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type",
+ "type": "tidelift"
+ }
],
- "time": "2016-04-13 19:56:01"
+ "time": "2022-07-30T15:56:11+00:00"
},
{
"name": "hamcrest/hamcrest-php",
- "version": "v1.2.2",
+ "version": "v2.0.1",
"source": {
"type": "git",
"url": "https://github.com/hamcrest/hamcrest-php.git",
- "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c"
+ "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c",
- "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c",
+ "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+ "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
"shasum": ""
},
"require": {
- "php": ">=5.3.2"
+ "php": "^5.3|^7.0|^8.0"
},
"replace": {
"cordoval/hamcrest-php": "*",
@@ -1525,350 +2021,137 @@
"kodova/hamcrest-php": "*"
},
"require-dev": {
- "phpunit/php-file-iterator": "1.3.3",
- "satooshi/php-coveralls": "dev-master"
+ "phpunit/php-file-iterator": "^1.4 || ^2.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1-dev"
+ }
+ },
"autoload": {
"classmap": [
"hamcrest"
- ],
- "files": [
- "hamcrest/Hamcrest.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD"
+ "BSD-3-Clause"
],
"description": "This is the PHP port of Hamcrest Matchers",
"keywords": [
"test"
],
- "time": "2015-05-11 14:41:42"
+ "support": {
+ "issues": "https://github.com/hamcrest/hamcrest-php/issues",
+ "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
+ },
+ "time": "2020-07-09T08:09:16+00:00"
},
{
- "name": "herrera-io/json",
- "version": "1.0.3",
+ "name": "mockery/mockery",
+ "version": "1.5.1",
"source": {
"type": "git",
- "url": "https://github.com/kherge-abandoned/php-json.git",
- "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1"
+ "url": "https://github.com/mockery/mockery.git",
+ "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/kherge-abandoned/php-json/zipball/60c696c9370a1e5136816ca557c17f82a6fa83f1",
- "reference": "60c696c9370a1e5136816ca557c17f82a6fa83f1",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
+ "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "justinrainbow/json-schema": ">=1.0,<2.0-dev",
- "php": ">=5.3.3",
- "seld/jsonlint": ">=1.0,<2.0-dev"
+ "hamcrest/hamcrest-php": "^2.0.1",
+ "lib-pcre": ">=7.0",
+ "php": "^7.3 || ^8.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<8.0"
},
"require-dev": {
- "herrera-io/phpunit-test-case": "1.*",
- "mikey179/vfsstream": "1.1.0",
- "phpunit/phpunit": "3.7.*"
+ "phpunit/phpunit": "^8.5 || ^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "1.4.x-dev"
}
},
"autoload": {
- "files": [
- "src/lib/json_version.php"
- ],
"psr-0": {
- "Herrera\\Json": "src/lib"
+ "Mockery": "library/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Kevin Herrera",
- "email": "kevin@herrera.io",
- "homepage": "http://kevin.herrera.io"
+ "name": "Pádraic Brady",
+ "email": "padraic.brady@gmail.com",
+ "homepage": "http://blog.astrumfutura.com"
+ },
+ {
+ "name": "Dave Marshall",
+ "email": "dave.marshall@atstsolutions.co.uk",
+ "homepage": "http://davedevelopment.co.uk"
}
],
- "description": "A library for simplifying JSON linting and validation.",
- "homepage": "http://herrera-io.github.com/php-json",
+ "description": "Mockery is a simple yet flexible PHP mock object framework",
+ "homepage": "https://github.com/mockery/mockery",
"keywords": [
- "json",
- "lint",
- "schema",
- "validate"
+ "BDD",
+ "TDD",
+ "library",
+ "mock",
+ "mock objects",
+ "mockery",
+ "stub",
+ "test",
+ "test double",
+ "testing"
],
- "time": "2013-10-30 16:51:34"
- },
- {
- "name": "herrera-io/phar-update",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/kherge-abandoned/php-phar-update.git",
- "reference": "15643c90d3d43620a4f45c910e6afb7a0ad4b488"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/kherge-abandoned/php-phar-update/zipball/15643c90d3d43620a4f45c910e6afb7a0ad4b488",
- "reference": "15643c90d3d43620a4f45c910e6afb7a0ad4b488",
- "shasum": ""
- },
- "require": {
- "herrera-io/json": "1.*",
- "herrera-io/version": "1.*",
- "php": ">=5.3.3"
- },
- "require-dev": {
- "herrera-io/phpunit-test-case": "1.*",
- "mikey179/vfsstream": "1.1.0",
- "phpunit/phpunit": "3.7.*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "files": [
- "src/lib/constants.php"
- ],
- "psr-0": {
- "Herrera\\Phar\\Update": "src/lib"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kevin Herrera",
- "email": "kevin@herrera.io",
- "homepage": "http://kevin.herrera.io"
- }
- ],
- "description": "A library for self-updating Phars.",
- "homepage": "http://herrera-io.github.com/php-phar-update",
- "keywords": [
- "phar",
- "update"
- ],
- "time": "2013-11-09 17:13:13"
- },
- {
- "name": "herrera-io/version",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/kherge-abandoned/php-version.git",
- "reference": "d39d9642b92a04d8b8a28b871b797a35a2545e85"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/kherge-abandoned/php-version/zipball/d39d9642b92a04d8b8a28b871b797a35a2545e85",
- "reference": "d39d9642b92a04d8b8a28b871b797a35a2545e85",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "herrera-io/phpunit-test-case": "1.*",
- "phpunit/phpunit": "3.7.*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Herrera\\Version": "src/lib"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kevin Herrera",
- "email": "kevin@herrera.io",
- "homepage": "http://kevin.herrera.io"
- }
- ],
- "description": "A library for creating, editing, and comparing semantic versioning numbers.",
- "homepage": "http://github.com/herrera-io/php-version",
- "keywords": [
- "semantic",
- "version"
- ],
- "time": "2014-05-27 05:29:25"
- },
- {
- "name": "justinrainbow/json-schema",
- "version": "1.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/justinrainbow/json-schema.git",
- "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/cc84765fb7317f6b07bd8ac78364747f95b86341",
- "reference": "cc84765fb7317f6b07bd8ac78364747f95b86341",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.29"
- },
- "require-dev": {
- "json-schema/json-schema-test-suite": "1.1.0",
- "phpdocumentor/phpdocumentor": "~2",
- "phpunit/phpunit": "~3.7"
- },
- "bin": [
- "bin/validate-json"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.6.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "JsonSchema\\": "src/JsonSchema/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Bruno Prieto Reis",
- "email": "bruno.p.reis@gmail.com"
- },
- {
- "name": "Justin Rainbow",
- "email": "justin.rainbow@gmail.com"
- },
- {
- "name": "Igor Wiedler",
- "email": "igor@wiedler.ch"
- },
- {
- "name": "Robert Schönthal",
- "email": "seroscho@googlemail.com"
- }
- ],
- "description": "A library to validate a json schema.",
- "homepage": "https://github.com/justinrainbow/json-schema",
- "keywords": [
- "json",
- "schema"
- ],
- "time": "2016-01-25 15:43:01"
- },
- {
- "name": "mockery/mockery",
- "version": "0.9.5",
- "source": {
- "type": "git",
- "url": "https://github.com/padraic/mockery.git",
- "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/padraic/mockery/zipball/4db079511a283e5aba1b3c2fb19037c645e70fc2",
- "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2",
- "shasum": ""
- },
- "require": {
- "hamcrest/hamcrest-php": "~1.1",
- "lib-pcre": ">=7.0",
- "php": ">=5.3.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "0.9.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Mockery": "library/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Pádraic Brady",
- "email": "padraic.brady@gmail.com",
- "homepage": "http://blog.astrumfutura.com"
- },
- {
- "name": "Dave Marshall",
- "email": "dave.marshall@atstsolutions.co.uk",
- "homepage": "http://davedevelopment.co.uk"
- }
- ],
- "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.",
- "homepage": "http://github.com/padraic/mockery",
- "keywords": [
- "BDD",
- "TDD",
- "library",
- "mock",
- "mock objects",
- "mockery",
- "stub",
- "test",
- "test double",
- "testing"
- ],
- "time": "2016-05-22 21:52:33"
+ "support": {
+ "issues": "https://github.com/mockery/mockery/issues",
+ "source": "https://github.com/mockery/mockery/tree/1.5.1"
+ },
+ "time": "2022-09-07T15:32:08+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.5.1",
+ "version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "a8773992b362b58498eed24bf85005f363c34771"
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/a8773992b362b58498eed24bf85005f363c34771",
- "reference": "a8773992b362b58498eed24bf85005f363c34771",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
"shasum": ""
},
"require": {
- "php": ">=5.4.0"
+ "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.*",
- "phpunit/phpunit": "~4.1"
+ "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/"
}
@@ -1878,7 +2161,6 @@
"MIT"
],
"description": "Create deep copies (clones) of your objects",
- "homepage": "https://github.com/myclabs/DeepCopy",
"keywords": [
"clone",
"copy",
@@ -1886,434 +2168,53 @@
"object",
"object graph"
],
- "time": "2015-11-20 12:04:31"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "2.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
- "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.0"
- },
- "suggest": {
- "dflydev/markdown": "~1.0",
- "erusev/parsedown": "~1.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "phpDocumentor": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "mike.vanriel@naenius.com"
- }
- ],
- "time": "2015-02-03 12:10:50"
- },
- {
- "name": "phpseclib/phpseclib",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "ba6fb78f727cd09f2a649113b95468019e490585"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ba6fb78f727cd09f2a649113b95468019e490585",
- "reference": "ba6fb78f727cd09f2a649113b95468019e490585",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phing/phing": "~2.7",
- "phpunit/phpunit": "~4.0",
- "sami/sami": "~2.0",
- "squizlabs/php_codesniffer": "~2.0"
- },
- "suggest": {
- "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
- "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
- "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
- "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "phpseclib\\": "phpseclib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jim Wigginton",
- "email": "terrafrost@php.net",
- "role": "Lead Developer"
- },
- {
- "name": "Patrick Monnerat",
- "email": "pm@datasphere.ch",
- "role": "Developer"
- },
- {
- "name": "Andreas Fischer",
- "email": "bantu@phpbb.com",
- "role": "Developer"
- },
- {
- "name": "Hans-Jürgen Petrich",
- "email": "petrich@tronic-media.com",
- "role": "Developer"
- },
- {
- "name": "Graham Campbell",
- "email": "graham@alt-three.com",
- "role": "Developer"
- }
- ],
- "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
- "homepage": "http://phpseclib.sourceforge.net",
- "keywords": [
- "BigInteger",
- "aes",
- "asn.1",
- "asn1",
- "blowfish",
- "crypto",
- "cryptography",
- "encryption",
- "rsa",
- "security",
- "sftp",
- "signature",
- "signing",
- "ssh",
- "twofish",
- "x.509",
- "x509"
- ],
- "time": "2016-01-18 17:07:21"
- },
- {
- "name": "phpspec/prophecy",
- "version": "v1.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "3c91bdf81797d725b14cb62906f9a4ce44235972"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/3c91bdf81797d725b14cb62906f9a4ce44235972",
- "reference": "3c91bdf81797d725b14cb62906f9a4ce44235972",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "~2.0",
- "sebastian/comparator": "~1.1",
- "sebastian/recursion-context": "~1.0"
- },
- "require-dev": {
- "phpspec/phpspec": "~2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.5.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Prophecy\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "time": "2016-02-15 07:46:21"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "3.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "2431befdd451fac43fbcde94d1a92fb3b8b68f86"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2431befdd451fac43fbcde94d1a92fb3b8b68f86",
- "reference": "2431befdd451fac43fbcde94d1a92fb3b8b68f86",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0",
- "phpunit/php-file-iterator": "~1.3",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-token-stream": "^1.4.2",
- "sebastian/code-unit-reverse-lookup": "~1.0",
- "sebastian/environment": "^1.3.2",
- "sebastian/version": "~1.0|~2.0"
- },
- "require-dev": {
- "ext-xdebug": ">=2.1.4",
- "phpunit/phpunit": "~5"
- },
- "suggest": {
- "ext-dom": "*",
- "ext-xdebug": ">=2.4.0",
- "ext-xmlwriter": "*"
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.3.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.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"
- ],
- "time": "2016-04-08 08:14:53"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "1.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
- "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.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"
- ],
- "time": "2015-06-21 13:08:43"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "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"
- ],
- "time": "2015-06-21 13:50:34"
- },
- {
- "name": "phpunit/php-timer",
- "version": "1.0.8",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
- "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4|~5"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
}
],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "time": "2016-05-12 18:03:57"
+ "time": "2022-03-03T13:19:32+00:00"
},
{
- "name": "phpunit/php-token-stream",
- "version": "1.4.8",
+ "name": "nikic/php-parser",
+ "version": "v4.15.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
- "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
+ "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
- "php": ">=5.3.3"
+ "php": ">=7.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.2"
+ "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": "1.4-dev"
+ "dev-master": "4.9-dev"
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2321,65 +2222,45 @@
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "name": "Nikita Popov"
}
],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+ "description": "A PHP parser written in PHP",
"keywords": [
- "tokenizer"
+ "parser",
+ "php"
],
- "time": "2015-09-15 10:49:45"
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1"
+ },
+ "time": "2022-09-04T07:30:47+00:00"
},
{
- "name": "phpunit/phpunit",
- "version": "5.3.4",
+ "name": "phar-io/manifest",
+ "version": "2.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "00dd95ffb48805503817ced06399017df315fe5c"
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/00dd95ffb48805503817ced06399017df315fe5c",
- "reference": "00dd95ffb48805503817ced06399017df315fe5c",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"shasum": ""
},
"require": {
"ext-dom": "*",
- "ext-json": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-spl": "*",
- "myclabs/deep-copy": "~1.3",
- "php": "^5.6 || ^7.0",
- "phpspec/prophecy": "^1.3.1",
- "phpunit/php-code-coverage": "^3.3.0",
- "phpunit/php-file-iterator": "~1.4",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-timer": "^1.0.6",
- "phpunit/phpunit-mock-objects": "^3.1",
- "sebastian/comparator": "~1.1",
- "sebastian/diff": "~1.2",
- "sebastian/environment": "~1.3",
- "sebastian/exporter": "~1.2",
- "sebastian/global-state": "~1.0",
- "sebastian/object-enumerator": "~1.0",
- "sebastian/resource-operations": "~1.0",
- "sebastian/version": "~1.0|~2.0",
- "symfony/yaml": "~2.1|~3.0"
- },
- "suggest": {
- "phpunit/php-invoker": "~1.1"
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
},
- "bin": [
- "phpunit"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.3.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -2392,53 +2273,47 @@
"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": "lead"
+ "role": "Developer"
}
],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "time": "2016-05-11 13:28:45"
+ "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": "phpunit/phpunit-mock-objects",
- "version": "3.1.3",
+ "name": "phar-io/version",
+ "version": "3.2.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "151c96874bff6fe61a25039df60e776613a61489"
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/151c96874bff6fe61a25039df60e776613a61489",
- "reference": "151c96874bff6fe61a25039df60e776613a61489",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.0.2",
- "php": ">=5.6",
- "phpunit/php-text-template": "~1.2",
- "sebastian/exporter": "~1.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~5"
- },
- "suggest": {
- "ext-soap": "*"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1.x-dev"
- }
- },
"autoload": {
"classmap": [
"src/"
@@ -2449,607 +2324,888 @@
"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": "sb@sebastian-bergmann.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
}
],
- "description": "Mock Object library for PHPUnit",
- "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
- "keywords": [
- "mock",
- "xunit"
- ],
- "time": "2016-04-20 14:39:26"
+ "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": "psr/http-message",
- "version": "1.0",
+ "name": "phpoption/phpoption",
+ "version": "1.9.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298"
+ "url": "https://github.com/schmittjoh/php-option.git",
+ "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
- "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab",
+ "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": "^7.2.5 || ^8.0"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.8",
+ "phpunit/phpunit": "^8.5.28 || ^9.5.21"
},
"type": "library",
"extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": true
+ },
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.9-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Http\\Message\\": "src/"
+ "PhpOption\\": "src/PhpOption/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "Apache-2.0"
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Johannes M. Schmitt",
+ "email": "schmittjoh@gmail.com",
+ "homepage": "https://github.com/schmittjoh"
+ },
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
}
],
- "description": "Common interface for HTTP messages",
+ "description": "Option Type for PHP",
"keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
+ "language",
+ "option",
+ "php",
+ "type"
],
- "time": "2015-05-04 20:22:00"
+ "support": {
+ "issues": "https://github.com/schmittjoh/php-option/issues",
+ "source": "https://github.com/schmittjoh/php-option/tree/1.9.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-07-30T15:51:26+00:00"
},
{
- "name": "psr/log",
- "version": "1.0.0",
+ "name": "phpstan/phpdoc-parser",
+ "version": "1.8.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
+ "url": "https://github.com/phpstan/phpdoc-parser.git",
+ "reference": "8dd908dd6156e974b9a0f8bb4cd5ad0707830f04"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
- "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/8dd908dd6156e974b9a0f8bb4cd5ad0707830f04",
+ "reference": "8dd908dd6156e974b9a0f8bb4cd5ad0707830f04",
"shasum": ""
},
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "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-0": {
- "Psr\\Log\\": ""
+ "psr-4": {
+ "PHPStan\\PhpDocParser\\": [
+ "src/"
+ ]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
- "time": "2012-12-21 11:40:51"
+ "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.8.0"
+ },
+ "time": "2022-09-04T18:59:06+00:00"
},
{
- "name": "react/cache",
- "version": "v0.4.1",
+ "name": "phpunit/php-code-coverage",
+ "version": "9.2.17",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/cache.git",
- "reference": "558f614891341b1d817a8cdf9a358948ec49638f"
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "aa94dc41e8661fe90c7316849907cba3007b10d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/cache/zipball/558f614891341b1d817a8cdf9a358948ec49638f",
- "reference": "558f614891341b1d817a8cdf9a358948ec49638f",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa94dc41e8661fe90c7316849907cba3007b10d8",
+ "reference": "aa94dc41e8661fe90c7316849907cba3007b10d8",
"shasum": ""
},
"require": {
- "php": ">=5.3.0",
- "react/promise": "~2.0|~1.1"
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^4.14",
+ "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": "*",
+ "ext-xdebug": "*"
},
"type": "library",
- "autoload": {
- "psr-4": {
- "React\\Cache\\": "src\\"
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.2-dev"
}
},
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
],
- "description": "Async caching.",
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
"keywords": [
- "cache"
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.17"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
],
- "time": "2016-02-25 18:17:16"
+ "time": "2022-08-30T12:24:04+00:00"
},
{
- "name": "react/child-process",
- "version": "v0.4.0",
+ "name": "phpunit/php-file-iterator",
+ "version": "3.0.6",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/child-process.git",
- "reference": "8bf211533bcbb2034e00528a47400367570dc3d7"
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/child-process/zipball/8bf211533bcbb2034e00528a47400367570dc3d7",
- "reference": "8bf211533bcbb2034e00528a47400367570dc3d7",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
"shasum": ""
},
"require": {
- "evenement/evenement": "~2.0",
- "php": ">=5.4.0",
- "react/event-loop": "0.4.*",
- "react/stream": "0.4.*"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.4-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\ChildProcess\\": ""
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
],
- "description": "Library for executing child processes.",
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"keywords": [
- "process"
+ "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": "2014-02-02 01:11:26"
+ "time": "2021-12-02T12:48:52+00:00"
},
{
- "name": "react/dns",
- "version": "v0.4.2",
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/dns.git",
- "reference": "62f6201e487df8add209cc42f05ffca33ee1ba05"
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/dns/zipball/62f6201e487df8add209cc42f05ffca33ee1ba05",
- "reference": "62f6201e487df8add209cc42f05ffca33ee1ba05",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
"shasum": ""
},
"require": {
- "php": ">=5.3.0",
- "react/cache": "~0.4.0|~0.3.0",
- "react/promise": "~2.0|~1.1",
- "react/socket": "~0.4.0|~0.3.0"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.4-dev"
+ "dev-master": "3.1-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\Dns\\": "src"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
],
- "description": "Async DNS resolver.",
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
"keywords": [
- "dns",
- "dns-resolver"
+ "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": "2016-02-24 23:45:36"
+ "time": "2020-09-28T05:58:55+00:00"
},
{
- "name": "react/event-loop",
- "version": "v0.4.2",
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/event-loop.git",
- "reference": "164799f73175e1c80bba92a220ea35df6ca371dd"
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/event-loop/zipball/164799f73175e1c80bba92a220ea35df6ca371dd",
- "reference": "164799f73175e1c80bba92a220ea35df6ca371dd",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
"shasum": ""
},
"require": {
- "php": ">=5.4.0"
+ "php": ">=7.3"
},
- "suggest": {
- "ext-event": "~1.0",
- "ext-libev": "*",
- "ext-libevent": ">=0.1.0"
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.5-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\EventLoop\\": "src"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
],
- "description": "Event loop abstraction layer that libraries can use for evented I/O.",
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
"keywords": [
- "asynchronous",
- "event-loop"
+ "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": "2016-03-08 02:09:32"
+ "time": "2020-10-26T05:33:50+00:00"
},
{
- "name": "react/http",
- "version": "v0.4.1",
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/http.git",
- "reference": "f575989d67b7db0a65f5dd7e431d8f47af6c2f7b"
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/http/zipball/f575989d67b7db0a65f5dd7e431d8f47af6c2f7b",
- "reference": "f575989d67b7db0a65f5dd7e431d8f47af6c2f7b",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
"shasum": ""
},
"require": {
- "evenement/evenement": "^2.0",
- "guzzlehttp/psr7": "^1.0",
- "php": ">=5.4.0",
- "react/socket": "^0.4",
- "react/stream": "^0.4"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.5-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\Http\\": "src"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
],
- "description": "Library for building an evented http server.",
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
"keywords": [
- "http"
+ "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": "2015-05-21 20:12:09"
+ "time": "2020-10-26T13:16:10+00:00"
},
{
- "name": "react/http-client",
- "version": "v0.4.10",
+ "name": "phpunit/phpunit",
+ "version": "9.5.24",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/http-client.git",
- "reference": "1a37937274cc7bf7ef194381c83f5a4ad5253575"
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/http-client/zipball/1a37937274cc7bf7ef194381c83f5a4ad5253575",
- "reference": "1a37937274cc7bf7ef194381c83f5a4ad5253575",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0aa6097bef9fd42458a9b3c49da32c6ce6129c5",
+ "reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5",
"shasum": ""
},
"require": {
- "evenement/evenement": "~2.0",
- "guzzlehttp/psr7": "^1.0",
- "php": ">=5.4.0",
- "react/dns": "0.4.*",
- "react/event-loop": "0.4.*",
- "react/promise": "~2.2",
- "react/socket-client": "^0.5 || ^0.4 || ^0.3",
- "react/stream": "0.4.*"
+ "doctrine/instantiator": "^1.3.1",
+ "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.5",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.3",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^3.1",
+ "sebastian/version": "^3.0.2"
+ },
+ "suggest": {
+ "ext-soap": "*",
+ "ext-xdebug": "*"
},
+ "bin": [
+ "phpunit"
+ ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.5-dev"
+ "dev-master": "9.5-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\HttpClient\\": "src"
- }
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ],
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
],
- "description": "Asynchronous HTTP client library.",
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
"keywords": [
- "http"
+ "phpunit",
+ "testing",
+ "xunit"
],
- "time": "2016-03-21 14:01:16"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.24"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/sponsors.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-08-30T07:42:16+00:00"
},
{
- "name": "react/promise",
- "version": "v2.4.1",
+ "name": "sebastian/cli-parser",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/promise.git",
- "reference": "8025426794f1944de806618671d4fa476dc7626f"
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/promise/zipball/8025426794f1944de806618671d4fa476dc7626f",
- "reference": "8025426794f1944de806618671d4fa476dc7626f",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"shasum": ""
},
"require": {
- "php": ">=5.4.0"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "1.0-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\Promise\\": "src/"
- },
- "files": [
- "src/functions_include.php"
+ "classmap": [
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Jan Sorgalla",
- "email": "jsorgalla@gmail.com"
+ "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"
}
],
- "description": "A lightweight implementation of CommonJS Promises/A for PHP",
- "time": "2016-05-03 17:50:52"
+ "time": "2020-09-28T06:08:49+00:00"
},
{
- "name": "react/react",
- "version": "v0.4.2",
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/react.git",
- "reference": "457b6b8a16a37c11278cac0870d6d2ff911c5765"
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/react/zipball/457b6b8a16a37c11278cac0870d6d2ff911c5765",
- "reference": "457b6b8a16a37c11278cac0870d6d2ff911c5765",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
"shasum": ""
},
"require": {
- "php": ">=5.4.0",
- "react/cache": "0.4.*",
- "react/child-process": "0.4.*",
- "react/dns": "0.4.*",
- "react/event-loop": "0.4.*",
- "react/http": "0.4.*",
- "react/http-client": "0.4.*",
- "react/promise": "~2.1",
- "react/socket": "0.4.*",
- "react/socket-client": "0.4.*",
- "react/stream": "0.4.*"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.0"
- },
- "suggest": {
- "ext-event": "Allows for use of a more performant event-loop implementation.",
- "ext-libev": "Allows for use of a more performant event-loop implementation.",
- "ext-libevent": "Allows for use of a more performant event-loop implementation."
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.5-dev"
+ "dev-master": "1.0-dev"
}
},
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
- "description": "Nuclear Reactor written in PHP.",
- "keywords": [
- "asynchronous",
- "event-loop",
- "reactor"
+ "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": "2014-12-11 02:06:55"
+ "time": "2020-10-26T13:08:54+00:00"
},
{
- "name": "react/socket",
- "version": "v0.4.3",
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/socket.git",
- "reference": "ce015ec5879b96f5d30905f035f223aa85013fcc"
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/socket/zipball/ce015ec5879b96f5d30905f035f223aa85013fcc",
- "reference": "ce015ec5879b96f5d30905f035f223aa85013fcc",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
"shasum": ""
},
"require": {
- "evenement/evenement": "~2.0|~1.0",
- "php": ">=5.3.0",
- "react/event-loop": "0.4.*|0.3.*",
- "react/stream": "0.4.*|0.3.*"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.4-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\Socket\\": "src"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
- "description": "Library for building an evented socket server.",
- "keywords": [
- "Socket"
+ "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": "2016-03-01 20:10:35"
+ "time": "2020-09-28T05:30:19+00:00"
},
{
- "name": "react/socket-client",
- "version": "v0.4.5",
+ "name": "sebastian/comparator",
+ "version": "4.0.8",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/socket-client.git",
- "reference": "a25539f2cd30b4be56e35de9f96f6aa744246cc2"
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/socket-client/zipball/a25539f2cd30b4be56e35de9f96f6aa744246cc2",
- "reference": "a25539f2cd30b4be56e35de9f96f6aa744246cc2",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
"shasum": ""
},
"require": {
- "php": ">=5.4.0",
- "react/dns": "0.4.*",
- "react/event-loop": "0.4.*",
- "react/promise": "~2.0",
- "react/stream": "0.4.*"
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.4-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\SocketClient\\": "src"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "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": "Async connector to open TCP/IP and SSL/TLS based connections.",
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
"keywords": [
- "Socket"
+ "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": "2016-03-27 18:31:39"
+ "time": "2022-09-14T12:41:17+00:00"
},
{
- "name": "react/stream",
- "version": "v0.4.3",
+ "name": "sebastian/complexity",
+ "version": "2.0.2",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/stream.git",
- "reference": "305b2328d2a2e157bc13b61a0f5c6e41b666b188"
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/stream/zipball/305b2328d2a2e157bc13b61a0f5c6e41b666b188",
- "reference": "305b2328d2a2e157bc13b61a0f5c6e41b666b188",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
"shasum": ""
},
"require": {
- "evenement/evenement": "^2.0|^1.0",
- "php": ">=5.3.8"
+ "nikic/php-parser": "^4.7",
+ "php": ">=7.3"
},
"require-dev": {
- "react/event-loop": "^0.4|^0.3",
- "react/promise": "^2.0|^1.0"
- },
- "suggest": {
- "react/event-loop": "^0.4",
- "react/promise": "^2.0"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.5-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
- "psr-4": {
- "React\\Stream\\": "src"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
- "description": "Basic readable and writable stream interfaces that support piping.",
- "keywords": [
- "pipe",
- "stream"
+ "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": "2015-10-07 18:32:58"
+ "time": "2020-10-26T15:52:27+00:00"
},
{
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "1.0.0",
+ "name": "sebastian/diff",
+ "version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "c36f5e7cfce482fde5bf8d10d41a53591e0198fe"
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/c36f5e7cfce482fde5bf8d10d41a53591e0198fe",
- "reference": "c36f5e7cfce482fde5bf8d10d41a53591e0198fe",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"shasum": ""
},
"require": {
- "php": ">=5.6"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "~5"
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3065,38 +3221,59 @@
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
}
],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "time": "2016-02-13 06:45:14"
+ "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/comparator",
- "version": "1.2.0",
+ "name": "sebastian/environment",
+ "version": "5.1.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
- "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
+ "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "sebastian/diff": "~1.2",
- "sebastian/exporter": "~1.2"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-posix": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "5.1-dev"
}
},
"autoload": {
@@ -3109,56 +3286,56 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "http://www.github.com/sebastianbergmann/comparator",
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
"keywords": [
- "comparator",
- "compare",
- "equality"
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
],
- "time": "2015-07-26 15:48:44"
+ "time": "2022-04-03T09:37:03+00:00"
},
{
- "name": "sebastian/diff",
- "version": "1.4.1",
+ "name": "sebastian/exporter",
+ "version": "4.0.5",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
- "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.8"
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.4-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3171,46 +3348,75 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
{
"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": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
"keywords": [
- "diff"
+ "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": "2015-12-08 07:14:41"
+ "time": "2022-09-14T06:03:37+00:00"
},
{
- "name": "sebastian/environment",
- "version": "1.3.7",
+ "name": "sebastian/global-state",
+ "version": "5.0.5",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
- "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "ext-dom": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-uopz": "*"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.3.x-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -3228,40 +3434,48 @@
"email": "sebastian@phpunit.de"
}
],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
"keywords": [
- "Xdebug",
- "environment",
- "hhvm"
+ "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": "2016-05-17 03:18:57"
+ "time": "2022-02-14T08:28:10+00:00"
},
{
- "name": "sebastian/exporter",
- "version": "1.2.1",
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "7ae5513327cb536431847bcc0c10edba2701064e"
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e",
- "reference": "7ae5513327cb536431847bcc0c10edba2701064e",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "sebastian/recursion-context": "~1.0"
+ "nikic/php-parser": "^4.6",
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "1.0-dev"
}
},
"autoload": {
@@ -3274,62 +3488,52 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
+ "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": "2015-06-21 07:55:53"
+ "time": "2020-11-28T06:42:11+00:00"
},
{
- "name": "sebastian/global-state",
- "version": "1.1.1",
+ "name": "sebastian/object-enumerator",
+ "version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
- "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.2"
- },
- "suggest": {
- "ext-uopz": "*"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3347,38 +3551,44 @@
"email": "sebastian@phpunit.de"
}
],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
+ "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": "2015-10-12 03:26:01"
+ "time": "2020-10-26T13:12:34+00:00"
},
{
- "name": "sebastian/object-enumerator",
- "version": "1.0.0",
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "d4ca2fb70344987502567bc50081c03e6192fb26"
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/d4ca2fb70344987502567bc50081c03e6192fb26",
- "reference": "d4ca2fb70344987502567bc50081c03e6192fb26",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"shasum": ""
},
"require": {
- "php": ">=5.6",
- "sebastian/recursion-context": "~1.0"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "~5"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -3396,34 +3606,44 @@
"email": "sebastian@phpunit.de"
}
],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "time": "2016-01-28 13:25:10"
+ "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": "1.0.2",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "913401df809e99e4f47b27cdd781f4a258d58791"
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791",
- "reference": "913401df809e99e4f47b27cdd781f4a258d58791",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -3436,14 +3656,14 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
{
"name": "Adam Harvey",
"email": "aharvey@php.net"
@@ -3451,29 +3671,42 @@
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "time": "2015-11-11 19:50:13"
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:17:30+00:00"
},
{
"name": "sebastian/resource-operations",
- "version": "1.0.0",
+ "version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
- "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
"shasum": ""
},
"require": {
- "php": ">=5.6.0"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -3493,29 +3726,42 @@
],
"description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "time": "2015-07-28 20:34:47"
+ "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/version",
- "version": "2.0.0",
+ "name": "sebastian/type",
+ "version": "3.2.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c829badbd8fdf16a0bad8aa7fa7971c029f1b9c5"
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c829badbd8fdf16a0bad8aa7fa7971c029f1b9c5",
- "reference": "c829badbd8fdf16a0bad8aa7fa7971c029f1b9c5",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
+ "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
"shasum": ""
},
"require": {
- "php": ">=5.6"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
@@ -3534,191 +3780,226 @@
"role": "lead"
}
],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "time": "2016-02-04 12:56:52"
+ "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.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-12T14:47:03+00:00"
},
{
- "name": "seld/jsonlint",
- "version": "1.4.0",
+ "name": "sebastian/version",
+ "version": "3.0.2",
"source": {
"type": "git",
- "url": "https://github.com/Seldaek/jsonlint.git",
- "reference": "66834d3e3566bb5798db7294619388786ae99394"
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/66834d3e3566bb5798db7294619388786ae99394",
- "reference": "66834d3e3566bb5798db7294619388786ae99394",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
"shasum": ""
},
"require": {
- "php": "^5.3 || ^7.0"
+ "php": ">=7.3"
},
- "bin": [
- "bin/jsonlint"
- ],
"type": "library",
- "autoload": {
- "psr-4": {
- "Seld\\JsonLint\\": "src/Seld/JsonLint/"
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
}
},
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "JSON Linter",
- "keywords": [
- "json",
- "linter",
- "parser",
- "validator"
+ "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": "2015-11-21 02:21:41"
+ "time": "2020-09-28T06:39:44+00:00"
},
{
- "name": "symfony/debug",
- "version": "v3.0.6",
+ "name": "slevomat/coding-standard",
+ "version": "8.5.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/debug.git",
- "reference": "a06d10888a45afd97534506afb058ec38d9ba35b"
+ "url": "https://github.com/slevomat/coding-standard.git",
+ "reference": "f32937dc41b587f3500efed1dbca2f82aa519373"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/a06d10888a45afd97534506afb058ec38d9ba35b",
- "reference": "a06d10888a45afd97534506afb058ec38d9ba35b",
+ "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/f32937dc41b587f3500efed1dbca2f82aa519373",
+ "reference": "f32937dc41b587f3500efed1dbca2f82aa519373",
"shasum": ""
},
"require": {
- "php": ">=5.5.9",
- "psr/log": "~1.0"
- },
- "conflict": {
- "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7",
+ "php": "^7.2 || ^8.0",
+ "phpstan/phpdoc-parser": ">=1.7.0 <1.9.0",
+ "squizlabs/php_codesniffer": "^3.7.1"
},
"require-dev": {
- "symfony/class-loader": "~2.8|~3.0",
- "symfony/http-kernel": "~2.8|~3.0"
- },
- "type": "library",
+ "phing/phing": "2.17.4",
+ "php-parallel-lint/php-parallel-lint": "1.3.2",
+ "phpstan/phpstan": "1.4.10|1.8.6",
+ "phpstan/phpstan-deprecation-rules": "1.0.0",
+ "phpstan/phpstan-phpunit": "1.0.0|1.1.1",
+ "phpstan/phpstan-strict-rules": "1.4.4",
+ "phpunit/phpunit": "7.5.20|8.5.21|9.5.25"
+ },
+ "type": "phpcodesniffer-standard",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "8.x-dev"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Component\\Debug\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "SlevomatCodingStandard\\": "SlevomatCodingStandard"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
+ "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
+ "support": {
+ "issues": "https://github.com/slevomat/coding-standard/issues",
+ "source": "https://github.com/slevomat/coding-standard/tree/8.5.2"
+ },
+ "funding": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "url": "https://github.com/kukulich",
+ "type": "github"
},
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard",
+ "type": "tidelift"
}
],
- "description": "Symfony Debug Component",
- "homepage": "https://symfony.com",
- "time": "2016-03-30 10:41:14"
+ "time": "2022-09-27T16:45:37+00:00"
},
{
- "name": "symfony/expression-language",
- "version": "v3.0.6",
+ "name": "squizlabs/php_codesniffer",
+ "version": "3.7.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/expression-language.git",
- "reference": "98466efcae5b9e8a5dd45b300b0ff54eaa6f3988"
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+ "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/98466efcae5b9e8a5dd45b300b0ff54eaa6f3988",
- "reference": "98466efcae5b9e8a5dd45b300b0ff54eaa6f3988",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619",
+ "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619",
"shasum": ""
},
"require": {
- "php": ">=5.5.9"
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
},
+ "bin": [
+ "bin/phpcs",
+ "bin/phpcbf"
+ ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "3.x-dev"
}
},
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\ExpressionLanguage\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Greg Sherwood",
+ "role": "lead"
}
],
- "description": "Symfony ExpressionLanguage Component",
- "homepage": "https://symfony.com",
- "time": "2016-03-10 10:34:12"
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+ "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "keywords": [
+ "phpcs",
+ "standards"
+ ],
+ "support": {
+ "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
+ "source": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ },
+ "time": "2022-06-18T07:21:10+00:00"
},
{
- "name": "symfony/finder",
- "version": "v3.0.6",
+ "name": "symfony/polyfill-php80",
+ "version": "v1.26.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "c54e407b35bc098916704e9fd090da21da4c4f52"
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/c54e407b35bc098916704e9fd090da21da4c4f52",
- "reference": "c54e407b35bc098916704e9fd090da21da4c4f52",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
+ "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
"shasum": ""
},
"require": {
- "php": ">=5.5.9"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Finder\\": ""
+ "Symfony\\Polyfill\\Php80\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -3727,124 +4008,185 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "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 Finder Component",
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
- "time": "2016-03-10 11:13:05"
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.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-05-10T07:21:04+00:00"
},
{
- "name": "symfony/process",
- "version": "v3.0.6",
+ "name": "theseer/tokenizer",
+ "version": "1.2.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb"
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb",
- "reference": "53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": ""
},
"require": {
- "php": ">=5.5.9"
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.2 || ^8.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
"autoload": {
- "psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
+ "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": [
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "url": "https://github.com/theseer",
+ "type": "github"
}
],
- "description": "Symfony Process Component",
- "homepage": "https://symfony.com",
- "time": "2016-04-14 15:30:28"
+ "time": "2021-07-28T10:34:58+00:00"
},
{
- "name": "symfony/yaml",
- "version": "v3.0.6",
+ "name": "vlucas/phpdotenv",
+ "version": "v5.4.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "0047c8366744a16de7516622c5b7355336afae96"
+ "url": "https://github.com/vlucas/phpdotenv.git",
+ "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/0047c8366744a16de7516622c5b7355336afae96",
- "reference": "0047c8366744a16de7516622c5b7355336afae96",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/264dce589e7ce37a7ba99cb901eed8249fbec92f",
+ "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f",
"shasum": ""
},
"require": {
- "php": ">=5.5.9"
+ "ext-pcre": "*",
+ "graham-campbell/result-type": "^1.0.2",
+ "php": "^7.1.3 || ^8.0",
+ "phpoption/phpoption": "^1.8",
+ "symfony/polyfill-ctype": "^1.23",
+ "symfony/polyfill-mbstring": "^1.23.1",
+ "symfony/polyfill-php80": "^1.23.1"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "ext-filter": "*",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10"
+ },
+ "suggest": {
+ "ext-filter": "Required to use the boolean validator."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "5.4-dev"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Dotenv\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
},
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Vance Lucas",
+ "email": "vance@vancelucas.com",
+ "homepage": "https://github.com/vlucas"
}
],
- "description": "Symfony Yaml Component",
- "homepage": "https://symfony.com",
- "time": "2016-03-04 07:55:57"
+ "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
+ "keywords": [
+ "dotenv",
+ "env",
+ "environment"
+ ],
+ "support": {
+ "issues": "https://github.com/vlucas/phpdotenv/issues",
+ "source": "https://github.com/vlucas/phpdotenv/tree/v5.4.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-12-12T23:22:04+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
- "stability-flags": {
- "deployer/deployer": 20
- },
+ "stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
- "platform": [],
- "platform-dev": []
+ "platform": {
+ "ext-json": "*",
+ "ext-intl": "*"
+ },
+ "platform-dev": [],
+ "plugin-api-version": "2.3.0"
}
diff --git a/config/config.php b/config/config.php
index aaba624..13b8743 100644
--- a/config/config.php
+++ b/config/config.php
@@ -2,15 +2,20 @@
// Load ENV vars
if (file_exists(__DIR__ . '/../.env')) {
- $container['env'] = new \Dotenv\Dotenv(__DIR__.'/../', '.env');
- $container['env']->load();
+ $container['env'] = Dotenv\Dotenv::createImmutable(__DIR__.'/../', '.env');
+ $container['env']->safeLoad();
}
return [
- 'slack_url' => getenv('SLACK_URL'),
- 'meetup_api_key' => getenv('MEETUP_API_KEY'),
+ 'slack' => [
+ 'webhookUrl' => $_ENV['SLACK_URL'],
+ ],
+ 'meetup' => [
+ 'baseUrl' => $_ENV['MEETUP_API_URL'],
+ 'apiKey' => $_ENV['MEETUP_API_KEY'],
+ ],
'joindin' => [
- 'base_url' => getenv('JOINDIN_URL'),
- 'access_token' => getenv('JOINDIN_TOKEN')
+ 'baseUrl' => $_ENV['JOINDIN_URL'],
+ 'accessToken' => $_ENV['JOINDIN_TOKEN'],
],
];
diff --git a/config/container.php b/config/container.php
index ff75fff..97801e1 100644
--- a/config/container.php
+++ b/config/container.php
@@ -1,10 +1,13 @@
build();
+// Define Deps
+
+
// Define services
-$container->set(Client::class, new Client($config['joindin']));
-$container->set(JoindInClient::class, new JoindInClient($config['joindin']));
-$container->set(AbstractMeetupClient::class, \DMS\Service\Meetup\MeetupKeyAuthClient::factory([
- 'key' => $config['meetup_api_key']
-]));
-$container->set(Phlack::class, Phlack::factory($config['slack_url']));
+$container->set(JoindInClient::class, new JoindInClient($config['joindin']['accessToken'], $config['joindin']['baseUrl']));
+$container->set(MeetupClient::class, new MeetupClient($config['meetup']['apiKey'], $config['meetup']['baseUrl']));
+$container->set(SlackWebhookClient::class, new SlackWebhookClient($config['slack']['webhookUrl']));
return $container;
diff --git a/docker/cli.Dockerfile b/docker/cli.Dockerfile
new file mode 100644
index 0000000..5c3da45
--- /dev/null
+++ b/docker/cli.Dockerfile
@@ -0,0 +1,61 @@
+# syntax=docker/dockerfile:1
+FROM php:8.1-cli-alpine3.16 AS base
+
+RUN set -x \
+ && addgroup -g 1000 app \
+ && adduser -u 1000 -D -G app app
+
+RUN set -xe \
+ && apk add --update \
+ icu \
+ && apk add --no-cache --virtual .php-deps \
+ make \
+ && apk add --no-cache --virtual .build-deps \
+ $PHPIZE_DEPS \
+ zlib-dev \
+ icu-dev \
+ g++ \
+ && docker-php-ext-configure intl \
+ && docker-php-ext-install \
+ intl \
+ && docker-php-ext-enable intl \
+ && { find /usr/local/lib -type f -print0 | xargs -0r strip --strip-all -p 2>/dev/null || true; } \
+ && apk del .build-deps \
+ && rm -rf /tmp/* /usr/local/lib/php/doc/* /var/cache/apk/*
+
+WORKDIR /opt/project
+
+FROM composer:2 as composer
+
+FROM base as source
+
+ENV COMPOSER_HOME=/opt/.composer
+
+RUN apk add --no-cache git
+
+COPY --from=composer /usr/bin/composer /usr/local/bin/composer
+
+WORKDIR /opt/archived
+
+# hadolint ignore=SC2215
+RUN --mount=type=bind,source=./,rw,target=./ \
+ mkdir -p /opt/project \
+ && git archive --verbose --format tar HEAD | tar -x -C /opt/project
+
+WORKDIR /opt/project
+
+# hadolint ignore=SC2215
+RUN --mount=type=bind,source=.composer/cache,target=/opt/.composer/cache \
+ composer install --no-interaction --no-progress --no-dev --prefer-dist --classmap-authoritative
+
+FROM base AS dev
+
+COPY --chown=app:app --from=composer /usr/bin/composer /usr/local/bin/composer
+
+RUN apk add --no-cache $PHPIZE_DEPS \
+ && pecl install xdebug-stable \
+ && docker-php-ext-enable xdebug
+
+USER app:app
+
+VOLUME [ "/opt/project" ]
diff --git a/phpcs.xml.dist b/phpcs.xml.dist
new file mode 100644
index 0000000..c14a9c3
--- /dev/null
+++ b/phpcs.xml.dist
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ src
+ tests
+
+
+
+
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 1953141..070b2e7 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -1,13 +1,13 @@
-
-
-
- ./test
-
-
-
-
-
- src
-
-
+
+
+
+
+ src
+
+
+
+
+ ./tests
+
+
diff --git a/src/Api/JoindInClient.php b/src/Api/JoindInClient.php
index d64ac50..0682f05 100644
--- a/src/Api/JoindInClient.php
+++ b/src/Api/JoindInClient.php
@@ -1,38 +1,82 @@
self::DEFAULT_BASE_URL);
- $required = array('base_url');
+ public function __construct(string $token, string $baseUrl)
+ {
+ $this->client = new Client([
+ 'base_uri' => $baseUrl,
+ 'headers' => [
+ 'Authorization' => 'OAuth ' . $token,
+ 'Accept-Charset' => 'utf-8',
+ 'Accept' => 'application/json',
+ 'Content-Type' => 'application/json',
+ ],
+ 'handler' => DefaultStackFactory::createJsonHandlingStack(),
+ ]);
+ }
+
+ /**
+ * @throws GuzzleException
+ * @throws JsonException
+ */
+ public function addEventHost(string $eventId, string $eventHost): JsonAwareResponse
+ {
+ $result = $this->client->post('v2.1/events/' . $eventId . '/hosts', [
+ 'body' => json_encode(['host_name' => $eventHost], JSON_THROW_ON_ERROR),
+ ]);
+ assert($result instanceof JsonAwareResponse);
- $configuration = Collection::fromConfig($config, $defaults, $required);
+ return $result;
+ }
- parent::__construct($configuration->toArray());
+ /**
+ * @param string[] $event
+ *
+ * @throws GuzzleException
+ * @throws JsonException
+ */
+ public function submitEvent(array $event): string
+ {
+ $result = $this->client->post('v2.1/events', [
+ 'body' => json_encode($event, JSON_THROW_ON_ERROR),
+ ]);
+ assert($result instanceof JsonAwareResponse);
- if ($configuration->get('access_token')) {
- $this->setDefaultOption('headers/Authorization', 'OAuth ' . $configuration->get('access_token'));
- }
- $this->setDefaultOption('headers/Accept-Charset', 'utf-8');
- $this->setDefaultOption('headers/Accept', 'application/json');
- $this->setDefaultOption('headers/Content-Type', 'application/json');
+ return $this->extractIdFromLocation($result->getLocationHeader());
}
- public function addEventHost($eventId, $eventHost)
+ private function extractIdFromLocation(string $locationUrl): string
{
- $result = $this->post('v2.1/events/'.$eventId.'/hosts', ['body' => json_encode(['host_name' => $eventHost])]);
- return $result;
+ $matches = [];
+ preg_match(
+ '/events\/(\d*)/',
+ $locationUrl,
+ $matches,
+ );
+
+ return $matches[1] ?? '';
}
}
diff --git a/src/Api/MeetupClient.php b/src/Api/MeetupClient.php
new file mode 100644
index 0000000..c951463
--- /dev/null
+++ b/src/Api/MeetupClient.php
@@ -0,0 +1,49 @@
+client = new Client([
+ 'base_uri' => $baseUrl,
+ 'handler' => DefaultStackFactory::createJsonHandlingStack(),
+ ]);
+ }
+
+ /**
+ * @throws GuzzleException
+ * @throws JsonException
+ */
+ public function getUpcomingEventsForGroup(string $group): CollectionInterface
+ {
+ $result = $this->client->get('/2/events', [
+ 'query' => [
+ 'key' => [$this->meetupKey],
+ 'group_urlname' => $group,
+ 'status' => 'upcoming',
+ 'text_format' => 'plain',
+ 'time' => '0m,1m',
+ ],
+ ]);
+ assert($result instanceof JsonAwareResponse);
+
+ return new Collection('array', $result->getJson()['results']);
+ }
+}
diff --git a/src/Api/Middleware/DefaultStackFactory.php b/src/Api/Middleware/DefaultStackFactory.php
new file mode 100644
index 0000000..6ff639b
--- /dev/null
+++ b/src/Api/Middleware/DefaultStackFactory.php
@@ -0,0 +1,30 @@
+push(Middleware::mapResponse(
+ static function (ResponseInterface $response) {
+ return new JsonAwareResponse(
+ $response->getStatusCode(),
+ $response->getHeaders(),
+ $response->getBody(),
+ $response->getProtocolVersion(),
+ $response->getReasonPhrase(),
+ );
+ },
+ ), 'json_decode_middleware');
+
+ return $stack;
+ }
+}
diff --git a/src/Api/Middleware/JsonAwareResponse.php b/src/Api/Middleware/JsonAwareResponse.php
new file mode 100644
index 0000000..5f0dfe1
--- /dev/null
+++ b/src/Api/Middleware/JsonAwareResponse.php
@@ -0,0 +1,49 @@
+cachedJson) {
+ return $this->cachedJson;
+ }
+
+ $body = $this->getBody();
+
+ if (! str_contains($this->getHeaderLine('Content-Type'), 'application/json')) {
+ return $body;
+ }
+
+ if ($body->getSize() === 0) {
+ return [];
+ }
+
+ $this->cachedJson = json_decode((string) $body, true, 512, JSON_THROW_ON_ERROR);
+
+ return $this->cachedJson;
+ }
+
+ public function getLocationHeader(): string
+ {
+ $headerValue = $this->getHeader('Location');
+
+ return array_shift($headerValue) ?? '';
+ }
+}
diff --git a/src/Api/SlackWebhookClient.php b/src/Api/SlackWebhookClient.php
new file mode 100644
index 0000000..d019c0a
--- /dev/null
+++ b/src/Api/SlackWebhookClient.php
@@ -0,0 +1,40 @@
+client = new Client();
+ }
+
+ /**
+ * @param string[] $message
+ *
+ * @throws GuzzleException
+ * @throws JsonException
+ */
+ public function sendMessage(array $message): ResponseInterface
+ {
+ return $this->client->post($this->webhookUrl, [
+ 'body' => json_encode($message, JSON_THROW_ON_ERROR),
+ ]);
+ }
+}
diff --git a/src/Command/CreateJoindInCommand.php b/src/Command/CreateJoindInCommand.php
index 9285d16..076656e 100644
--- a/src/Command/CreateJoindInCommand.php
+++ b/src/Command/CreateJoindInCommand.php
@@ -1,62 +1,37 @@
meetup = $meetup;
- $this->slack = $slack;
- $this->joindinEvents = $joindin->getService(new Events());
- $this->joindinApi = $joindinApi;
+ public function __construct(
+ private readonly MeetupClient $meetup,
+ private readonly SlackWebhookClient $slack,
+ private readonly JoindInClient $joindinApi,
+ ) {
parent::__construct();
}
- /**
- * @see Command
- */
- protected function configure()
+ protected function configure(): void
{
$this
->setName('monthly:create-placeholder')
@@ -64,37 +39,34 @@ protected function configure()
}
/**
- * @see Command
- *
- * @param InputInterface $input
- * @param OutputInterface $output
- *
- * @return int|null|void
+ * @throws JsonException
+ * @throws GuzzleException
*/
- protected function execute(InputInterface $input, OutputInterface $output)
+ protected function execute(InputInterface $input, OutputInterface $output): int
{
$meetingCandidates = $this->getCurrentMonthlyMeetingCandidates();
if ($meetingCandidates->count() > 1) {
$this->sendSlackMsg('Too many monthly meetings found, I was confused, sorry.', 'construction');
- $output->writeln("Too many monthly meetings");
- return;
+ $output->writeln('Too many monthly meetings');
+
+ return 0;
}
- $meeting = new ArrayReader($meetingCandidates->current());
+ $meeting = new ArrayReader($meetingCandidates->first());
$time = $meeting->integerValue('time') / 1000;
- $date = \DateTime::createFromFormat('U', $time);
+ $date = DateTime::createFromFormat('U', (string) $time);
$output->writeln(
sprintf(
- "=> Current meeting found: %s",
- $meeting->stringValue('name')
- )
+ '=> Current meeting found: %s',
+ $meeting->stringValue('name'),
+ ),
);
$event = [
- 'name' => sprintf('AmsterdamPHP Monthly Meeting - %s', strftime('%B/%Y', $date->format('U'))),
+ 'name' => sprintf('AmsterdamPHP Monthly Meeting - %s', IntlDateFormatter::formatObject($date, 'MMMM/y')),
'description' => 'Every month AmsterdamPHP holds a monthly meeting with a speaker a social event. You can find more info and signup at http://meetup.amsterdamphp.nl',
'start_date' => $date->format('Y-m-d'),
'end_date' => $date->format('Y-m-d'),
@@ -102,76 +74,54 @@ protected function execute(InputInterface $input, OutputInterface $output)
'tz_place' => 'Amsterdam',
'href' => $meeting->stringValue('event_url'),
'location' => $meeting->stringValue('venue.name'),
- 'tags' => 'php, amsterdam'
+ 'tags' => 'php, amsterdam',
];
- $result = $this->joindinEvents->submit($event);
- $output->writeln(sprintf("=> Joind.in event created."));
+ $eventId = $this->joindinApi->submitEvent($event);
+ $output->writeln(sprintf('=> Joind.in event created: %s', $eventId));
- $hostResult = $this->joindinApi->addEventHost($this->extractIdFromLocation($result['url']), 'amsterdamphp');
- $output->writeln("=> Host Add request returned " . $hostResult->getStatusCode() . "");
+ $hostResult = $this->joindinApi->addEventHost($eventId, 'amsterdamphp');
+ $output->writeln(sprintf('=> Host Add request returned %s', $hostResult->getStatusCode()));
$this->sendSlackMsg(
sprintf(
'Joind.in event created successfully, its awaiting approval. Find it here: https://joind.in/search?keyword=%s',
- urlencode($event['name'])
- )
+ urlencode($event['name']),
+ ),
);
- $output->writeln("=> Payload sent to Slack.");
+ $output->writeln('=> Payload sent to Slack.');
+
+ return 0;
}
/**
- * Sends a message to Slack
- *
- * @param string $msg
- * @param string $icon
+ * @throws GuzzleException
+ * @throws JsonException
*/
- protected function sendSlackMsg($msg, $icon = 'date')
+ protected function sendSlackMsg(string $msg, string $icon = 'date'): void
{
+ $message = [
+ 'channel' => '#monthly-meetings',
+ 'text' => $msg,
+ 'username' => 'AmsterdamPHP Console: joind.in',
+ 'icon_emoji' => $icon,
+ ];
- $builder = $this->slack->getMessageBuilder();
-
- $builder->setChannel('#monthly-meetings');
- $builder->setText($msg);
- $builder->setUsername('AmsterdamPHP Console: joind.in');
- $builder->setIconEmoji($icon);
-
- $this->slack->send($builder->create());
+ $this->slack->sendMessage($message);
}
/**
* Finds possible candidates for this month's meeting.
* Should only return one result.
*
- * @return \DMS\Service\Meetup\Response\MultiResultResponse
+ * @throws GuzzleException
+ * @throws JsonException
*/
- protected function getCurrentMonthlyMeetingCandidates()
+ protected function getCurrentMonthlyMeetingCandidates(): CollectionInterface
{
- //Get Upcoming events
- $events = $this->meetup->getEvents(
- [
- 'group_urlname' => 'amsterdamphp',
- 'status' => 'upcoming',
- 'text_format' => 'plain',
- 'time' => '0m,1m'
- ]
- );
-
- return $events->filter(function($event) {
- return strpos($event['name'], 'Monthly Meeting') !== false;
+ return $this->meetup->getUpcomingEventsForGroup('amsterdamphp')->filter(static function ($event) {
+ return str_contains($event['name'], 'Monthly Meeting');
});
}
-
- protected function extractIdFromLocation($locationUrl)
- {
- $matches = [];
- preg_match(
- "/events\/([0-9]*)/",
- $locationUrl,
- $matches
- );
-
- return $matches[1];
- }
}
diff --git a/test/Command/CreateJoindInCommandTest.php b/test/Command/CreateJoindInCommandTest.php
deleted file mode 100644
index 9b2ed16..0000000
--- a/test/Command/CreateJoindInCommandTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-meetup = \Mockery::mock(AbstractMeetupClient::class);
- $this->slack = \Mockery::mock(Phlack::class);
- $this->joindinEvents = \Mockery::mock(Client::class);
- $this->joindinEvents->shouldReceive('getService')->andReturnSelf();
- $this->adapter = new MockAdapter();
- $this->joindinClient = new JoindInClient([
- 'adapter' => $this->adapter,
- 'emitter' => new Emitter()
- ]);
-
- $this->command = new CreateJoindInCommand($this->meetup, $this->slack, $this->joindinEvents, $this->joindinClient);
- }
-
- public function testCommand()
- {
- $meetupResponse = \Mockery::mock(MultiResultResponse::class)->shouldDeferMissing();
- $meetupResponse->addHeader('Content-Type', new Header('Content-Type', 'application/json'));
- $meetupResponse->setData([
- [
- 'name' => 'Monthly Meeting',
- 'time' => time() * 1000,
- 'event_url' => 'http://meetup.link',
- 'venue' => ['name' => 'HQ'],
- ]
- ]);
-
- $this->meetup->shouldReceive('getEvents')->andReturn($meetupResponse)->once();
-
- $this->joindinEvents->shouldReceive('submit')
- ->andReturn(['url' => 'http://some.path.to.api/v2.1/events/34'])
- ->once();
-
- $this->slack->shouldReceive('getMessageBuilder')->andReturn(new MessageBuilder())->once();
- $this->slack->shouldReceive('send')->with(
- \Mockery::on(
- function (Message $param) {
- $this->assertContains('event created', $param->get('text'));
- return true;
- }
- )
- );
-
- $this->adapter->setResponse(new Response(200));
-
- $input = new ArrayInput([]);
- $output = new DummyOutput();
-
- $this->command->run($input, $output);
- }
-
-}
diff --git a/tests/Unit/Api/JoindInClientTest.php b/tests/Unit/Api/JoindInClientTest.php
new file mode 100644
index 0000000..aced02c
--- /dev/null
+++ b/tests/Unit/Api/JoindInClientTest.php
@@ -0,0 +1,77 @@
+client = Mockery::mock(ClientInterface::class);
+ $this->joindin = new JoindInClient(self::KEY, self::BASEURL);
+ $this->validateStackPresence($this->joindin);
+ $this->overrideClient($this->client, $this->joindin);
+ }
+
+ public function testSubmitEvent(): void
+ {
+ $payload = ['name' => 'event_name'];
+ $this->client->expects('post')
+ ->withArgs(static fn ($url, $opts) => $opts['body'] === json_encode($payload, JSON_THROW_ON_ERROR))
+ ->andReturns($this->getFakeJsonAwareResponse(
+ 200,
+ [],
+ ['Location' => 'http://some.path/v2.1/events/34'],
+ ))
+ ->once();
+
+ $eventId = $this->joindin->submitEvent($payload);
+ self::assertEquals(34, $eventId);
+ }
+
+ public function testSubmitEventReturnsEmptyEventIdOnBadLocation(): void
+ {
+ $payload = ['name' => 'event_name'];
+ $this->client->expects('post')
+ ->withArgs(static fn ($url, $opts) => $opts['body'] === json_encode($payload, JSON_THROW_ON_ERROR))
+ ->andReturns($this->getFakeJsonAwareResponse(
+ 200,
+ [],
+ ['Location' => 'http://some.path/v2.2/blobs/34'],
+ ))
+ ->once();
+
+ $eventId = $this->joindin->submitEvent($payload);
+ self::assertEquals('', $eventId);
+ }
+
+ public function testAddEventHost(): void
+ {
+ $host = 'new_host';
+ $eventId = '34';
+ $this->client->expects('post')
+ ->withArgs(static fn ($url, $opts) => str_contains($url, $eventId) && $opts['body'] === '{"host_name":"' . $host . '"}')
+ ->andReturns($this->getFakeJsonAwareResponse(200))
+ ->once();
+
+ $this->joindin->addEventHost($eventId, $host);
+ }
+}
diff --git a/tests/Unit/Api/MeetupClientTest.php b/tests/Unit/Api/MeetupClientTest.php
new file mode 100644
index 0000000..1e66eb0
--- /dev/null
+++ b/tests/Unit/Api/MeetupClientTest.php
@@ -0,0 +1,39 @@
+client = Mockery::mock(ClientInterface::class);
+ $this->meetup = new MeetupClient(self::KEY, self::BASEURL);
+ $this->validateStackPresence($this->meetup);
+ $this->overrideClient($this->client, $this->meetup);
+ }
+
+ public function testGetUpcomingEventsForGroup(): void
+ {
+ $this->client->expects('get')
+ ->withArgs(static fn ($url, $opts) => $opts['query']['key'] === [self::KEY]
+ && $opts['query']['group_urlname'] === self::GROUP)
+ ->andReturns($this->getFakeJsonAwareResponse(200, ['results' => []]))
+ ->once();
+
+ $this->meetup->getUpcomingEventsForGroup(self::GROUP);
+ }
+}
diff --git a/tests/Unit/Api/Middleware/JsonAwareResponseTest.php b/tests/Unit/Api/Middleware/JsonAwareResponseTest.php
new file mode 100644
index 0000000..50ba954
--- /dev/null
+++ b/tests/Unit/Api/Middleware/JsonAwareResponseTest.php
@@ -0,0 +1,78 @@
+ 'data'];
+ $response = new JsonAwareResponse(
+ 200,
+ ['Content-Type' => 'application/json'],
+ json_encode($body, JSON_THROW_ON_ERROR),
+ );
+
+ self::assertEquals($body, $response->getJson());
+ }
+
+ public function testGetJsonCanHandleEmptyResponse(): void
+ {
+ $response = new JsonAwareResponse(
+ 200,
+ ['Content-Type' => 'application/json'],
+ '',
+ );
+
+ self::assertEquals([], $response->getJson());
+ }
+
+ public function testGetJsonCanHandleNonJson(): void
+ {
+ $body = 'Some nonjson content';
+ $response = new JsonAwareResponse(
+ 200,
+ body: $body,
+ );
+
+ self::assertEquals($body, $response->getJson());
+ }
+
+ /** @throws JsonException */
+ public function testGetJsonIsCached(): void
+ {
+ $body = ['some' => 'data'];
+ $response = new JsonAwareResponse(
+ 200,
+ ['Content-Type' => 'application/json'],
+ json_encode($body, JSON_THROW_ON_ERROR),
+ );
+
+ self::assertEquals($body, $response->getJson());
+ self::assertEquals($body, $response->getJson());
+ }
+
+ public function testGetLocationHeaderWorks(): void
+ {
+ $location = 'https://path/to/event';
+ $response = new JsonAwareResponse(200, ['Location' => $location]);
+ self::assertEquals($location, $response->getLocationHeader());
+ }
+
+ public function testGetLocationHeaderHandlesMissingHeader(): void
+ {
+ $response = new JsonAwareResponse(200);
+ self::assertEquals('', $response->getLocationHeader());
+ }
+}
diff --git a/tests/Unit/Api/SlackWebhookClientTest.php b/tests/Unit/Api/SlackWebhookClientTest.php
new file mode 100644
index 0000000..62b77ef
--- /dev/null
+++ b/tests/Unit/Api/SlackWebhookClientTest.php
@@ -0,0 +1,46 @@
+client = Mockery::mock(ClientInterface::class);
+ $this->slack = new SlackWebhookClient(self::BASEURL);
+ $this->overrideClient($this->client, $this->slack);
+ }
+
+ /**
+ * @throws GuzzleException
+ * @throws JsonException
+ */
+ public function testSendMessage(): void
+ {
+ $message = ['text' => 'some text'];
+ $this->client->expects('post')
+ ->withArgs([self::BASEURL, ['body' => json_encode($message, JSON_THROW_ON_ERROR)]])
+ ->andReturns($this->getFakeJsonAwareResponse(200))
+ ->once();
+
+ $this->slack->sendMessage($message);
+ }
+}
diff --git a/tests/Unit/Command/CreateJoindInCommandTest.php b/tests/Unit/Command/CreateJoindInCommandTest.php
new file mode 100644
index 0000000..62924bf
--- /dev/null
+++ b/tests/Unit/Command/CreateJoindInCommandTest.php
@@ -0,0 +1,71 @@
+meetup->expects('getUpcomingEventsForGroup')
+ ->withArgs(['amsterdamphp'])
+ ->andReturns(new Collection('array', [
+ [
+ 'name' => 'Monthly Meeting',
+ 'time' => 1665252181 * 1000, //October 8 2022
+ 'event_url' => 'https://meetup.link',
+ 'venue' => ['name' => 'HQ'],
+ ],
+ ]));
+
+ $this->joindin->expects('submitEvent')
+ ->withArgs(static fn ($event) => $event['name'] === 'AmsterdamPHP Monthly Meeting - October/2022')
+ ->andReturns('34')
+ ->once();
+
+ $this->joindin->expects('addEventHost')
+ ->withArgs(['34', 'amsterdamphp'])
+ ->andReturns(new JsonAwareResponse(200))
+ ->once();
+
+ $this->slack->expects('sendMessage')
+ ->withArgs(static fn ($args) => is_array($args))
+ ->once();
+
+ $input = new ArrayInput([]);
+ $output = new NullOutput();
+
+ $this->command->run($input, $output);
+ }
+
+ protected function setUp(): void
+ {
+ parent::setUp();
+ $this->meetup = Mockery::mock(MeetupClient::class);
+ $this->slack = Mockery::mock(SlackWebhookClient::class);
+ $this->joindin = Mockery::mock(JoindInClient::class);
+
+ $this->command = new CreateJoindInCommand($this->meetup, $this->slack, $this->joindin);
+ }
+}
diff --git a/tests/Unit/Util/GuzzleTestCase.php b/tests/Unit/Util/GuzzleTestCase.php
new file mode 100644
index 0000000..f80f16d
--- /dev/null
+++ b/tests/Unit/Util/GuzzleTestCase.php
@@ -0,0 +1,77 @@
+getProperty('client');
+ $clientProp->setAccessible(true);
+ $clientProp->setValue($instance, $client);
+ } catch (ReflectionException $e) {
+ $this->fail('Could not Reflect the Client: ' . $e->getMessage());
+ }
+ }
+
+ public function getInnerClient(object $instance): ClientInterface
+ {
+ try {
+ $relectedInstance = new ReflectionClass($instance);
+ $clientProp = $relectedInstance->getProperty('client');
+ $clientProp->setAccessible(true);
+
+ return $clientProp->getValue($instance);
+ } catch (ReflectionException $e) {
+ $this->fail('Could not Reflect the Client: ' . $e->getMessage());
+ }
+ }
+
+ /**
+ * @param string[] $nonEncodedBody
+ * @param string[] $headers
+ */
+ public function getFakeJsonAwareResponse(int $statusCode, array $nonEncodedBody = [], array $headers = []): JsonAwareResponse
+ {
+ try {
+ return new JsonAwareResponse(
+ 200,
+ $headers + ['Content-Type' => 'application/json'],
+ json_encode($nonEncodedBody, JSON_THROW_ON_ERROR),
+ );
+ } catch (JsonException $e) {
+ $this->fail('Cound not create Fake Response: ' . $e->getMessage());
+ }
+ }
+
+ public function validateStackPresence(object $instance): void
+ {
+ try {
+ $client = $this->getInnerClient($instance);
+ $reflectedClient = new ReflectionClass($client);
+ $configProp = $reflectedClient->getProperty('config');
+ $configProp->setAccessible(true);
+ $config = $configProp->getValue($client);
+
+ $this->assertEquals($config['handler'], DefaultStackFactory::createJsonHandlingStack());
+ } catch (ReflectionException $e) {
+ $this->fail('Could not Reflect the Client: ' . $e->getMessage());
+ }
+ }
+}