diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml
index 6bcc07b..e6506cc 100644
--- a/.github/auto_assign.yml
+++ b/.github/auto_assign.yml
@@ -4,13 +4,11 @@ numberOfReviewers: 1
reviewers:
- pvsaitpe
- - zlob
addAssignees: true
assignees:
- pvsaintpe
- - zlob
numberOfAssignees: 1
diff --git a/.github/labeler.yml b/.github/labeler.yml
deleted file mode 100644
index 489c203..0000000
--- a/.github/labeler.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-type:build:
- - ".github/**/*"
- - ".coveralls.yml"
- - "phpunit.github.xml"
- - ".gitignore"
- - "ecs.yml"
- - "composer.json"
- - "composer.lock"
-
-type:helpers:
- - "src/Helpers/**/*"
-
-type:indexes:
- - "src/Compilers/Traits/WheresBuilder.php"
- - "src/Compilers/CheckCompiler.php"
- - "src/Compilers/ExcludeCompiler.php"
- - "src/Compilers/UniqueCompiler.php"
- - "src/Schema/Builders/Indexes/**/*"
- - "src/Schema/Builders/Constraints/**/*"
- - "src/Schema/Builders/WhereBuilderTrait.php"
- - "src/Schema/Definitions/CheckDefinition.php"
- - "src/Schema/Definitions/ExcludeDefinition.php"
- - "src/Schema/Definitions/UniqueDefinition.php"
-
-type:routines:
- - "src/Compilers/Routines/**/*"
- - "src/Schema/Builders/Routines/**/*"
- - "src/Schema/Definitions/Routines/**/*"
-
-type:schema:
- - "src/Schema/**/*"
-
-type:compilers:
- - "src/Compilers/**/*"
-
-type:tests:
- - 'tests/**/*'
- - 'phpunit.xml.dist'
- - 'tests.sh'
-
-theme:docs:
- - "README.md"
- - "LICENSE"
- - "CONTRIBUTING.md"
- - "CODE_OF_CONDUCT.md"
- - "src/.meta.php"
- - "*.md"
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
index dfc3710..39ae991 100644
--- a/.github/release-drafter.yml
+++ b/.github/release-drafter.yml
@@ -39,24 +39,10 @@ version-resolver:
major:
labels:
- major
- - refactoring
minor:
labels:
- - feature
- minor
- - type:helpers
- - type:indexes
- - type:routines
- - type:schema
- - type:compilers
patch:
labels:
- patch
- - type:build
- - bug
- - bugfix
- - hotfix
- - fix
- - theme:docs
- - analysis
default: patch
diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml
deleted file mode 100644
index 4c0e6e4..0000000
--- a/.github/workflows/auto_approve.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-on: pull_request_review
-name: 'Label approved pull requests'
-jobs:
- labelWhenApproved:
- name: 'Label when approved'
- runs-on: ubuntu-latest
- steps:
- - name: 'Label when approved'
- uses: pullreminders/label-when-approved-action@master
- env:
- APPROVALS: "1"
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- ADD_LABEL: "approved"
- REMOVE_LABEL: "awaiting review"
diff --git a/.github/workflows/auto_labeler.yml b/.github/workflows/auto_labeler.yml
deleted file mode 100644
index ed703a5..0000000
--- a/.github/workflows/auto_labeler.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-name: "Auto labeling for a pull request"
-on:
- - pull_request_target
-
-jobs:
- triage:
- name: "Checking for labels"
- runs-on: ubuntu-latest
- steps:
- - uses: actions/labeler@main
- with:
- repo-token: "${{ secrets.GITHUB_TOKEN }}"
- sync-labels: true
- configuration-path: ".github/labeler.yml"
diff --git a/.github/workflows/auto_merge.yml b/.github/workflows/auto_merge.yml
deleted file mode 100644
index d009c07..0000000
--- a/.github/workflows/auto_merge.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-name: 'Auto merge of approved pull requests with passed checks'
-
-on:
- pull_request:
- types:
- - labeled
- - unlabeled
- - synchronize
- - opened
- - edited
- - ready_for_review
- - reopened
- - unlocked
- pull_request_review:
- types:
- - submitted
- check_suite:
- types:
- - completed
- status: {}
-
-jobs:
- automerge:
- runs-on: ubuntu-latest
- steps:
- - name: 'Automerge PR'
- uses: "pascalgn/automerge-action@v0.12.0"
- env:
- GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- MERGE_METHOD: 'squash'
- MERGE_LABELS: "approved,!work in progress"
- MERGE_REMOVE_LABELS: "approved"
- MERGE_COMMIT_MESSAGE: "pull-request-description"
- MERGE_RETRIES: "6"
- MERGE_RETRY_SLEEP: "10000"
- UPDATE_LABELS: ""
- UPDATE_METHOD: "rebase"
- MERGE_DELETE_BRANCH: false
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c230bb7..ef1caf6 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,32 +1,47 @@
name: CI
-on:
+on:
push:
+ branches:
+ - master
pull_request:
+ types:
+ - opened
+ - reopened
+ - edited
+ - synchronize
+ - labeled
+ - assigned
+ - unlabeled
+ - unlocked
+ - review_requested
+ - review_request_removed
+ - unassigned
env:
COVERAGE: '1'
- php_extensions: 'apcu, bcmath, ctype, curl, dom, iconv, intl, json, mbstring, opcache, openssl, pdo, pdo_pgsql, pcntl, pcov, posix, redis, session, simplexml, sockets, tokenizer, xml, xmlwriter, zip'
+ php_extensions: 'apcu, bcmath, ctype, curl, dom, iconv, intl, json, mbstring, opcache, openssl, pdo, pdo_pgsql, pcntl, pcov, posix, redis, session, simplexml, sockets, tokenizer, xml, xmlwriter, zip, xdebug'
key: cache-v0.1
DB_USER: 'postgres'
- DB_NAME: 'testing'
+ DB_NAME: 'postgres'
DB_PASSWORD: 'postgres'
+ DB_HOST: '127.0.0.1'
-jobs:
+jobs:
lint:
runs-on: '${{ matrix.operating_system }}'
- timeout-minutes: 20
- strategy:
+ timeout-minutes: 20
+ strategy:
matrix:
operating_system:
- ubuntu-latest
php_versions:
- - '7.4'
+ - '8.3'
fail-fast: false
- env:
+ env:
PHP_CS_FIXER_FUTURE_MODE: '0'
- name: 'Lint PHP'
- steps:
+ name: 'Linter PHP'
+ steps:
- name: 'Checkout'
uses: actions/checkout@v2
- name: 'Setup cache environment'
@@ -43,11 +58,11 @@ jobs:
key: '${{ steps.cache-env.outputs.key }}'
restore-keys: '${{ steps.cache-env.outputs.key }}'
- name: 'Setup PHP'
- uses: shivammathur/setup-php@v2
- with:
+ uses: shivammathur/setup-php@v2
+ with:
php-version: ${{ matrix.php_versions }}
extensions: '${{ env.php_extensions }}'
- ini-values: memory_limit=-1
+ ini-values: memory_limit=-1
tools: pecl, composer
coverage: none
- name: 'Setup problem matchers for PHP (aka PHP error logs)'
@@ -55,65 +70,30 @@ jobs:
- name: 'Setup problem matchers for PHPUnit'
run: 'echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"'
- name: 'Install PHP dependencies with Composer'
- run: |
- rm composer.lock
- composer install --prefer-dist --no-progress --no-suggest --optimize-autoloader
+ run: COMPOSER_MEMORY_LIMIT=-1 composer install --prefer-dist --no-progress --no-suggest --optimize-autoloader
working-directory: './'
- name: 'Linting PHP source files'
- run: 'vendor/bin/ecs check --config=ecs.yml .'
+ run: 'vendor/bin/ecs check --config=ecs.php .'
test:
strategy:
fail-fast: false
matrix:
- exclude_group:
- - WithoutSchema,forPHP8
- experimental:
- - false
- operating_system:
- - ubuntu-latest
- postgres:
- - '10'
- - '11'
- - '12'
- php_versions:
- - '7.3'
- - '7.4'
+ coverage: [true]
+ experimental: [false]
+ operating_system: [ubuntu-latest]
+ postgres: ['10', '11', '12', '13', '14']
+ php_versions: ['8.3']
include:
- operating_system: 'ubuntu-latest'
- php_versions: '7.3'
- postgres: '9.6'
- experimental: false
- exclude_group: WithoutSchema,forPHP8
- - operating_system: 'ubuntu-latest'
- php_versions: '7.3'
- postgres: '13'
- experimental: false
- exclude_group: WithoutSchema,forPHP8
- - operating_system: 'ubuntu-latest'
- php_versions: '7.4'
- postgres: '13'
- experimental: false
- exclude_group: WithoutSchema,forPHP8
+ php_versions: '8.3'
+ postgres: '15'
+ coverage: false
+ experimental: true
- operating_system: 'ubuntu-latest'
- php_versions: '8.0'
- postgres: '10'
- experimental: false
- exclude_group: WithoutSchema,forPHP7
- - operating_system: 'ubuntu-latest'
- php_versions: '8.0'
- postgres: '11'
- experimental: false
- exclude_group: WithoutSchema,forPHP7
- - operating_system: 'ubuntu-latest'
- php_versions: '8.0'
- postgres: '12'
- experimental: false
- exclude_group: WithoutSchema,forPHP7
- - operating_system: 'ubuntu-latest'
- php_versions: '8.0'
- postgres: '13'
- experimental: false
- exclude_group: WithoutSchema,forPHP7
+ php_versions: '8.4'
+ postgres: '16'
+ coverage: false
+ experimental: true
runs-on: '${{ matrix.operating_system }}'
services:
postgres:
@@ -126,7 +106,7 @@ jobs:
- 5432:5432
# needed because the postgres container does not provide a healthcheck
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
- name: 'Test / PHP ${{ matrix.php_versions }} / Postgres ${{ matrix.postgres }}'
+ name: 'Testing / PHP ${{ matrix.php_versions }} / Postgres ${{ matrix.postgres }}'
needs:
- lint
steps:
@@ -156,29 +136,30 @@ jobs:
with:
php-version: ${{ matrix.php_versions }}
extensions: ${{ env.php_extensions }}
- ini-values: 'pcov.directory=src, date.timezone=UTC, upload_max_filesize=20M, post_max_size=20M, memory_limit=512M, short_open_tag=Off'
- coverage: pcov
+ ini-values: 'date.timezone=UTC, upload_max_filesize=20M, post_max_size=20M, memory_limit=512M, short_open_tag=Off, xdebug.mode="develop,coverage"'
+ coverage: xdebug
tools: 'phpunit'
- name: 'Install PHP dependencies with Composer'
continue-on-error: ${{ matrix.experimental }}
- run: |
- rm composer.lock
- composer install --prefer-dist --no-progress --no-suggest --optimize-autoloader
+ run: COMPOSER_MEMORY_LIMIT=-1 composer install --prefer-dist --no-progress --no-suggest --optimize-autoloader
working-directory: './'
- name: 'Run Unit Tests with PHPUnit'
continue-on-error: ${{ matrix.experimental }}
- env:
- # use localhost for the host here because we are running the job on the VM.
- # If we were running the job on in a container this would be postgres
- POSTGRES_USER: ${{ env.DB_USER }}
- POSTGRES_PASSWORD: ${{ env.DB_PASSWORD }}
- POSTGRES_DB: ${{ env.DB_NAME }}
- POSTGRES_HOST: 127.0.0.1
- POSTGRES_PORT: 5432
- run: './vendor/bin/phpunit --verbose --stderr --configuration phpunit.github.xml --exclude-group ${{ matrix.exclude_group }} --coverage-clover build/logs/clover.xml --coverage-text'
+ run: |
+ php -v
+ sed -e "s/\${USERNAME}/${{ env.DB_USER }}/" \
+ -e "s/\${PASSWORD}/${{ env.DB_PASSWORD }}/" \
+ -e "s/\${DATABASE}/${{ env.DB_NAME }}/" \
+ -e "s/\${HOST}/${{ env.DB_HOST }}/" \
+ phpunit.xml.dist > phpunit.xml
+ ./vendor/bin/phpunit \
+ --stderr \
+ --coverage-clover build/logs/clover.xml \
+ --coverage-text
+ cat build/logs/clover.xml
working-directory: './'
- name: Upload coverage results to Coveralls
- if: ${{ !matrix.experimental }}
+ if: ${{ !matrix.experimental && matrix.coverage }}
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_PARALLEL: true
diff --git a/.gitignore b/.gitignore
index 5ed27c6..6a8d4eb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,6 @@
.ecs_cache
phpunit.xml
.phpunit.result.cache
+.phpunit.cache
+composer.lock
/build
diff --git a/.run/Functional.run.xml b/.run/Functional.run.xml
new file mode 100644
index 0000000..567a2ad
--- /dev/null
+++ b/.run/Functional.run.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/Tests .run.xml b/.run/Tests .run.xml
new file mode 100644
index 0000000..5d322b5
--- /dev/null
+++ b/.run/Tests .run.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.run/Unit.run.xml b/.run/Unit.run.xml
new file mode 100644
index 0000000..2a94904
--- /dev/null
+++ b/.run/Unit.run.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index eb0f102..c7ce467 100644
--- a/README.md
+++ b/README.md
@@ -6,15 +6,16 @@
[![Total Downloads](https://poser.pugx.org/umbrellio/laravel-pg-extensions/downloads.png)](https://packagist.org/packages/umbrellio/laravel-pg-extensions)
[![Code Intelligence Status](https://scrutinizer-ci.com/g/umbrellio/laravel-pg-extensions/badges/code-intelligence.svg?b=master)](https://scrutinizer-ci.com/code-intelligence)
[![Build Status](https://scrutinizer-ci.com/g/umbrellio/laravel-pg-extensions/badges/build.png?b=master)](https://scrutinizer-ci.com/g/umbrellio/laravel-pg-extensions/build-status/master)
+[![Code Coverage](https://scrutinizer-ci.com/g/umbrellio/laravel-pg-extensions/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/umbrellio/laravel-pg-extensions/?branch=master)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/umbrellio/laravel-pg-extensions/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/umbrellio/laravel-pg-extensions/?branch=master)
-This project extends Laravel`s database layer to allow use specific Postgres features without raw queries.
+This project extends Laravel's database layer to allow use specific Postgres features without raw queries.
## Installation
Run this command to install:
```bash
-php composer.phar require umbrellio/laravel-pg-extensions
+composer require umbrellio/laravel-pg-extensions
```
## Features
@@ -28,6 +29,7 @@ php composer.phar require umbrellio/laravel-pg-extensions
- [Working with CHECK constraints](#check-constraints-creation)
- [Working with partitions](#partitions)
- [Check existing index before manipulation](#check-existing-index)
+ - [Getting foreign keys for table](#get-foreign-keys)
### Extended table creation
@@ -73,6 +75,21 @@ Schema::create('users', function (Blueprint $table) {
});
```
+### Get foreign keys
+
+Example:
+```php
+// Facade methods:
+/** @var ForeignKeyDefinition[] $fks */
+$fks = Schema::getForeignKeys('some_table');
+
+foreach ($fks as $fk) {
+ // $fk->source_column_name
+ // $fk->target_table_name
+ // $fk->target_column_name
+}
+```
+
### Extended unique indexes creation
Example:
@@ -144,7 +161,7 @@ Schema::create('table', function (Blueprint $table) {
$table->date('date_end');
$table
->check(['date_start', 'date_end'])
- ->whereColumn('date_end', '>', 'date_end')
+ ->whereColumn('date_end', '>', 'date_start')
->whereIn('type_id', [1, 2, 3]);
});
```
diff --git a/build/logs/clover.xml b/build/logs/clover.xml
new file mode 100644
index 0000000..0f79eb6
--- /dev/null
+++ b/build/logs/clover.xml
@@ -0,0 +1,843 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/composer.json b/composer.json
index a0857ca..1eb794f 100644
--- a/composer.json
+++ b/composer.json
@@ -28,20 +28,26 @@
"umbrellio/laravel-ltree": "Package for working with Postgres LTree extension",
"umbrellio/laravel-common-objects": "Package with helpers for common Laravel components"
},
+ "support": {
+ "issues": "https://github.com/umbrellio/laravel-pg-extensions/issues",
+ "source": "https://github.com/umbrellio/laravel-pg-extensions"
+ },
"require": {
- "php": "^7.2|^7.3|^7.4|^8.0",
- "doctrine/dbal": "2.9.*|^3.0",
- "laravel/framework": "^5.8|^6.0|^7.0|^8.0"
+ "ext-pdo": "*",
+ "php": "^8.3|^8.4",
+ "doctrine/dbal": "3.6.*",
+ "laravel/framework": "^11.0"
},
"require-dev": {
- "umbrellio/code-style-php": "^1.0",
- "orchestra/testbench": "^3.5|^6.0",
- "php-coveralls/php-coveralls": "^2.1",
- "codeception/codeception": "^3.0|^4.0"
+ "umbrellio/code-style-php": "^1.2",
+ "orchestra/testbench": "^9.0",
+ "php-coveralls/php-coveralls": "^2.7",
+ "codeception/codeception": "^5.0",
+ "phpunit/phpunit": "^11.0"
},
"scripts": {
"lint": [
- "ecs check --config=ecs.yml . --fix"
+ "ecs check --config=ecs.php . --fix"
]
},
"autoload": {
diff --git a/composer.lock b/composer.lock
deleted file mode 100644
index 2a0af5a..0000000
--- a/composer.lock
+++ /dev/null
@@ -1,9760 +0,0 @@
-{
- "_readme": [
- "This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
- "This file is @generated automatically"
- ],
- "content-hash": "3baace35edbac8a2bea6b27e286211b9",
- "packages": [
- {
- "name": "brick/math",
- "version": "0.9.1",
- "source": {
- "type": "git",
- "url": "https://github.com/brick/math.git",
- "reference": "283a40c901101e66de7061bd359252c013dcc43c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/brick/math/zipball/283a40c901101e66de7061bd359252c013dcc43c",
- "reference": "283a40c901101e66de7061bd359252c013dcc43c",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "php": "^7.1|^8.0"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.2",
- "phpunit/phpunit": "^7.5.15|^8.5",
- "vimeo/psalm": "^3.5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Brick\\Math\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Arbitrary-precision arithmetic library",
- "keywords": [
- "Arbitrary-precision",
- "BigInteger",
- "BigRational",
- "arithmetic",
- "bigdecimal",
- "bignum",
- "brick",
- "math"
- ],
- "support": {
- "issues": "https://github.com/brick/math/issues",
- "source": "https://github.com/brick/math/tree/master"
- },
- "funding": [
- {
- "url": "https://tidelift.com/funding/github/packagist/brick/math",
- "type": "tidelift"
- }
- ],
- "time": "2020-08-18T23:57:15+00:00"
- },
- {
- "name": "composer/package-versions-deprecated",
- "version": "1.11.99.1",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/package-versions-deprecated.git",
- "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6",
- "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^1.1.0 || ^2.0",
- "php": "^7 || ^8"
- },
- "replace": {
- "ocramius/package-versions": "1.11.99"
- },
- "require-dev": {
- "composer/composer": "^1.9.3 || ^2.0@dev",
- "ext-zip": "^1.13",
- "phpunit/phpunit": "^6.5 || ^7"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "PackageVersions\\Installer",
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PackageVersions\\": "src/PackageVersions"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com"
- },
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be"
- }
- ],
- "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
- "support": {
- "issues": "https://github.com/composer/package-versions-deprecated/issues",
- "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-11T10:22:58+00:00"
- },
- {
- "name": "doctrine/cache",
- "version": "1.10.2",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/cache.git",
- "reference": "13e3381b25847283a91948d04640543941309727"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727",
- "reference": "13e3381b25847283a91948d04640543941309727",
- "shasum": ""
- },
- "require": {
- "php": "~7.1 || ^8.0"
- },
- "conflict": {
- "doctrine/common": ">2.2,<2.4"
- },
- "require-dev": {
- "alcaeus/mongo-php-adapter": "^1.1",
- "doctrine/coding-standard": "^6.0",
- "mongodb/mongodb": "^1.1",
- "phpunit/phpunit": "^7.0",
- "predis/predis": "~1.0"
- },
- "suggest": {
- "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.",
- "homepage": "https://www.doctrine-project.org/projects/cache.html",
- "keywords": [
- "abstraction",
- "apcu",
- "cache",
- "caching",
- "couchdb",
- "memcached",
- "php",
- "redis",
- "xcache"
- ],
- "support": {
- "issues": "https://github.com/doctrine/cache/issues",
- "source": "https://github.com/doctrine/cache/tree/1.10.x"
- },
- "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%2Fcache",
- "type": "tidelift"
- }
- ],
- "time": "2020-07-07T18:54:01+00:00"
- },
- {
- "name": "doctrine/dbal",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/dbal.git",
- "reference": "ee6d1260d5cc20ec506455a585945d7bdb98662c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/ee6d1260d5cc20ec506455a585945d7bdb98662c",
- "reference": "ee6d1260d5cc20ec506455a585945d7bdb98662c",
- "shasum": ""
- },
- "require": {
- "composer/package-versions-deprecated": "^1.11.99",
- "doctrine/cache": "^1.0",
- "doctrine/event-manager": "^1.0",
- "php": "^7.3 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^8.1",
- "jetbrains/phpstorm-stubs": "^2019.1",
- "phpstan/phpstan": "^0.12.40",
- "phpstan/phpstan-strict-rules": "^0.12.2",
- "phpunit/phpunit": "^9.4",
- "psalm/plugin-phpunit": "^0.10.0",
- "symfony/console": "^2.0.5|^3.0|^4.0|^5.0",
- "vimeo/psalm": "^3.17.2"
- },
- "suggest": {
- "symfony/console": "For helpful console commands such as SQL execution and import of files."
- },
- "bin": [
- "bin/doctrine-dbal"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\DBAL\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- }
- ],
- "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.",
- "homepage": "https://www.doctrine-project.org/projects/dbal.html",
- "keywords": [
- "abstraction",
- "database",
- "db2",
- "dbal",
- "mariadb",
- "mssql",
- "mysql",
- "oci8",
- "oracle",
- "pdo",
- "pgsql",
- "postgresql",
- "queryobject",
- "sasql",
- "sql",
- "sqlite",
- "sqlserver",
- "sqlsrv"
- ],
- "support": {
- "issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.0.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-15T18:20:41+00:00"
- },
- {
- "name": "doctrine/event-manager",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/event-manager.git",
- "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f",
- "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "doctrine/common": "<2.9@dev"
- },
- "require-dev": {
- "doctrine/coding-standard": "^6.0",
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\": "lib/Doctrine/Common"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- },
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com"
- }
- ],
- "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.",
- "homepage": "https://www.doctrine-project.org/projects/event-manager.html",
- "keywords": [
- "event",
- "event dispatcher",
- "event manager",
- "event system",
- "events"
- ],
- "support": {
- "issues": "https://github.com/doctrine/event-manager/issues",
- "source": "https://github.com/doctrine/event-manager/tree/1.1.x"
- },
- "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%2Fevent-manager",
- "type": "tidelift"
- }
- ],
- "time": "2020-05-29T18:28:51+00:00"
- },
- {
- "name": "doctrine/inflector",
- "version": "2.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/inflector.git",
- "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210",
- "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^7.0",
- "phpstan/phpstan": "^0.11",
- "phpstan/phpstan-phpunit": "^0.11",
- "phpstan/phpstan-strict-rules": "^0.11",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
- "homepage": "https://www.doctrine-project.org/projects/inflector.html",
- "keywords": [
- "inflection",
- "inflector",
- "lowercase",
- "manipulation",
- "php",
- "plural",
- "singular",
- "strings",
- "uppercase",
- "words"
- ],
- "support": {
- "issues": "https://github.com/doctrine/inflector/issues",
- "source": "https://github.com/doctrine/inflector/tree/2.0.x"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector",
- "type": "tidelift"
- }
- ],
- "time": "2020-05-29T15:13:26+00:00"
- },
- {
- "name": "doctrine/lexer",
- "version": "1.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/lexer.git",
- "reference": "e864bbf5904cb8f5bb334f99209b48018522f042"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042",
- "reference": "e864bbf5904cb8f5bb334f99209b48018522f042",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^6.0",
- "phpstan/phpstan": "^0.11.8",
- "phpunit/phpunit": "^8.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
- "homepage": "https://www.doctrine-project.org/projects/lexer.html",
- "keywords": [
- "annotations",
- "docblock",
- "lexer",
- "parser",
- "php"
- ],
- "support": {
- "issues": "https://github.com/doctrine/lexer/issues",
- "source": "https://github.com/doctrine/lexer/tree/1.2.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%2Flexer",
- "type": "tidelift"
- }
- ],
- "time": "2020-05-25T17:44:05+00:00"
- },
- {
- "name": "dragonmantank/cron-expression",
- "version": "v3.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/dragonmantank/cron-expression.git",
- "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c",
- "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c",
- "shasum": ""
- },
- "require": {
- "php": "^7.2|^8.0",
- "webmozart/assert": "^1.7.0"
- },
- "replace": {
- "mtdowling/cron-expression": "^1.0"
- },
- "require-dev": {
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-webmozart-assert": "^0.12.7",
- "phpunit/phpunit": "^7.0|^8.0|^9.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Cron\\": "src/Cron/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Chris Tankersley",
- "email": "chris@ctankersley.com",
- "homepage": "https://github.com/dragonmantank"
- }
- ],
- "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
- "keywords": [
- "cron",
- "schedule"
- ],
- "support": {
- "issues": "https://github.com/dragonmantank/cron-expression/issues",
- "source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0"
- },
- "funding": [
- {
- "url": "https://github.com/dragonmantank",
- "type": "github"
- }
- ],
- "time": "2020-11-24T19:55:57+00:00"
- },
- {
- "name": "egulias/email-validator",
- "version": "2.1.24",
- "source": {
- "type": "git",
- "url": "https://github.com/egulias/EmailValidator.git",
- "reference": "ca90a3291eee1538cd48ff25163240695bd95448"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ca90a3291eee1538cd48ff25163240695bd95448",
- "reference": "ca90a3291eee1538cd48ff25163240695bd95448",
- "shasum": ""
- },
- "require": {
- "doctrine/lexer": "^1.0.1",
- "php": ">=5.5",
- "symfony/polyfill-intl-idn": "^1.10"
- },
- "require-dev": {
- "dominicsayers/isemail": "^3.0.7",
- "phpunit/phpunit": "^4.8.36|^7.5.15",
- "satooshi/php-coveralls": "^1.0.1"
- },
- "suggest": {
- "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Egulias\\EmailValidator\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Eduardo Gulias Davis"
- }
- ],
- "description": "A library for validating emails against several RFCs",
- "homepage": "https://github.com/egulias/EmailValidator",
- "keywords": [
- "email",
- "emailvalidation",
- "emailvalidator",
- "validation",
- "validator"
- ],
- "support": {
- "issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/2.1.24"
- },
- "funding": [
- {
- "url": "https://github.com/egulias",
- "type": "github"
- }
- ],
- "time": "2020-11-14T15:56:27+00:00"
- },
- {
- "name": "graham-campbell/result-type",
- "version": "v1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/GrahamCampbell/Result-Type.git",
- "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb",
- "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb",
- "shasum": ""
- },
- "require": {
- "php": "^7.0|^8.0",
- "phpoption/phpoption": "^1.7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GrahamCampbell\\ResultType\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "graham@alt-three.com"
- }
- ],
- "description": "An Implementation Of The Result Type",
- "keywords": [
- "Graham Campbell",
- "GrahamCampbell",
- "Result Type",
- "Result-Type",
- "result"
- ],
- "support": {
- "issues": "https://github.com/GrahamCampbell/Result-Type/issues",
- "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type",
- "type": "tidelift"
- }
- ],
- "time": "2020-04-13T13:17:36+00:00"
- },
- {
- "name": "laravel/framework",
- "version": "v8.20.1",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/framework.git",
- "reference": "b5d8573ab16027867eaa1ac148893833434f9b02"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/b5d8573ab16027867eaa1ac148893833434f9b02",
- "reference": "b5d8573ab16027867eaa1ac148893833434f9b02",
- "shasum": ""
- },
- "require": {
- "doctrine/inflector": "^1.4|^2.0",
- "dragonmantank/cron-expression": "^3.0.2",
- "egulias/email-validator": "^2.1.10",
- "ext-json": "*",
- "ext-mbstring": "*",
- "ext-openssl": "*",
- "league/commonmark": "^1.3",
- "league/flysystem": "^1.1",
- "monolog/monolog": "^2.0",
- "nesbot/carbon": "^2.31",
- "opis/closure": "^3.6",
- "php": "^7.3|^8.0",
- "psr/container": "^1.0",
- "psr/simple-cache": "^1.0",
- "ramsey/uuid": "^4.0",
- "swiftmailer/swiftmailer": "^6.0",
- "symfony/console": "^5.1.4",
- "symfony/error-handler": "^5.1.4",
- "symfony/finder": "^5.1.4",
- "symfony/http-foundation": "^5.1.4",
- "symfony/http-kernel": "^5.1.4",
- "symfony/mime": "^5.1.4",
- "symfony/process": "^5.1.4",
- "symfony/routing": "^5.1.4",
- "symfony/var-dumper": "^5.1.4",
- "tijsverkoyen/css-to-inline-styles": "^2.2.2",
- "vlucas/phpdotenv": "^5.2",
- "voku/portable-ascii": "^1.4.8"
- },
- "conflict": {
- "tightenco/collect": "<5.5.33"
- },
- "provide": {
- "psr/container-implementation": "1.0"
- },
- "replace": {
- "illuminate/auth": "self.version",
- "illuminate/broadcasting": "self.version",
- "illuminate/bus": "self.version",
- "illuminate/cache": "self.version",
- "illuminate/collections": "self.version",
- "illuminate/config": "self.version",
- "illuminate/console": "self.version",
- "illuminate/container": "self.version",
- "illuminate/contracts": "self.version",
- "illuminate/cookie": "self.version",
- "illuminate/database": "self.version",
- "illuminate/encryption": "self.version",
- "illuminate/events": "self.version",
- "illuminate/filesystem": "self.version",
- "illuminate/hashing": "self.version",
- "illuminate/http": "self.version",
- "illuminate/log": "self.version",
- "illuminate/macroable": "self.version",
- "illuminate/mail": "self.version",
- "illuminate/notifications": "self.version",
- "illuminate/pagination": "self.version",
- "illuminate/pipeline": "self.version",
- "illuminate/queue": "self.version",
- "illuminate/redis": "self.version",
- "illuminate/routing": "self.version",
- "illuminate/session": "self.version",
- "illuminate/support": "self.version",
- "illuminate/testing": "self.version",
- "illuminate/translation": "self.version",
- "illuminate/validation": "self.version",
- "illuminate/view": "self.version"
- },
- "require-dev": {
- "aws/aws-sdk-php": "^3.155",
- "doctrine/dbal": "^2.6|^3.0",
- "filp/whoops": "^2.8",
- "guzzlehttp/guzzle": "^6.5.5|^7.0.1",
- "league/flysystem-cached-adapter": "^1.0",
- "mockery/mockery": "^1.4.2",
- "orchestra/testbench-core": "^6.8",
- "pda/pheanstalk": "^4.0",
- "phpunit/phpunit": "^8.5.8|^9.3.3",
- "predis/predis": "^1.1.1",
- "symfony/cache": "^5.1.4"
- },
- "suggest": {
- "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).",
- "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).",
- "ext-ftp": "Required to use the Flysystem FTP driver.",
- "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().",
- "ext-memcached": "Required to use the memcache cache driver.",
- "ext-pcntl": "Required to use all features of the queue worker.",
- "ext-posix": "Required to use all features of the queue worker.",
- "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).",
- "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
- "filp/whoops": "Required for friendly error pages in development (^2.8).",
- "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).",
- "laravel/tinker": "Required to use the tinker console command (^2.0).",
- "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).",
- "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).",
- "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
- "mockery/mockery": "Required to use mocking (^1.4.2).",
- "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
- "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
- "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).",
- "predis/predis": "Required to use the predis connector (^1.1.2).",
- "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
- "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).",
- "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).",
- "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).",
- "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).",
- "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)."
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.x-dev"
- }
- },
- "autoload": {
- "files": [
- "src/Illuminate/Collections/helpers.php",
- "src/Illuminate/Events/functions.php",
- "src/Illuminate/Foundation/helpers.php",
- "src/Illuminate/Support/helpers.php"
- ],
- "psr-4": {
- "Illuminate\\": "src/Illuminate/",
- "Illuminate\\Support\\": [
- "src/Illuminate/Macroable/",
- "src/Illuminate/Collections/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "The Laravel Framework.",
- "homepage": "https://laravel.com",
- "keywords": [
- "framework",
- "laravel"
- ],
- "support": {
- "issues": "https://github.com/laravel/framework/issues",
- "source": "https://github.com/laravel/framework"
- },
- "time": "2020-12-22T21:21:19+00:00"
- },
- {
- "name": "league/commonmark",
- "version": "1.5.7",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/commonmark.git",
- "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54",
- "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54",
- "shasum": ""
- },
- "require": {
- "ext-mbstring": "*",
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "scrutinizer/ocular": "1.7.*"
- },
- "require-dev": {
- "cebe/markdown": "~1.0",
- "commonmark/commonmark.js": "0.29.2",
- "erusev/parsedown": "~1.0",
- "ext-json": "*",
- "github/gfm": "0.29.0",
- "michelf/php-markdown": "~1.4",
- "mikehaertl/php-shellcommand": "^1.4",
- "phpstan/phpstan": "^0.12",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2",
- "scrutinizer/ocular": "^1.5",
- "symfony/finder": "^4.2"
- },
- "bin": [
- "bin/commonmark"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "League\\CommonMark\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Colin O'Dell",
- "email": "colinodell@gmail.com",
- "homepage": "https://www.colinodell.com",
- "role": "Lead Developer"
- }
- ],
- "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)",
- "homepage": "https://commonmark.thephpleague.com",
- "keywords": [
- "commonmark",
- "flavored",
- "gfm",
- "github",
- "github-flavored",
- "markdown",
- "md",
- "parser"
- ],
- "support": {
- "docs": "https://commonmark.thephpleague.com/",
- "issues": "https://github.com/thephpleague/commonmark/issues",
- "rss": "https://github.com/thephpleague/commonmark/releases.atom",
- "source": "https://github.com/thephpleague/commonmark"
- },
- "funding": [
- {
- "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark",
- "type": "custom"
- },
- {
- "url": "https://www.colinodell.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://www.paypal.me/colinpodell/10.00",
- "type": "custom"
- },
- {
- "url": "https://github.com/colinodell",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/colinodell",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/league/commonmark",
- "type": "tidelift"
- }
- ],
- "time": "2020-10-31T13:49:32+00:00"
- },
- {
- "name": "league/flysystem",
- "version": "1.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/flysystem.git",
- "reference": "9be3b16c877d477357c015cec057548cf9b2a14a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a",
- "reference": "9be3b16c877d477357c015cec057548cf9b2a14a",
- "shasum": ""
- },
- "require": {
- "ext-fileinfo": "*",
- "league/mime-type-detection": "^1.3",
- "php": "^7.2.5 || ^8.0"
- },
- "conflict": {
- "league/flysystem-sftp": "<1.0.6"
- },
- "require-dev": {
- "phpspec/prophecy": "^1.11.1",
- "phpunit/phpunit": "^8.5.8"
- },
- "suggest": {
- "ext-fileinfo": "Required for MimeType",
- "ext-ftp": "Allows you to use FTP server storage",
- "ext-openssl": "Allows you to use FTPS server storage",
- "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
- "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
- "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
- "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
- "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
- "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
- "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
- "league/flysystem-webdav": "Allows you to use WebDAV storage",
- "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
- "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
- "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Flysystem\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Frank de Jonge",
- "email": "info@frenky.net"
- }
- ],
- "description": "Filesystem abstraction: Many filesystems, one API.",
- "keywords": [
- "Cloud Files",
- "WebDAV",
- "abstraction",
- "aws",
- "cloud",
- "copy.com",
- "dropbox",
- "file systems",
- "files",
- "filesystem",
- "filesystems",
- "ftp",
- "rackspace",
- "remote",
- "s3",
- "sftp",
- "storage"
- ],
- "support": {
- "issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/1.x"
- },
- "funding": [
- {
- "url": "https://offset.earth/frankdejonge",
- "type": "other"
- }
- ],
- "time": "2020-08-23T07:39:11+00:00"
- },
- {
- "name": "league/mime-type-detection",
- "version": "1.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/mime-type-detection.git",
- "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/353f66d7555d8a90781f6f5e7091932f9a4250aa",
- "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa",
- "shasum": ""
- },
- "require": {
- "ext-fileinfo": "*",
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^0.12.36",
- "phpunit/phpunit": "^8.5.8"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "League\\MimeTypeDetection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Frank de Jonge",
- "email": "info@frankdejonge.nl"
- }
- ],
- "description": "Mime-type detection for Flysystem",
- "support": {
- "issues": "https://github.com/thephpleague/mime-type-detection/issues",
- "source": "https://github.com/thephpleague/mime-type-detection/tree/1.5.1"
- },
- "funding": [
- {
- "url": "https://github.com/frankdejonge",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
- "type": "tidelift"
- }
- ],
- "time": "2020-10-18T11:50:25+00:00"
- },
- {
- "name": "monolog/monolog",
- "version": "2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Seldaek/monolog.git",
- "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
- "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2",
- "psr/log": "^1.0.1"
- },
- "provide": {
- "psr/log-implementation": "1.0.0"
- },
- "require-dev": {
- "aws/aws-sdk-php": "^2.4.9 || ^3.0",
- "doctrine/couchdb": "~1.0@dev",
- "elasticsearch/elasticsearch": "^7",
- "graylog2/gelf-php": "^1.4.2",
- "mongodb/mongodb": "^1.8",
- "php-amqplib/php-amqplib": "~2.4",
- "php-console/php-console": "^3.1.3",
- "phpspec/prophecy": "^1.6.1",
- "phpstan/phpstan": "^0.12.59",
- "phpunit/phpunit": "^8.5",
- "predis/predis": "^1.1",
- "rollbar/rollbar": "^1.3",
- "ruflin/elastica": ">=0.90 <7.0.1",
- "swiftmailer/swiftmailer": "^5.3|^6.0"
- },
- "suggest": {
- "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
- "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
- "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
- "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-mbstring": "Allow to work properly with unicode symbols",
- "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
- "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
- "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
- "php-console/php-console": "Allow sending log messages to Google Chrome",
- "rollbar/rollbar": "Allow sending log messages to Rollbar",
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Monolog\\": "src/Monolog"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "https://seld.be"
- }
- ],
- "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "https://github.com/Seldaek/monolog",
- "keywords": [
- "log",
- "logging",
- "psr-3"
- ],
- "support": {
- "issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.2.0"
- },
- "funding": [
- {
- "url": "https://github.com/Seldaek",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-14T13:15:25+00:00"
- },
- {
- "name": "nesbot/carbon",
- "version": "2.43.0",
- "source": {
- "type": "git",
- "url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "d32c57d8389113742f4a88725a170236470012e2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d32c57d8389113742f4a88725a170236470012e2",
- "reference": "d32c57d8389113742f4a88725a170236470012e2",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "php": "^7.1.8 || ^8.0",
- "symfony/polyfill-mbstring": "^1.0",
- "symfony/translation": "^3.4 || ^4.0 || ^5.0"
- },
- "require-dev": {
- "doctrine/orm": "^2.7",
- "friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
- "kylekatarnls/multi-tester": "^2.0",
- "phpmd/phpmd": "^2.9",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12.54",
- "phpunit/phpunit": "^7.5 || ^8.0",
- "squizlabs/php_codesniffer": "^3.4"
- },
- "bin": [
- "bin/carbon"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.x-dev",
- "dev-3.x": "3.x-dev"
- },
- "laravel": {
- "providers": [
- "Carbon\\Laravel\\ServiceProvider"
- ]
- },
- "phpstan": {
- "includes": [
- "extension.neon"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Carbon\\": "src/Carbon/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Brian Nesbitt",
- "email": "brian@nesbot.com",
- "homepage": "http://nesbot.com"
- },
- {
- "name": "kylekatarnls",
- "homepage": "http://github.com/kylekatarnls"
- }
- ],
- "description": "An API extension for DateTime that supports 281 different languages.",
- "homepage": "http://carbon.nesbot.com",
- "keywords": [
- "date",
- "datetime",
- "time"
- ],
- "support": {
- "issues": "https://github.com/briannesbitt/Carbon/issues",
- "source": "https://github.com/briannesbitt/Carbon"
- },
- "funding": [
- {
- "url": "https://opencollective.com/Carbon",
- "type": "open_collective"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-17T20:55:32+00:00"
- },
- {
- "name": "opis/closure",
- "version": "3.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/opis/closure.git",
- "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5",
- "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5",
- "shasum": ""
- },
- "require": {
- "php": "^5.4 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "jeremeamia/superclosure": "^2.0",
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.6.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Opis\\Closure\\": "src/"
- },
- "files": [
- "functions.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marius Sarca",
- "email": "marius.sarca@gmail.com"
- },
- {
- "name": "Sorin Sarca",
- "email": "sarca_sorin@hotmail.com"
- }
- ],
- "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.",
- "homepage": "https://opis.io/closure",
- "keywords": [
- "anonymous functions",
- "closure",
- "function",
- "serializable",
- "serialization",
- "serialize"
- ],
- "support": {
- "issues": "https://github.com/opis/closure/issues",
- "source": "https://github.com/opis/closure/tree/3.6.1"
- },
- "time": "2020-11-07T02:01:34+00:00"
- },
- {
- "name": "phpoption/phpoption",
- "version": "1.7.5",
- "source": {
- "type": "git",
- "url": "https://github.com/schmittjoh/php-option.git",
- "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525",
- "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525",
- "shasum": ""
- },
- "require": {
- "php": "^5.5.9 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
- "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.7-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PhpOption\\": "src/PhpOption/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache-2.0"
- ],
- "authors": [
- {
- "name": "Johannes M. Schmitt",
- "email": "schmittjoh@gmail.com"
- },
- {
- "name": "Graham Campbell",
- "email": "graham@alt-three.com"
- }
- ],
- "description": "Option Type for PHP",
- "keywords": [
- "language",
- "option",
- "php",
- "type"
- ],
- "support": {
- "issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.7.5"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
- "type": "tidelift"
- }
- ],
- "time": "2020-07-20T17:29:33+00:00"
- },
- {
- "name": "psr/container",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Container\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
- "keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
- ],
- "support": {
- "issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/master"
- },
- "time": "2017-02-14T16:28:37+00:00"
- },
- {
- "name": "psr/event-dispatcher",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/event-dispatcher.git",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\EventDispatcher\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Standard interfaces for event handling.",
- "keywords": [
- "events",
- "psr",
- "psr-14"
- ],
- "support": {
- "issues": "https://github.com/php-fig/event-dispatcher/issues",
- "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
- },
- "time": "2019-01-08T18:20:26+00:00"
- },
- {
- "name": "psr/log",
- "version": "1.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "Psr/Log/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
- "support": {
- "source": "https://github.com/php-fig/log/tree/1.1.3"
- },
- "time": "2020-03-23T09:12:05+00:00"
- },
- {
- "name": "psr/simple-cache",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/simple-cache.git",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\SimpleCache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interfaces for simple caching",
- "keywords": [
- "cache",
- "caching",
- "psr",
- "psr-16",
- "simple-cache"
- ],
- "support": {
- "source": "https://github.com/php-fig/simple-cache/tree/master"
- },
- "time": "2017-10-23T01:57:42+00:00"
- },
- {
- "name": "ramsey/collection",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/ramsey/collection.git",
- "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ramsey/collection/zipball/24d93aefb2cd786b7edd9f45b554aea20b28b9b1",
- "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8"
- },
- "require-dev": {
- "captainhook/captainhook": "^5.3",
- "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
- "ergebnis/composer-normalize": "^2.6",
- "fzaninotto/faker": "^1.5",
- "hamcrest/hamcrest-php": "^2",
- "jangregor/phpstan-prophecy": "^0.6",
- "mockery/mockery": "^1.3",
- "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",
- "psy/psysh": "^0.10.4",
- "slevomat/coding-standard": "^6.3",
- "squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "^3.12.2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Ramsey\\Collection\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ben Ramsey",
- "email": "ben@benramsey.com",
- "homepage": "https://benramsey.com"
- }
- ],
- "description": "A PHP 7.2+ library for representing and manipulating collections.",
- "keywords": [
- "array",
- "collection",
- "hash",
- "map",
- "queue",
- "set"
- ],
- "support": {
- "issues": "https://github.com/ramsey/collection/issues",
- "source": "https://github.com/ramsey/collection/tree/1.1.1"
- },
- "funding": [
- {
- "url": "https://github.com/ramsey",
- "type": "github"
- }
- ],
- "time": "2020-09-10T20:58:17+00:00"
- },
- {
- "name": "ramsey/uuid",
- "version": "4.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/ramsey/uuid.git",
- "reference": "cd4032040a750077205918c86049aa0f43d22947"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947",
- "reference": "cd4032040a750077205918c86049aa0f43d22947",
- "shasum": ""
- },
- "require": {
- "brick/math": "^0.8 || ^0.9",
- "ext-json": "*",
- "php": "^7.2 || ^8",
- "ramsey/collection": "^1.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "replace": {
- "rhumsaa/uuid": "self.version"
- },
- "require-dev": {
- "codeception/aspect-mock": "^3",
- "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0",
- "doctrine/annotations": "^1.8",
- "goaop/framework": "^2",
- "mockery/mockery": "^1.3",
- "moontoast/math": "^1.1",
- "paragonie/random-lib": "^2",
- "php-mock/php-mock-mockery": "^1.3",
- "php-mock/php-mock-phpunit": "^2.5",
- "php-parallel-lint/php-parallel-lint": "^1.1",
- "phpbench/phpbench": "^0.17.1",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-mockery": "^0.12",
- "phpstan/phpstan-phpunit": "^0.12",
- "phpunit/phpunit": "^8.5",
- "psy/psysh": "^0.10.0",
- "slevomat/coding-standard": "^6.0",
- "squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "3.9.4"
- },
- "suggest": {
- "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
- "ext-ctype": "Enables faster processing of character classification using ctype functions.",
- "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.",
- "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.",
- "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
- "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Ramsey\\Uuid\\": "src/"
- },
- "files": [
- "src/functions.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
- "homepage": "https://github.com/ramsey/uuid",
- "keywords": [
- "guid",
- "identifier",
- "uuid"
- ],
- "support": {
- "issues": "https://github.com/ramsey/uuid/issues",
- "rss": "https://github.com/ramsey/uuid/releases.atom",
- "source": "https://github.com/ramsey/uuid"
- },
- "funding": [
- {
- "url": "https://github.com/ramsey",
- "type": "github"
- }
- ],
- "time": "2020-08-18T17:17:46+00:00"
- },
- {
- "name": "swiftmailer/swiftmailer",
- "version": "v6.2.4",
- "source": {
- "type": "git",
- "url": "https://github.com/swiftmailer/swiftmailer.git",
- "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e",
- "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e",
- "shasum": ""
- },
- "require": {
- "egulias/email-validator": "^2.0",
- "php": ">=7.0.0",
- "symfony/polyfill-iconv": "^1.0",
- "symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.0",
- "symfony/phpunit-bridge": "^4.4|^5.0"
- },
- "suggest": {
- "ext-intl": "Needed to support internationalized email addresses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.2-dev"
- }
- },
- "autoload": {
- "files": [
- "lib/swift_required.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Chris Corbyn"
- },
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- }
- ],
- "description": "Swiftmailer, free feature-rich PHP mailer",
- "homepage": "https://swiftmailer.symfony.com",
- "keywords": [
- "email",
- "mail",
- "mailer"
- ],
- "support": {
- "issues": "https://github.com/swiftmailer/swiftmailer/issues",
- "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.4"
- },
- "funding": [
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-08T18:02:06+00:00"
- },
- {
- "name": "symfony/console",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "47c02526c532fb381374dab26df05e7313978976"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976",
- "reference": "47c02526c532fb381374dab26df05e7313978976",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.8",
- "symfony/polyfill-php80": "^1.15",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/string": "^5.1"
- },
- "conflict": {
- "symfony/dependency-injection": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/event-dispatcher": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/process": "<4.4"
- },
- "provide": {
- "psr/log-implementation": "1.0"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/event-dispatcher": "^4.4|^5.0",
- "symfony/lock": "^4.4|^5.0",
- "symfony/process": "^4.4|^5.0",
- "symfony/var-dumper": "^4.4|^5.0"
- },
- "suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Console\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Console Component",
- "homepage": "https://symfony.com",
- "keywords": [
- "cli",
- "command line",
- "console",
- "terminal"
- ],
- "support": {
- "source": "https://github.com/symfony/console/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-18T08:03:05+00:00"
- },
- {
- "name": "symfony/css-selector",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/css-selector.git",
- "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/f789e7ead4c79e04ca9a6d6162fc629c89bd8054",
- "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\CssSelector\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Jean-François Simon",
- "email": "jeanfrancois.simon@sensiolabs.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony CssSelector Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/css-selector/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-08T17:02:38+00:00"
- },
- {
- "name": "symfony/deprecation-contracts",
- "version": "v2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "files": [
- "function.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "A generic function and convention to trigger deprecation notices",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/master"
- },
- "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": "2020-09-07T11:33:47+00:00"
- },
- {
- "name": "symfony/error-handler",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/error-handler.git",
- "reference": "59b190ce16ddf32771a22087b60f6dafd3407147"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/59b190ce16ddf32771a22087b60f6dafd3407147",
- "reference": "59b190ce16ddf32771a22087b60f6dafd3407147",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/log": "^1.0",
- "symfony/polyfill-php80": "^1.15",
- "symfony/var-dumper": "^4.4|^5.0"
- },
- "require-dev": {
- "symfony/deprecation-contracts": "^2.1",
- "symfony/http-kernel": "^4.4|^5.0",
- "symfony/serializer": "^4.4|^5.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\ErrorHandler\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony ErrorHandler Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-09T18:54:12+00:00"
- },
- {
- "name": "symfony/event-dispatcher",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "1c93f7a1dff592c252574c79a8635a8a80856042"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1c93f7a1dff592c252574c79a8635a8a80856042",
- "reference": "1c93f7a1dff592c252574c79a8635a8a80856042",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/event-dispatcher-contracts": "^2",
- "symfony/polyfill-php80": "^1.15"
- },
- "conflict": {
- "symfony/dependency-injection": "<4.4"
- },
- "provide": {
- "psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "2.0"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/error-handler": "^4.4|^5.0",
- "symfony/expression-language": "^4.4|^5.0",
- "symfony/http-foundation": "^4.4|^5.0",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/stopwatch": "^4.4|^5.0"
- },
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\EventDispatcher\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony EventDispatcher Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-18T08:03:05+00:00"
- },
- {
- "name": "symfony/event-dispatcher-contracts",
- "version": "v2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2",
- "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/event-dispatcher": "^1"
- },
- "suggest": {
- "symfony/event-dispatcher-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\EventDispatcher\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to dispatching event",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.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": "2020-09-07T11:33:47+00:00"
- },
- {
- "name": "symfony/finder",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/0b9231a5922fd7287ba5b411893c0ecd2733e5ba",
- "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Finder\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Finder Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/finder/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-08T17:02:38+00:00"
- },
- {
- "name": "symfony/http-client-contracts",
- "version": "v2.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "41db680a15018f9c1d4b23516059633ce280ca33"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33",
- "reference": "41db680a15018f9c1d4b23516059633ce280ca33",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5"
- },
- "suggest": {
- "symfony/http-client-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-version": "2.3",
- "branch-alias": {
- "dev-main": "2.3-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\HttpClient\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to HTTP clients",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.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": "2020-10-14T17:08:19+00:00"
- },
- {
- "name": "symfony/http-foundation",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-foundation.git",
- "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a1f6218b29897ab52acba58cfa905b83625bef8d",
- "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.15"
- },
- "require-dev": {
- "predis/predis": "~1.0",
- "symfony/cache": "^4.4|^5.0",
- "symfony/expression-language": "^4.4|^5.0",
- "symfony/mime": "^4.4|^5.0"
- },
- "suggest": {
- "symfony/mime": "To use the file extension guesser"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\HttpFoundation\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony HttpFoundation Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-18T10:00:10+00:00"
- },
- {
- "name": "symfony/http-kernel",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-kernel.git",
- "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1feb619286d819180f7b8bc0dc44f516d9c62647",
- "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/log": "~1.0",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/error-handler": "^4.4|^5.0",
- "symfony/event-dispatcher": "^5.0",
- "symfony/http-client-contracts": "^1.1|^2",
- "symfony/http-foundation": "^4.4|^5.0",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.15"
- },
- "conflict": {
- "symfony/browser-kit": "<4.4",
- "symfony/cache": "<5.0",
- "symfony/config": "<5.0",
- "symfony/console": "<4.4",
- "symfony/dependency-injection": "<5.1.8",
- "symfony/doctrine-bridge": "<5.0",
- "symfony/form": "<5.0",
- "symfony/http-client": "<5.0",
- "symfony/mailer": "<5.0",
- "symfony/messenger": "<5.0",
- "symfony/translation": "<5.0",
- "symfony/twig-bridge": "<5.0",
- "symfony/validator": "<5.0",
- "twig/twig": "<2.4"
- },
- "provide": {
- "psr/log-implementation": "1.0"
- },
- "require-dev": {
- "psr/cache": "~1.0",
- "symfony/browser-kit": "^4.4|^5.0",
- "symfony/config": "^5.0",
- "symfony/console": "^4.4|^5.0",
- "symfony/css-selector": "^4.4|^5.0",
- "symfony/dependency-injection": "^5.1.8",
- "symfony/dom-crawler": "^4.4|^5.0",
- "symfony/expression-language": "^4.4|^5.0",
- "symfony/finder": "^4.4|^5.0",
- "symfony/process": "^4.4|^5.0",
- "symfony/routing": "^4.4|^5.0",
- "symfony/stopwatch": "^4.4|^5.0",
- "symfony/translation": "^4.4|^5.0",
- "symfony/translation-contracts": "^1.1|^2",
- "twig/twig": "^2.4|^3.0"
- },
- "suggest": {
- "symfony/browser-kit": "",
- "symfony/config": "",
- "symfony/console": "",
- "symfony/dependency-injection": ""
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\HttpKernel\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony HttpKernel Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-18T13:49:39+00:00"
- },
- {
- "name": "symfony/mime",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/mime.git",
- "reference": "de97005aef7426ba008c46ba840fc301df577ada"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/de97005aef7426ba008c46ba840fc301df577ada",
- "reference": "de97005aef7426ba008c46ba840fc301df577ada",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.15"
- },
- "conflict": {
- "symfony/mailer": "<4.4"
- },
- "require-dev": {
- "egulias/email-validator": "^2.1.10",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/property-access": "^4.4|^5.1",
- "symfony/property-info": "^4.4|^5.1",
- "symfony/serializer": "^5.2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Mime\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "A library to manipulate MIME messages",
- "homepage": "https://symfony.com",
- "keywords": [
- "mime",
- "mime-type"
- ],
- "support": {
- "source": "https://github.com/symfony/mime/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-09T18:54:12+00:00"
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41",
- "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/polyfill-iconv",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c536646fdb4f29104dd26effc2fdcb9a5b085024",
- "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-iconv": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Iconv\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Iconv extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "iconv",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-iconv/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/polyfill-intl-grapheme",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c",
- "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's grapheme_* functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "grapheme",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/polyfill-intl-idn",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3b75acd829741c768bc8b1f84eb33265e7cc5117",
- "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1",
- "symfony/polyfill-intl-normalizer": "^1.10",
- "symfony/polyfill-php72": "^1.10"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Idn\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Laurent Bassin",
- "email": "laurent@bassin.info"
- },
- {
- "name": "Trevor Rowbotham",
- "email": "trevor.rowbotham@pm.me"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "idn",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/polyfill-intl-normalizer",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "727d1096295d807c309fb01a851577302394c897"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897",
- "reference": "727d1096295d807c309fb01a851577302394c897",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "intl",
- "normalizer",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/polyfill-mbstring",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "39d483bdf39be819deabf04ec872eb0b2410b531"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531",
- "reference": "39d483bdf39be819deabf04ec872eb0b2410b531",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-mbstring": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Mbstring extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/polyfill-php72",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cede45fcdfabdd6043b3592e83678e42ec69e930",
- "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php72\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/polyfill-php73",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed",
- "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/polyfill-php80",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de",
- "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/process",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/bd8815b8b6705298beaa384f04fabd459c10bedd",
- "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Process Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/process/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-08T17:03:37+00:00"
- },
- {
- "name": "symfony/routing",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/routing.git",
- "reference": "934ac2720dcc878a47a45c986b483a7ee7193620"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/934ac2720dcc878a47a45c986b483a7ee7193620",
- "reference": "934ac2720dcc878a47a45c986b483a7ee7193620",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-php80": "^1.15"
- },
- "conflict": {
- "symfony/config": "<5.0",
- "symfony/dependency-injection": "<4.4",
- "symfony/yaml": "<4.4"
- },
- "require-dev": {
- "doctrine/annotations": "^1.7",
- "psr/log": "~1.0",
- "symfony/config": "^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/expression-language": "^4.4|^5.0",
- "symfony/http-foundation": "^4.4|^5.0",
- "symfony/yaml": "^4.4|^5.0"
- },
- "suggest": {
- "doctrine/annotations": "For using the annotation loader",
- "symfony/config": "For using the all-in-one router or any loader",
- "symfony/expression-language": "For using expression matching",
- "symfony/http-foundation": "For using a Symfony Request object",
- "symfony/yaml": "For using the YAML loader"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Routing\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Routing Component",
- "homepage": "https://symfony.com",
- "keywords": [
- "router",
- "routing",
- "uri",
- "url"
- ],
- "support": {
- "source": "https://github.com/symfony/routing/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-08T17:03:37+00:00"
- },
- {
- "name": "symfony/service-contracts",
- "version": "v2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/service-contracts.git",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/container": "^1.0"
- },
- "suggest": {
- "symfony/service-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Service\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to writing services",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/service-contracts/tree/master"
- },
- "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": "2020-09-07T11:33:47+00:00"
- },
- {
- "name": "symfony/string",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/string.git",
- "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed",
- "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
- "symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
- },
- "require-dev": {
- "symfony/error-handler": "^4.4|^5.0",
- "symfony/http-client": "^4.4|^5.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\String\\": ""
- },
- "files": [
- "Resources/functions.php"
- ],
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony String component",
- "homepage": "https://symfony.com",
- "keywords": [
- "grapheme",
- "i18n",
- "string",
- "unicode",
- "utf-8",
- "utf8"
- ],
- "support": {
- "source": "https://github.com/symfony/string/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-05T07:33:16+00:00"
- },
- {
- "name": "symfony/translation",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/translation.git",
- "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/a04209ba0d1391c828e5b2373181dac63c52ee70",
- "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15",
- "symfony/translation-contracts": "^2.3"
- },
- "conflict": {
- "symfony/config": "<4.4",
- "symfony/dependency-injection": "<5.0",
- "symfony/http-kernel": "<5.0",
- "symfony/twig-bundle": "<5.0",
- "symfony/yaml": "<4.4"
- },
- "provide": {
- "symfony/translation-implementation": "2.0"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "^4.4|^5.0",
- "symfony/console": "^4.4|^5.0",
- "symfony/dependency-injection": "^5.0",
- "symfony/finder": "^4.4|^5.0",
- "symfony/http-kernel": "^5.0",
- "symfony/intl": "^4.4|^5.0",
- "symfony/service-contracts": "^1.1.2|^2",
- "symfony/yaml": "^4.4|^5.0"
- },
- "suggest": {
- "psr/log-implementation": "To use logging capability in translator",
- "symfony/config": "",
- "symfony/yaml": ""
- },
- "type": "library",
- "autoload": {
- "files": [
- "Resources/functions.php"
- ],
- "psr-4": {
- "Symfony\\Component\\Translation\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Translation Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/translation/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-08T17:03:37+00:00"
- },
- {
- "name": "symfony/translation-contracts",
- "version": "v2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/translation-contracts.git",
- "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105",
- "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5"
- },
- "suggest": {
- "symfony/translation-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.3-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Translation\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to translation",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v2.3.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": "2020-09-28T13:05:58+00:00"
- },
- {
- "name": "symfony/var-dumper",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/var-dumper.git",
- "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/13e7e882eaa55863faa7c4ad7c60f12f1a8b5089",
- "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15"
- },
- "conflict": {
- "phpunit/phpunit": "<5.4.3",
- "symfony/console": "<4.4"
- },
- "require-dev": {
- "ext-iconv": "*",
- "symfony/console": "^4.4|^5.0",
- "symfony/process": "^4.4|^5.0",
- "twig/twig": "^2.4|^3.0"
- },
- "suggest": {
- "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
- "ext-intl": "To show region name in time zone dump",
- "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
- },
- "bin": [
- "Resources/bin/var-dump-server"
- ],
- "type": "library",
- "autoload": {
- "files": [
- "Resources/functions/dump.php"
- ],
- "psr-4": {
- "Symfony\\Component\\VarDumper\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony mechanism for exploring and dumping PHP variables",
- "homepage": "https://symfony.com",
- "keywords": [
- "debug",
- "dump"
- ],
- "support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-16T17:02:19+00:00"
- },
- {
- "name": "tijsverkoyen/css-to-inline-styles",
- "version": "2.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
- "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5",
- "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "php": "^5.5 || ^7.0 || ^8.0",
- "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "TijsVerkoyen\\CssToInlineStyles\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Tijs Verkoyen",
- "email": "css_to_inline_styles@verkoyen.eu",
- "role": "Developer"
- }
- ],
- "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
- "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
- "support": {
- "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
- "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3"
- },
- "time": "2020-07-13T06:12:54+00:00"
- },
- {
- "name": "vlucas/phpdotenv",
- "version": "v5.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "fba64139db67123c7a57072e5f8d3db10d160b66"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/fba64139db67123c7a57072e5f8d3db10d160b66",
- "reference": "fba64139db67123c7a57072e5f8d3db10d160b66",
- "shasum": ""
- },
- "require": {
- "ext-pcre": "*",
- "graham-campbell/result-type": "^1.0.1",
- "php": "^7.1.3 || ^8.0",
- "phpoption/phpoption": "^1.7.4",
- "symfony/polyfill-ctype": "^1.17",
- "symfony/polyfill-mbstring": "^1.17",
- "symfony/polyfill-php80": "^1.17"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
- "ext-filter": "*",
- "phpunit/phpunit": "^7.5.20 || ^8.5.2 || ^9.0"
- },
- "suggest": {
- "ext-filter": "Required to use the boolean validator."
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.2-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Dotenv\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "graham@alt-three.com",
- "homepage": "https://gjcampbell.co.uk/"
- },
- {
- "name": "Vance Lucas",
- "email": "vance@vancelucas.com",
- "homepage": "https://vancelucas.com/"
- }
- ],
- "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.2.0"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv",
- "type": "tidelift"
- }
- ],
- "time": "2020-09-14T15:57:31+00:00"
- },
- {
- "name": "voku/portable-ascii",
- "version": "1.5.6",
- "source": {
- "type": "git",
- "url": "https://github.com/voku/portable-ascii.git",
- "reference": "80953678b19901e5165c56752d087fc11526017c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c",
- "reference": "80953678b19901e5165c56752d087fc11526017c",
- "shasum": ""
- },
- "require": {
- "php": ">=7.0.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0"
- },
- "suggest": {
- "ext-intl": "Use Intl for transliterator_transliterate() support"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "voku\\": "src/voku/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Lars Moelleken",
- "homepage": "http://www.moelleken.org/"
- }
- ],
- "description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
- "homepage": "https://github.com/voku/portable-ascii",
- "keywords": [
- "ascii",
- "clean",
- "php"
- ],
- "support": {
- "issues": "https://github.com/voku/portable-ascii/issues",
- "source": "https://github.com/voku/portable-ascii/tree/1.5.6"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/moelleken",
- "type": "custom"
- },
- {
- "url": "https://github.com/voku",
- "type": "github"
- },
- {
- "url": "https://opencollective.com/portable-ascii",
- "type": "open_collective"
- },
- {
- "url": "https://www.patreon.com/voku",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-12T00:07:28+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.9.1",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozart/assert.git",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0 || ^8.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<3.9.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^7.5.13"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "support": {
- "issues": "https://github.com/webmozart/assert/issues",
- "source": "https://github.com/webmozart/assert/tree/master"
- },
- "time": "2020-07-08T17:02:28+00:00"
- }
- ],
- "packages-dev": [
- {
- "name": "behat/gherkin",
- "version": "v4.6.2",
- "source": {
- "type": "git",
- "url": "https://github.com/Behat/Gherkin.git",
- "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Behat/Gherkin/zipball/51ac4500c4dc30cbaaabcd2f25694299df666a31",
- "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.1"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.5|~5",
- "symfony/phpunit-bridge": "~2.7|~3|~4",
- "symfony/yaml": "~2.3|~3|~4"
- },
- "suggest": {
- "symfony/yaml": "If you want to parse features, represented in YAML files"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Behat\\Gherkin": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- }
- ],
- "description": "Gherkin DSL parser for PHP 5.3",
- "homepage": "http://behat.org/",
- "keywords": [
- "BDD",
- "Behat",
- "Cucumber",
- "DSL",
- "gherkin",
- "parser"
- ],
- "support": {
- "issues": "https://github.com/Behat/Gherkin/issues",
- "source": "https://github.com/Behat/Gherkin/tree/master"
- },
- "time": "2020-03-17T14:03:26+00:00"
- },
- {
- "name": "codeception/codeception",
- "version": "4.1.13",
- "source": {
- "type": "git",
- "url": "https://github.com/Codeception/Codeception.git",
- "reference": "e817f83fe019ed3f9c280254b88f90cc70c3d7cf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Codeception/Codeception/zipball/e817f83fe019ed3f9c280254b88f90cc70c3d7cf",
- "reference": "e817f83fe019ed3f9c280254b88f90cc70c3d7cf",
- "shasum": ""
- },
- "require": {
- "behat/gherkin": "^4.4.0",
- "codeception/lib-asserts": "^1.0",
- "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.1 | ^9.0",
- "codeception/stub": "^2.0 | ^3.0",
- "ext-curl": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "guzzlehttp/psr7": "~1.4",
- "php": ">=5.6.0 <9.0",
- "symfony/console": ">=2.7 <6.0",
- "symfony/css-selector": ">=2.7 <6.0",
- "symfony/event-dispatcher": ">=2.7 <6.0",
- "symfony/finder": ">=2.7 <6.0",
- "symfony/yaml": ">=2.7 <6.0"
- },
- "require-dev": {
- "codeception/module-asserts": "*@dev",
- "codeception/module-cli": "*@dev",
- "codeception/module-db": "*@dev",
- "codeception/module-filesystem": "*@dev",
- "codeception/module-phpbrowser": "*@dev",
- "codeception/specify": "~0.3",
- "codeception/util-universalframework": "*@dev",
- "monolog/monolog": "~1.8",
- "squizlabs/php_codesniffer": "~2.0",
- "symfony/process": ">=2.7 <6.0",
- "vlucas/phpdotenv": "^2.0 | ^3.0 | ^4.0 | ^5.0"
- },
- "suggest": {
- "codeception/specify": "BDD-style code blocks",
- "codeception/verify": "BDD-style assertions",
- "hoa/console": "For interactive console functionality",
- "stecman/symfony-console-completion": "For BASH autocompletion",
- "symfony/phpunit-bridge": "For phpunit-bridge support"
- },
- "bin": [
- "codecept"
- ],
- "type": "library",
- "extra": {
- "branch-alias": []
- },
- "autoload": {
- "psr-4": {
- "Codeception\\": "src/Codeception",
- "Codeception\\Extension\\": "ext"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Bodnarchuk",
- "email": "davert@mail.ua",
- "homepage": "http://codegyre.com"
- }
- ],
- "description": "BDD-style testing framework",
- "homepage": "http://codeception.com/",
- "keywords": [
- "BDD",
- "TDD",
- "acceptance testing",
- "functional testing",
- "unit testing"
- ],
- "support": {
- "issues": "https://github.com/Codeception/Codeception/issues",
- "source": "https://github.com/Codeception/Codeception/tree/4.1.13"
- },
- "funding": [
- {
- "url": "https://opencollective.com/codeception",
- "type": "open_collective"
- }
- ],
- "time": "2020-12-20T13:35:09+00:00"
- },
- {
- "name": "codeception/lib-asserts",
- "version": "1.13.2",
- "source": {
- "type": "git",
- "url": "https://github.com/Codeception/lib-asserts.git",
- "reference": "184231d5eab66bc69afd6b9429344d80c67a33b6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Codeception/lib-asserts/zipball/184231d5eab66bc69afd6b9429344d80c67a33b6",
- "reference": "184231d5eab66bc69afd6b9429344d80c67a33b6",
- "shasum": ""
- },
- "require": {
- "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3 | ^9.0",
- "ext-dom": "*",
- "php": ">=5.6.0 <9.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Bodnarchuk",
- "email": "davert@mail.ua",
- "homepage": "http://codegyre.com"
- },
- {
- "name": "Gintautas Miselis"
- },
- {
- "name": "Gustavo Nieves",
- "homepage": "https://medium.com/@ganieves"
- }
- ],
- "description": "Assertion methods used by Codeception core and Asserts module",
- "homepage": "https://codeception.com/",
- "keywords": [
- "codeception"
- ],
- "support": {
- "issues": "https://github.com/Codeception/lib-asserts/issues",
- "source": "https://github.com/Codeception/lib-asserts/tree/1.13.2"
- },
- "time": "2020-10-21T16:26:20+00:00"
- },
- {
- "name": "codeception/phpunit-wrapper",
- "version": "9.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/Codeception/phpunit-wrapper.git",
- "reference": "72bac7770866799e23a7dda1ac6bec2f8baccf45"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/72bac7770866799e23a7dda1ac6bec2f8baccf45",
- "reference": "72bac7770866799e23a7dda1ac6bec2f8baccf45",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2",
- "phpunit/phpunit": "^9.0"
- },
- "require-dev": {
- "codeception/specify": "*",
- "vlucas/phpdotenv": "^3.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Codeception\\PHPUnit\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Davert",
- "email": "davert.php@resend.cc"
- },
- {
- "name": "Naktibalda"
- }
- ],
- "description": "PHPUnit classes used by Codeception",
- "support": {
- "issues": "https://github.com/Codeception/phpunit-wrapper/issues",
- "source": "https://github.com/Codeception/phpunit-wrapper/tree/9.0.5"
- },
- "time": "2020-10-11T18:14:42+00:00"
- },
- {
- "name": "codeception/stub",
- "version": "3.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Codeception/Stub.git",
- "reference": "468dd5fe659f131fc997f5196aad87512f9b1304"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Codeception/Stub/zipball/468dd5fe659f131fc997f5196aad87512f9b1304",
- "reference": "468dd5fe659f131fc997f5196aad87512f9b1304",
- "shasum": ""
- },
- "require": {
- "phpunit/phpunit": "^8.4 | ^9.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Codeception\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Flexible Stub wrapper for PHPUnit's Mock Builder",
- "support": {
- "issues": "https://github.com/Codeception/Stub/issues",
- "source": "https://github.com/Codeception/Stub/tree/3.7.0"
- },
- "time": "2020-07-03T15:54:43+00:00"
- },
- {
- "name": "composer/semver",
- "version": "3.2.4",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/semver.git",
- "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464",
- "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.2 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^0.12.54",
- "symfony/phpunit-bridge": "^4.2 || ^5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Composer\\Semver\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nils Adermann",
- "email": "naderman@naderman.de",
- "homepage": "http://www.naderman.de"
- },
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- },
- {
- "name": "Rob Bast",
- "email": "rob.bast@gmail.com",
- "homepage": "http://robbast.nl"
- }
- ],
- "description": "Semver library that offers utilities, version constraint parsing and validation.",
- "keywords": [
- "semantic",
- "semver",
- "validation",
- "versioning"
- ],
- "support": {
- "irc": "irc://irc.freenode.org/composer",
- "issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.2.4"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-13T08:59:24+00:00"
- },
- {
- "name": "composer/xdebug-handler",
- "version": "1.4.5",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/xdebug-handler.git",
- "reference": "f28d44c286812c714741478d968104c5e604a1d4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f28d44c286812c714741478d968104c5e604a1d4",
- "reference": "f28d44c286812c714741478d968104c5e604a1d4",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.2 || ^7.0 || ^8.0",
- "psr/log": "^1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Composer\\XdebugHandler\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "John Stevenson",
- "email": "john-stevenson@blueyonder.co.uk"
- }
- ],
- "description": "Restarts a process without Xdebug.",
- "keywords": [
- "Xdebug",
- "performance"
- ],
- "support": {
- "irc": "irc://irc.freenode.org/composer",
- "issues": "https://github.com/composer/xdebug-handler/issues",
- "source": "https://github.com/composer/xdebug-handler/tree/1.4.5"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-13T08:04:11+00:00"
- },
- {
- "name": "dealerdirect/phpcodesniffer-composer-installer",
- "version": "v0.7.1",
- "source": {
- "type": "git",
- "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
- "reference": "fe390591e0241955f22eb9ba327d137e501c771c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/fe390591e0241955f22eb9ba327d137e501c771c",
- "reference": "fe390591e0241955f22eb9ba327d137e501c771c",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^1.0 || ^2.0",
- "php": ">=5.3",
- "squizlabs/php_codesniffer": "^2.0 || ^3.0 || ^4.0"
- },
- "require-dev": {
- "composer/composer": "*",
- "phpcompatibility/php-compatibility": "^9.0",
- "sensiolabs/security-checker": "^4.1.0"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
- },
- "autoload": {
- "psr-4": {
- "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Franck Nijhof",
- "email": "franck.nijhof@dealerdirect.com",
- "homepage": "http://www.frenck.nl",
- "role": "Developer / IT Manager"
- }
- ],
- "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
- "homepage": "http://www.dealerdirect.com",
- "keywords": [
- "PHPCodeSniffer",
- "PHP_CodeSniffer",
- "code quality",
- "codesniffer",
- "composer",
- "installer",
- "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": "2020-12-07T18:04:37+00:00"
- },
- {
- "name": "doctrine/annotations",
- "version": "1.11.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/annotations.git",
- "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/ce77a7ba1770462cd705a91a151b6c3746f9c6ad",
- "reference": "ce77a7ba1770462cd705a91a151b6c3746f9c6ad",
- "shasum": ""
- },
- "require": {
- "doctrine/lexer": "1.*",
- "ext-tokenizer": "*",
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "doctrine/cache": "1.*",
- "doctrine/coding-standard": "^6.0 || ^8.1",
- "phpstan/phpstan": "^0.12.20",
- "phpunit/phpunit": "^7.5 || ^9.1.5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.11.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "Docblock Annotations Parser",
- "homepage": "https://www.doctrine-project.org/projects/annotations.html",
- "keywords": [
- "annotations",
- "docblock",
- "parser"
- ],
- "support": {
- "issues": "https://github.com/doctrine/annotations/issues",
- "source": "https://github.com/doctrine/annotations/tree/1.11.1"
- },
- "time": "2020-10-26T10:28:16+00:00"
- },
- {
- "name": "doctrine/instantiator",
- "version": "1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
- "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^8.0",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-phpunit": "^0.12",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-10T18:47:58+00:00"
- },
- {
- "name": "fakerphp/faker",
- "version": "v1.13.0",
- "source": {
- "type": "git",
- "url": "https://github.com/FakerPHP/Faker.git",
- "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/ab3f5364d01f2c2c16113442fb987d26e4004913",
- "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "fzaninotto/faker": "*"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
- "ext-intl": "*",
- "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.4.2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Faker\\": "src/Faker/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "François Zaninotto"
- }
- ],
- "description": "Faker is a PHP library that generates fake data for you.",
- "keywords": [
- "data",
- "faker",
- "fixtures"
- ],
- "support": {
- "issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.13.0"
- },
- "time": "2020-12-18T16:50:48+00:00"
- },
- {
- "name": "friendsofphp/php-cs-fixer",
- "version": "v2.17.2",
- "source": {
- "type": "git",
- "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
- "reference": "aaee4f3d16a996fc0b570be0c69d3b80c909c507"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/aaee4f3d16a996fc0b570be0c69d3b80c909c507",
- "reference": "aaee4f3d16a996fc0b570be0c69d3b80c909c507",
- "shasum": ""
- },
- "require": {
- "composer/semver": "^1.4 || ^2.0 || ^3.0",
- "composer/xdebug-handler": "^1.2",
- "doctrine/annotations": "^1.2",
- "ext-json": "*",
- "ext-tokenizer": "*",
- "php": "^5.6 || ^7.0 || ^8.0",
- "php-cs-fixer/diff": "^1.3",
- "symfony/console": "^3.4.43 || ^4.1.6 || ^5.0",
- "symfony/event-dispatcher": "^3.0 || ^4.0 || ^5.0",
- "symfony/filesystem": "^3.0 || ^4.0 || ^5.0",
- "symfony/finder": "^3.0 || ^4.0 || ^5.0",
- "symfony/options-resolver": "^3.0 || ^4.0 || ^5.0",
- "symfony/polyfill-php70": "^1.0",
- "symfony/polyfill-php72": "^1.4",
- "symfony/process": "^3.0 || ^4.0 || ^5.0",
- "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0"
- },
- "require-dev": {
- "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0",
- "justinrainbow/json-schema": "^5.0",
- "keradus/cli-executor": "^1.4",
- "mikey179/vfsstream": "^1.6",
- "php-coveralls/php-coveralls": "^2.4.1",
- "php-cs-fixer/accessible-object": "^1.0",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1",
- "phpspec/prophecy-phpunit": "^1.1 || ^2.0",
- "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.13 || ^9.4.4 <9.5",
- "phpunitgoodpractices/polyfill": "^1.5",
- "phpunitgoodpractices/traits": "^1.9.1",
- "sanmai/phpunit-legacy-adapter": "^6.4 || ^8.2.1",
- "symfony/phpunit-bridge": "^5.1",
- "symfony/yaml": "^3.0 || ^4.0 || ^5.0"
- },
- "suggest": {
- "ext-dom": "For handling output formats in XML",
- "ext-mbstring": "For handling non-UTF8 characters.",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.",
- "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible."
- },
- "bin": [
- "php-cs-fixer"
- ],
- "type": "application",
- "autoload": {
- "psr-4": {
- "PhpCsFixer\\": "src/"
- },
- "classmap": [
- "tests/Test/AbstractFixerTestCase.php",
- "tests/Test/AbstractIntegrationCaseFactory.php",
- "tests/Test/AbstractIntegrationTestCase.php",
- "tests/Test/Assert/AssertTokensTrait.php",
- "tests/Test/IntegrationCase.php",
- "tests/Test/IntegrationCaseFactory.php",
- "tests/Test/IntegrationCaseFactoryInterface.php",
- "tests/Test/InternalIntegrationCaseFactory.php",
- "tests/Test/IsIdenticalConstraint.php",
- "tests/TestCase.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Dariusz Rumiński",
- "email": "dariusz.ruminski@gmail.com"
- }
- ],
- "description": "A tool to automatically fix PHP code style",
- "support": {
- "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues",
- "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.17.2"
- },
- "funding": [
- {
- "url": "https://github.com/keradus",
- "type": "github"
- }
- ],
- "time": "2020-12-17T16:41:55+00:00"
- },
- {
- "name": "guzzlehttp/guzzle",
- "version": "7.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/0aa74dfb41ae110835923ef10a9d803a22d50e79",
- "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "guzzlehttp/promises": "^1.4",
- "guzzlehttp/psr7": "^1.7",
- "php": "^7.2.5 || ^8.0",
- "psr/http-client": "^1.0"
- },
- "provide": {
- "psr/http-client-implementation": "1.0"
- },
- "require-dev": {
- "ext-curl": "*",
- "php-http/client-integration-tests": "^3.0",
- "phpunit/phpunit": "^8.5.5 || ^9.3.5",
- "psr/log": "^1.1"
- },
- "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": {
- "branch-alias": {
- "dev-master": "7.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://sagikazarmark.hu"
- }
- ],
- "description": "Guzzle is a PHP HTTP client library",
- "homepage": "http://guzzlephp.org/",
- "keywords": [
- "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.2.0"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://github.com/alexeyshockov",
- "type": "github"
- },
- {
- "url": "https://github.com/gmponos",
- "type": "github"
- }
- ],
- "time": "2020-10-10T11:47:56+00:00"
- },
- {
- "name": "guzzlehttp/promises",
- "version": "1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/promises.git",
- "reference": "60d379c243457e073cff02bc323a2a86cb355631"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631",
- "reference": "60d379c243457e073cff02bc323a2a86cb355631",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "symfony/phpunit-bridge": "^4.4 || ^5.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- }
- ],
- "description": "Guzzle promises library",
- "keywords": [
- "promise"
- ],
- "support": {
- "issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/1.4.0"
- },
- "time": "2020-09-30T07:37:28+00:00"
- },
- {
- "name": "guzzlehttp/psr7",
- "version": "1.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3",
- "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.0",
- "psr/http-message": "~1.0",
- "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "ext-zlib": "*",
- "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
- },
- "suggest": {
- "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.7-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Tobias Schultze",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "PSR-7 message implementation that also provides common utility methods",
- "keywords": [
- "http",
- "message",
- "psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
- ],
- "support": {
- "issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/1.7.0"
- },
- "time": "2020-09-30T07:37:11+00:00"
- },
- {
- "name": "hamcrest/hamcrest-php",
- "version": "v2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/hamcrest/hamcrest-php.git",
- "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
- "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
- "shasum": ""
- },
- "require": {
- "php": "^5.3|^7.0|^8.0"
- },
- "replace": {
- "cordoval/hamcrest-php": "*",
- "davedevelopment/hamcrest-php": "*",
- "kodova/hamcrest-php": "*"
- },
- "require-dev": {
- "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"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "This is the PHP port of Hamcrest Matchers",
- "keywords": [
- "test"
- ],
- "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": "jean85/pretty-package-versions",
- "version": "1.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/Jean85/pretty-package-versions.git",
- "reference": "a917488320c20057da87f67d0d40543dd9427f7a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/a917488320c20057da87f67d0d40543dd9427f7a",
- "reference": "a917488320c20057da87f67d0d40543dd9427f7a",
- "shasum": ""
- },
- "require": {
- "composer/package-versions-deprecated": "^1.8.0",
- "php": "^7.0|^8.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0|^8.5|^9.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Jean85\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Alessandro Lai",
- "email": "alessandro.lai85@gmail.com"
- }
- ],
- "description": "A wrapper for ocramius/package-versions to get pretty versions strings",
- "keywords": [
- "composer",
- "package",
- "release",
- "versions"
- ],
- "support": {
- "issues": "https://github.com/Jean85/pretty-package-versions/issues",
- "source": "https://github.com/Jean85/pretty-package-versions/tree/1.5.1"
- },
- "time": "2020-09-14T08:43:34+00:00"
- },
- {
- "name": "mockery/mockery",
- "version": "1.4.2",
- "source": {
- "type": "git",
- "url": "https://github.com/mockery/mockery.git",
- "reference": "20cab678faed06fac225193be281ea0fddb43b93"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/20cab678faed06fac225193be281ea0fddb43b93",
- "reference": "20cab678faed06fac225193be281ea0fddb43b93",
- "shasum": ""
- },
- "require": {
- "hamcrest/hamcrest-php": "^2.0.1",
- "lib-pcre": ">=7.0",
- "php": "^7.3 || ^8.0"
- },
- "conflict": {
- "phpunit/phpunit": "<8.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5 || ^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4.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",
- "homepage": "https://github.com/mockery/mockery",
- "keywords": [
- "BDD",
- "TDD",
- "library",
- "mock",
- "mock objects",
- "mockery",
- "stub",
- "test",
- "test double",
- "testing"
- ],
- "support": {
- "issues": "https://github.com/mockery/mockery/issues",
- "source": "https://github.com/mockery/mockery/tree/master"
- },
- "time": "2020-08-11T18:10:13+00:00"
- },
- {
- "name": "myclabs/deep-copy",
- "version": "1.10.2",
- "source": {
- "type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
- "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "replace": {
- "myclabs/deep-copy": "self.version"
- },
- "require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- },
- "files": [
- "src/DeepCopy/deep_copy.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Create deep copies (clones) of your objects",
- "keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
- ],
- "support": {
- "issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
- },
- "funding": [
- {
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-13T09:40:50+00:00"
- },
- {
- "name": "nette/finder",
- "version": "v2.5.2",
- "source": {
- "type": "git",
- "url": "https://github.com/nette/finder.git",
- "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nette/finder/zipball/4ad2c298eb8c687dd0e74ae84206a4186eeaed50",
- "reference": "4ad2c298eb8c687dd0e74ae84206a4186eeaed50",
- "shasum": ""
- },
- "require": {
- "nette/utils": "^2.4 || ^3.0",
- "php": ">=7.1"
- },
- "conflict": {
- "nette/nette": "<2.2"
- },
- "require-dev": {
- "nette/tester": "^2.0",
- "phpstan/phpstan": "^0.12",
- "tracy/tracy": "^2.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.5-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause",
- "GPL-2.0",
- "GPL-3.0"
- ],
- "authors": [
- {
- "name": "David Grudl",
- "homepage": "https://davidgrudl.com"
- },
- {
- "name": "Nette Community",
- "homepage": "https://nette.org/contributors"
- }
- ],
- "description": "🔍 Nette Finder: find files and directories with an intuitive API.",
- "homepage": "https://nette.org",
- "keywords": [
- "filesystem",
- "glob",
- "iterator",
- "nette"
- ],
- "support": {
- "issues": "https://github.com/nette/finder/issues",
- "source": "https://github.com/nette/finder/tree/v2.5.2"
- },
- "time": "2020-01-03T20:35:40+00:00"
- },
- {
- "name": "nette/robot-loader",
- "version": "v3.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/nette/robot-loader.git",
- "reference": "15c1ecd0e6e69e8d908dfc4cca7b14f3b850a96b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nette/robot-loader/zipball/15c1ecd0e6e69e8d908dfc4cca7b14f3b850a96b",
- "reference": "15c1ecd0e6e69e8d908dfc4cca7b14f3b850a96b",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "nette/finder": "^2.5 || ^3.0",
- "nette/utils": "^3.0",
- "php": ">=7.1"
- },
- "require-dev": {
- "nette/tester": "^2.0",
- "phpstan/phpstan": "^0.12",
- "tracy/tracy": "^2.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.3-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause",
- "GPL-2.0-only",
- "GPL-3.0-only"
- ],
- "authors": [
- {
- "name": "David Grudl",
- "homepage": "https://davidgrudl.com"
- },
- {
- "name": "Nette Community",
- "homepage": "https://nette.org/contributors"
- }
- ],
- "description": "🍀 Nette RobotLoader: high performance and comfortable autoloader that will search and autoload classes within your application.",
- "homepage": "https://nette.org",
- "keywords": [
- "autoload",
- "class",
- "interface",
- "nette",
- "trait"
- ],
- "support": {
- "issues": "https://github.com/nette/robot-loader/issues",
- "source": "https://github.com/nette/robot-loader/tree/v3.3.1"
- },
- "time": "2020-09-15T15:14:17+00:00"
- },
- {
- "name": "nette/utils",
- "version": "v3.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/nette/utils.git",
- "reference": "d0427c1811462dbb6c503143eabe5478b26685f7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/d0427c1811462dbb6c503143eabe5478b26685f7",
- "reference": "d0427c1811462dbb6c503143eabe5478b26685f7",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2 <8.1"
- },
- "conflict": {
- "nette/di": "<3.0.6"
- },
- "require-dev": {
- "nette/tester": "~2.0",
- "phpstan/phpstan": "^0.12",
- "tracy/tracy": "^2.3"
- },
- "suggest": {
- "ext-gd": "to use Image",
- "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
- "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
- "ext-json": "to use Nette\\Utils\\Json",
- "ext-mbstring": "to use Strings::lower() etc...",
- "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
- "ext-xml": "to use Strings::length() etc. when mbstring is not available"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.2-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause",
- "GPL-2.0-only",
- "GPL-3.0-only"
- ],
- "authors": [
- {
- "name": "David Grudl",
- "homepage": "https://davidgrudl.com"
- },
- {
- "name": "Nette Community",
- "homepage": "https://nette.org/contributors"
- }
- ],
- "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
- "homepage": "https://nette.org",
- "keywords": [
- "array",
- "core",
- "datetime",
- "images",
- "json",
- "nette",
- "paginator",
- "password",
- "slugify",
- "string",
- "unicode",
- "utf-8",
- "utility",
- "validation"
- ],
- "support": {
- "issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v3.2.0"
- },
- "time": "2020-11-25T23:47:50+00:00"
- },
- {
- "name": "nikic/php-parser",
- "version": "v4.10.4",
- "source": {
- "type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
- "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": ">=7.0"
- },
- "require-dev": {
- "ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
- },
- "bin": [
- "bin/php-parse"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.9-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PhpParser\\": "lib/PhpParser"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Nikita Popov"
- }
- ],
- "description": "A PHP parser written in PHP",
- "keywords": [
- "parser",
- "php"
- ],
- "support": {
- "issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4"
- },
- "time": "2020-12-20T10:01:03+00:00"
- },
- {
- "name": "orchestra/testbench",
- "version": "v6.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/orchestral/testbench.git",
- "reference": "b009a5632f8b9c8455fb399486a367d1ed249c09"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench/zipball/b009a5632f8b9c8455fb399486a367d1ed249c09",
- "reference": "b009a5632f8b9c8455fb399486a367d1ed249c09",
- "shasum": ""
- },
- "require": {
- "laravel/framework": "^8.0",
- "mockery/mockery": "^1.3.2",
- "orchestra/testbench-core": "^6.9.1",
- "php": ">=7.3 || >=8.0",
- "phpunit/phpunit": "^8.4 || ^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.0-dev"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mior Muhammad Zaki",
- "email": "crynobone@gmail.com",
- "homepage": "https://github.com/crynobone"
- }
- ],
- "description": "Laravel Testing Helper for Packages Development",
- "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/",
- "keywords": [
- "BDD",
- "TDD",
- "laravel",
- "orchestra-platform",
- "orchestral",
- "testing"
- ],
- "support": {
- "issues": "https://github.com/orchestral/testbench/issues",
- "source": "https://github.com/orchestral/testbench/tree/v6.7.0"
- },
- "funding": [
- {
- "url": "https://paypal.me/crynobone",
- "type": "custom"
- },
- {
- "url": "https://liberapay.com/crynobone",
- "type": "liberapay"
- }
- ],
- "time": "2020-12-15T03:38:46+00:00"
- },
- {
- "name": "orchestra/testbench-core",
- "version": "v6.9.1",
- "source": {
- "type": "git",
- "url": "https://github.com/orchestral/testbench-core.git",
- "reference": "65d1fc936c5fc166082a1797351847ef6dadbd29"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/65d1fc936c5fc166082a1797351847ef6dadbd29",
- "reference": "65d1fc936c5fc166082a1797351847ef6dadbd29",
- "shasum": ""
- },
- "require": {
- "fakerphp/faker": "^1.9.1",
- "php": ">=7.2.5 || >=8.0",
- "symfony/yaml": "^4.3 || ^5.0",
- "vlucas/phpdotenv": "^5.1"
- },
- "require-dev": {
- "laravel/framework": "^8.0",
- "laravel/laravel": "8.x-dev",
- "mockery/mockery": "^1.3.2",
- "orchestra/canvas": "^6.0",
- "phpunit/phpunit": "^8.4 || ^9.0"
- },
- "suggest": {
- "laravel/framework": "Required for testing (^8.0).",
- "mockery/mockery": "Allow using Mockery for testing (^1.3.2).",
- "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^6.0).",
- "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^6.0).",
- "phpunit/phpunit": "Allow using PHPUnit for testing (^8.4 || ^9.0)."
- },
- "bin": [
- "testbench"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.0-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Orchestra\\Testbench\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mior Muhammad Zaki",
- "email": "crynobone@gmail.com",
- "homepage": "https://github.com/crynobone"
- }
- ],
- "description": "Testing Helper for Laravel Development",
- "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/",
- "keywords": [
- "BDD",
- "TDD",
- "laravel",
- "orchestra-platform",
- "orchestral",
- "testing"
- ],
- "support": {
- "issues": "https://github.com/orchestral/testbench/issues",
- "source": "https://github.com/orchestral/testbench-core"
- },
- "funding": [
- {
- "url": "https://paypal.me/crynobone",
- "type": "custom"
- },
- {
- "url": "https://liberapay.com/crynobone",
- "type": "liberapay"
- }
- ],
- "time": "2020-12-15T03:18:42+00:00"
- },
- {
- "name": "phar-io/manifest",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-phar": "*",
- "ext-xmlwriter": "*",
- "phar-io/version": "^3.0.1",
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
- "support": {
- "issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/master"
- },
- "time": "2020-06-27T14:33:11+00:00"
- },
- {
- "name": "phar-io/version",
- "version": "3.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "e4782611070e50613683d2b9a57730e9a3ba5451"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451",
- "reference": "e4782611070e50613683d2b9a57730e9a3ba5451",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Library for handling version information and constraints",
- "support": {
- "issues": "https://github.com/phar-io/version/issues",
- "source": "https://github.com/phar-io/version/tree/3.0.4"
- },
- "time": "2020-12-13T23:18:30+00:00"
- },
- {
- "name": "php-coveralls/php-coveralls",
- "version": "v2.4.2",
- "source": {
- "type": "git",
- "url": "https://github.com/php-coveralls/php-coveralls.git",
- "reference": "8a33ae229da63a0bd22dadae1512af663ce5e559"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/8a33ae229da63a0bd22dadae1512af663ce5e559",
- "reference": "8a33ae229da63a0bd22dadae1512af663ce5e559",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-simplexml": "*",
- "guzzlehttp/guzzle": "^6.0 || ^7.0",
- "php": "^5.5 || ^7.0 || ^8.0",
- "psr/log": "^1.0",
- "symfony/config": "^2.1 || ^3.0 || ^4.0 || ^5.0",
- "symfony/console": "^2.1 || ^3.0 || ^4.0 || ^5.0",
- "symfony/stopwatch": "^2.0 || ^3.0 || ^4.0 || ^5.0",
- "symfony/yaml": "^2.0.5 || ^3.0 || ^4.0 || ^5.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0 || ^7.0 || ^8.0 || ^9.0",
- "sanmai/phpunit-legacy-adapter": "^6.1 || ^8.0"
- },
- "suggest": {
- "symfony/http-kernel": "Allows Symfony integration"
- },
- "bin": [
- "bin/php-coveralls"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "PhpCoveralls\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kitamura Satoshi",
- "email": "with.no.parachute@gmail.com",
- "homepage": "https://www.facebook.com/satooshi.jp",
- "role": "Original creator"
- },
- {
- "name": "Takashi Matsuo",
- "email": "tmatsuo@google.com"
- },
- {
- "name": "Google Inc"
- },
- {
- "name": "Dariusz Ruminski",
- "email": "dariusz.ruminski@gmail.com",
- "homepage": "https://github.com/keradus"
- },
- {
- "name": "Contributors",
- "homepage": "https://github.com/php-coveralls/php-coveralls/graphs/contributors"
- }
- ],
- "description": "PHP client library for Coveralls API",
- "homepage": "https://github.com/php-coveralls/php-coveralls",
- "keywords": [
- "ci",
- "coverage",
- "github",
- "test"
- ],
- "support": {
- "issues": "https://github.com/php-coveralls/php-coveralls/issues",
- "source": "https://github.com/php-coveralls/php-coveralls/tree/v2.4.2"
- },
- "time": "2020-10-23T16:34:35+00:00"
- },
- {
- "name": "php-cs-fixer/diff",
- "version": "v1.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/PHP-CS-Fixer/diff.git",
- "reference": "dbd31aeb251639ac0b9e7e29405c1441907f5759"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/dbd31aeb251639ac0b9e7e29405c1441907f5759",
- "reference": "dbd31aeb251639ac0b9e7e29405c1441907f5759",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.7.23 || ^6.4.3 || ^7.0",
- "symfony/process": "^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"
- },
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
- {
- "name": "SpacePossum"
- }
- ],
- "description": "sebastian/diff v2 backport support for PHP5.6",
- "homepage": "https://github.com/PHP-CS-Fixer",
- "keywords": [
- "diff"
- ],
- "support": {
- "issues": "https://github.com/PHP-CS-Fixer/diff/issues",
- "source": "https://github.com/PHP-CS-Fixer/diff/tree/v1.3.1"
- },
- "time": "2020-10-14T08:39:05+00:00"
- },
- {
- "name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-2.x": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
- },
- "time": "2020-06-27T09:03:43+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "5.2.2",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
- "shasum": ""
- },
- "require": {
- "ext-filter": "*",
- "php": "^7.2 || ^8.0",
- "phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.3",
- "webmozart/assert": "^1.9.1"
- },
- "require-dev": {
- "mockery/mockery": "~1.3.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- },
- {
- "name": "Jaap van Otterdijk",
- "email": "account@ijaap.nl"
- }
- ],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
- },
- "time": "2020-09-03T19:13:55+00:00"
- },
- {
- "name": "phpdocumentor/type-resolver",
- "version": "1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0"
- },
- "require-dev": {
- "ext-tokenizer": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-1.x": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
- "support": {
- "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
- },
- "time": "2020-09-17T18:55:26+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "1.12.2",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "245710e971a030f42e08f4912863805570f23d39"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39",
- "reference": "245710e971a030f42e08f4912863805570f23d39",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.2",
- "php": "^7.2 || ~8.0, <8.1",
- "phpdocumentor/reflection-docblock": "^5.2",
- "sebastian/comparator": "^3.0 || ^4.0",
- "sebastian/recursion-context": "^3.0 || ^4.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^6.0",
- "phpunit/phpunit": "^8.0 || ^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.11.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Prophecy\\": "src/Prophecy"
- }
- },
- "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"
- ],
- "support": {
- "issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/1.12.2"
- },
- "time": "2020-12-19T10:15:11+00:00"
- },
- {
- "name": "phpstan/phpdoc-parser",
- "version": "0.4.9",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/98a088b17966bdf6ee25c8a4b634df313d8aa531",
- "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "consistence/coding-standard": "^3.5",
- "ergebnis/composer-normalize": "^2.0.2",
- "jakub-onderka/php-parallel-lint": "^0.9.2",
- "phing/phing": "^2.16.0",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12.26",
- "phpstan/phpstan-strict-rules": "^0.12",
- "phpunit/phpunit": "^6.3",
- "slevomat/coding-standard": "^4.7.2",
- "symfony/process": "^4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "0.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PHPStan\\PhpDocParser\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "PHPDoc parser with support for nullable, intersection and generic types",
- "support": {
- "issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/master"
- },
- "time": "2020-08-03T20:32:43+00:00"
- },
- {
- "name": "phpstan/phpstan",
- "version": "0.12.64",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/phpstan.git",
- "reference": "23eb1cb7ae125f45f1d0e48051bcf67a9a9b08aa"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/23eb1cb7ae125f45f1d0e48051bcf67a9a9b08aa",
- "reference": "23eb1cb7ae125f45f1d0e48051bcf67a9a9b08aa",
- "shasum": ""
- },
- "require": {
- "php": "^7.1|^8.0"
- },
- "conflict": {
- "phpstan/phpstan-shim": "*"
- },
- "bin": [
- "phpstan",
- "phpstan.phar"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "0.12-dev"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "PHPStan - PHP Static Analysis Tool",
- "support": {
- "issues": "https://github.com/phpstan/phpstan/issues",
- "source": "https://github.com/phpstan/phpstan/tree/0.12.64"
- },
- "funding": [
- {
- "url": "https://github.com/ondrejmirtes",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/phpstan",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-21T11:59:02+00:00"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "9.2.5",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1",
- "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "ext-xmlwriter": "*",
- "nikic/php-parser": "^4.10.2",
- "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",
- "extra": {
- "branch-alias": {
- "dev-master": "9.2-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-11-28T06:44:49+00:00"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "3.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
- "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T05:57:25+00:00"
- },
- {
- "name": "phpunit/php-invoker",
- "version": "3.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "ext-pcntl": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-pcntl": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Invoke callables with a timeout",
- "homepage": "https://github.com/sebastianbergmann/php-invoker/",
- "keywords": [
- "process"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T05:58:55+00:00"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "2.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T05:33:50+00:00"
- },
- {
- "name": "phpunit/php-timer",
- "version": "5.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T13:16:10+00:00"
- },
- {
- "name": "phpunit/phpunit",
- "version": "9.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e16c225d57c3d6808014df6b1dd7598d0a5bbbe",
- "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe",
- "shasum": ""
- },
- "require": {
- "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.1",
- "phar-io/version": "^3.0.2",
- "php": ">=7.3",
- "phpspec/prophecy": "^1.12.1",
- "phpunit/php-code-coverage": "^9.2.3",
- "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": "^2.3",
- "sebastian/version": "^3.0.2"
- },
- "require-dev": {
- "ext-pdo": "*",
- "phpspec/prophecy-phpunit": "^2.0.1"
- },
- "suggest": {
- "ext-soap": "*",
- "ext-xdebug": "*"
- },
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "9.5-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ],
- "files": [
- "src/Framework/Assert/Functions.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.0"
- },
- "funding": [
- {
- "url": "https://phpunit.de/donate.html",
- "type": "custom"
- },
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-12-04T05:05:53+00:00"
- },
- {
- "name": "psr/cache",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/cache.git",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Cache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for caching libraries",
- "keywords": [
- "cache",
- "psr",
- "psr-6"
- ],
- "support": {
- "source": "https://github.com/php-fig/cache/tree/master"
- },
- "time": "2016-08-06T20:24:11+00:00"
- },
- {
- "name": "psr/http-client",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-client.git",
- "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
- "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
- "shasum": ""
- },
- "require": {
- "php": "^7.0 || ^8.0",
- "psr/http-message": "^1.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Client\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "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-message",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "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": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-message/tree/master"
- },
- "time": "2016-08-06T14:39:51+00:00"
- },
- {
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
- }
- ],
- "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": "sebastian/cli-parser",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for parsing CLI options",
- "homepage": "https://github.com/sebastianbergmann/cli-parser",
- "support": {
- "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T06:08:49+00:00"
- },
- {
- "name": "sebastian/code-unit",
- "version": "1.0.8",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Collection of value objects that represent the PHP code units",
- "homepage": "https://github.com/sebastianbergmann/code-unit",
- "support": {
- "issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T13:08:54+00:00"
- },
- {
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T05:30:19+00:00"
- },
- {
- "name": "sebastian/comparator",
- "version": "4.0.6",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T15:49:45+00:00"
- },
- {
- "name": "sebastian/complexity",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^4.7",
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for calculating the complexity of PHP code units",
- "homepage": "https://github.com/sebastianbergmann/complexity",
- "support": {
- "issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T15:52:27+00:00"
- },
- {
- "name": "sebastian/diff",
- "version": "4.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3",
- "symfony/process": "^4.2 || ^5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T13:10:38+00:00"
- },
- {
- "name": "sebastian/environment",
- "version": "5.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
- "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-posix": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T05:52:38+00:00"
- },
- {
- "name": "sebastian/exporter",
- "version": "4.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T05:24:23+00:00"
- },
- {
- "name": "sebastian/global-state",
- "version": "5.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
- },
- "require-dev": {
- "ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T15:55:19+00:00"
- },
- {
- "name": "sebastian/lines-of-code",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "shasum": ""
- },
- "require": {
- "nikic/php-parser": "^4.6",
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for counting the lines of code in PHP source code",
- "homepage": "https://github.com/sebastianbergmann/lines-of-code",
- "support": {
- "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-11-28T06:42:11+00:00"
- },
- {
- "name": "sebastian/object-enumerator",
- "version": "4.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T13:12:34+00:00"
- },
- {
- "name": "sebastian/object-reflector",
- "version": "2.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T13:14:26+00:00"
- },
- {
- "name": "sebastian/recursion-context",
- "version": "4.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "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": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T06:45:17+00:00"
- },
- {
- "name": "sebastian/type",
- "version": "2.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/type.git",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.3-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Collection of value objects that represent the types of the PHP type system",
- "homepage": "https://github.com/sebastianbergmann/type",
- "support": {
- "issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/2.3.1"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T13:18:59+00:00"
- },
- {
- "name": "sebastian/version",
- "version": "3.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T06:39:44+00:00"
- },
- {
- "name": "slevomat/coding-standard",
- "version": "6.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/slevomat/coding-standard.git",
- "reference": "696dcca217d0c9da2c40d02731526c1e25b65346"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/696dcca217d0c9da2c40d02731526c1e25b65346",
- "reference": "696dcca217d0c9da2c40d02731526c1e25b65346",
- "shasum": ""
- },
- "require": {
- "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7",
- "php": "^7.1 || ^8.0",
- "phpstan/phpdoc-parser": "0.4.5 - 0.4.9",
- "squizlabs/php_codesniffer": "^3.5.6"
- },
- "require-dev": {
- "phing/phing": "2.16.3",
- "php-parallel-lint/php-parallel-lint": "1.2.0",
- "phpstan/phpstan": "0.12.48",
- "phpstan/phpstan-deprecation-rules": "0.12.5",
- "phpstan/phpstan-phpunit": "0.12.16",
- "phpstan/phpstan-strict-rules": "0.12.5",
- "phpunit/phpunit": "7.5.20|8.5.5|9.4.0"
- },
- "type": "phpcodesniffer-standard",
- "extra": {
- "branch-alias": {
- "dev-master": "6.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "SlevomatCodingStandard\\": "SlevomatCodingStandard"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "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/6.4.1"
- },
- "funding": [
- {
- "url": "https://github.com/kukulich",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard",
- "type": "tidelift"
- }
- ],
- "time": "2020-10-05T12:39:37+00:00"
- },
- {
- "name": "squizlabs/php_codesniffer",
- "version": "3.5.8",
- "source": {
- "type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4",
- "shasum": ""
- },
- "require": {
- "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.x-dev"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Greg Sherwood",
- "role": "lead"
- }
- ],
- "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": "2020-10-23T02:01:07+00:00"
- },
- {
- "name": "symfony/cache",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/cache.git",
- "reference": "5e61d63b1ef4fb4852994038267ad45e12f3ec52"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/5e61d63b1ef4fb4852994038267ad45e12f3ec52",
- "reference": "5e61d63b1ef4fb4852994038267ad45e12f3ec52",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/cache": "~1.0",
- "psr/log": "^1.1",
- "symfony/cache-contracts": "^1.1.7|^2",
- "symfony/polyfill-php80": "^1.15",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0"
- },
- "conflict": {
- "doctrine/dbal": "<2.10",
- "symfony/dependency-injection": "<4.4",
- "symfony/http-kernel": "<4.4",
- "symfony/var-dumper": "<4.4"
- },
- "provide": {
- "psr/cache-implementation": "1.0",
- "psr/simple-cache-implementation": "1.0",
- "symfony/cache-implementation": "1.0"
- },
- "require-dev": {
- "cache/integration-tests": "dev-master",
- "doctrine/cache": "^1.6",
- "doctrine/dbal": "^2.10|^3.0",
- "predis/predis": "^1.1",
- "psr/simple-cache": "^1.0",
- "symfony/config": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/filesystem": "^4.4|^5.0",
- "symfony/http-kernel": "^4.4|^5.0",
- "symfony/messenger": "^4.4|^5.0",
- "symfony/var-dumper": "^4.4|^5.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Cache\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Cache component with PSR-6, PSR-16, and tags",
- "homepage": "https://symfony.com",
- "keywords": [
- "caching",
- "psr6"
- ],
- "support": {
- "source": "https://github.com/symfony/cache/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-10T19:16:15+00:00"
- },
- {
- "name": "symfony/cache-contracts",
- "version": "v2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/cache-contracts.git",
- "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/8034ca0b61d4dd967f3698aaa1da2507b631d0cb",
- "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/cache": "^1.0"
- },
- "suggest": {
- "symfony/cache-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Cache\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to caching",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/cache-contracts/tree/v2.2.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": "2020-09-07T11:33:47+00:00"
- },
- {
- "name": "symfony/config",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/config.git",
- "reference": "d0a82d965296083fe463d655a3644cbe49cbaa80"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/d0a82d965296083fe463d655a3644cbe49cbaa80",
- "reference": "d0a82d965296083fe463d655a3644cbe49cbaa80",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/filesystem": "^4.4|^5.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.15"
- },
- "conflict": {
- "symfony/finder": "<4.4"
- },
- "require-dev": {
- "symfony/event-dispatcher": "^4.4|^5.0",
- "symfony/finder": "^4.4|^5.0",
- "symfony/messenger": "^4.4|^5.0",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/yaml": "^4.4|^5.0"
- },
- "suggest": {
- "symfony/yaml": "To use the yaml reference dumper"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Config\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Config Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/config/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-09T18:54:12+00:00"
- },
- {
- "name": "symfony/dependency-injection",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/dependency-injection.git",
- "reference": "7f8a9e9eff0581a33e20f6c5d41096fe22832d25"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/7f8a9e9eff0581a33e20f6c5d41096fe22832d25",
- "reference": "7f8a9e9eff0581a33e20f6c5d41096fe22832d25",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "psr/container": "^1.0",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-php80": "^1.15",
- "symfony/service-contracts": "^1.1.6|^2"
- },
- "conflict": {
- "symfony/config": "<5.1",
- "symfony/finder": "<4.4",
- "symfony/proxy-manager-bridge": "<4.4",
- "symfony/yaml": "<4.4"
- },
- "provide": {
- "psr/container-implementation": "1.0",
- "symfony/service-implementation": "1.0"
- },
- "require-dev": {
- "symfony/config": "^5.1",
- "symfony/expression-language": "^4.4|^5.0",
- "symfony/yaml": "^4.4|^5.0"
- },
- "suggest": {
- "symfony/config": "",
- "symfony/expression-language": "For using expressions in service container configuration",
- "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
- "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
- "symfony/yaml": ""
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\DependencyInjection\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony DependencyInjection Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-18T08:03:05+00:00"
- },
- {
- "name": "symfony/filesystem",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "fa8f8cab6b65e2d99a118e082935344c5ba8c60d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/fa8f8cab6b65e2d99a118e082935344c5ba8c60d",
- "reference": "fa8f8cab6b65e2d99a118e082935344c5ba8c60d",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Filesystem\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Filesystem Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-30T17:05:38+00:00"
- },
- {
- "name": "symfony/options-resolver",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "87a2a4a766244e796dd9cb9d6f58c123358cd986"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/87a2a4a766244e796dd9cb9d6f58c123358cd986",
- "reference": "87a2a4a766244e796dd9cb9d6f58c123358cd986",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.15"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\OptionsResolver\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony OptionsResolver Component",
- "homepage": "https://symfony.com",
- "keywords": [
- "config",
- "configuration",
- "options"
- ],
- "support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-10-24T12:08:07+00:00"
- },
- {
- "name": "symfony/polyfill-php70",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php70.git",
- "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/5f03a781d984aae42cebd18e7912fa80f02ee644",
- "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "metapackage",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php70/tree/v1.20.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": "2020-10-23T14:02:19+00:00"
- },
- {
- "name": "symfony/stopwatch",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/stopwatch.git",
- "reference": "2b105c0354f39a63038a1d8bf776ee92852813af"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/2b105c0354f39a63038a1d8bf776ee92852813af",
- "reference": "2b105c0354f39a63038a1d8bf776ee92852813af",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/service-contracts": "^1.0|^2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Stopwatch\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Stopwatch Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/stopwatch/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-11-01T16:14:45+00:00"
- },
- {
- "name": "symfony/var-exporter",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/var-exporter.git",
- "reference": "fbc3507f23d263d75417e09a12d77c009f39676c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/fbc3507f23d263d75417e09a12d77c009f39676c",
- "reference": "fbc3507f23d263d75417e09a12d77c009f39676c",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
- },
- "require-dev": {
- "symfony/var-dumper": "^4.4.9|^5.0.9"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\VarExporter\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "A blend of var_export() + serialize() to turn any serializable data structure to plain PHP code",
- "homepage": "https://symfony.com",
- "keywords": [
- "clone",
- "construct",
- "export",
- "hydrate",
- "instantiate",
- "serialize"
- ],
- "support": {
- "source": "https://github.com/symfony/var-exporter/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-10-28T21:31:18+00:00"
- },
- {
- "name": "symfony/yaml",
- "version": "v5.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "290ea5e03b8cf9b42c783163123f54441fb06939"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/290ea5e03b8cf9b42c783163123f54441fb06939",
- "reference": "290ea5e03b8cf9b42c783163123f54441fb06939",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-ctype": "~1.8"
- },
- "conflict": {
- "symfony/console": "<4.4"
- },
- "require-dev": {
- "symfony/console": "^4.4|^5.0"
- },
- "suggest": {
- "symfony/console": "For validating YAML files using the lint command"
- },
- "bin": [
- "Resources/bin/yaml-lint"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Yaml Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/yaml/tree/v5.2.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-12-08T17:02:38+00:00"
- },
- {
- "name": "symplify/autowire-array-parameter",
- "version": "8.3.48",
- "source": {
- "type": "git",
- "url": "https://github.com/symplify/autowire-array-parameter.git",
- "reference": "721e29f2e656cc3cf1101fcc0dbb4f4a44d9309b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symplify/autowire-array-parameter/zipball/721e29f2e656cc3cf1101fcc0dbb4f4a44d9309b",
- "reference": "721e29f2e656cc3cf1101fcc0dbb4f4a44d9309b",
- "shasum": ""
- },
- "require": {
- "nette/utils": "^3.0",
- "php": ">=7.2",
- "symfony/dependency-injection": "^4.4|^5.1",
- "symplify/package-builder": "^8.3.48"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5|^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symplify\\AutowireArrayParameter\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Autowire array parameters for your Symfony applications",
- "support": {
- "source": "https://github.com/symplify/autowire-array-parameter/tree/8.3.48"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/rectorphp",
- "type": "custom"
- },
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2020-10-26T10:38:48+00:00"
- },
- {
- "name": "symplify/coding-standard",
- "version": "8.3.48",
- "source": {
- "type": "git",
- "url": "https://github.com/symplify/coding-standard.git",
- "reference": "8b5347ff5e370e30644e47eeb3672076878cb10d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symplify/coding-standard/zipball/8b5347ff5e370e30644e47eeb3672076878cb10d",
- "reference": "8b5347ff5e370e30644e47eeb3672076878cb10d",
- "shasum": ""
- },
- "require": {
- "friendsofphp/php-cs-fixer": "^2.16",
- "nette/finder": "^2.5",
- "nette/utils": "^3.0",
- "nikic/php-parser": "^4.10.2",
- "php": ">=7.2",
- "phpstan/phpstan": "^0.12.40",
- "slevomat/coding-standard": "^6.4",
- "squizlabs/php_codesniffer": "^3.5",
- "symplify/autowire-array-parameter": "^8.3.48",
- "symplify/package-builder": "^8.3.48",
- "symplify/symplify-kernel": "^8.3.48"
- },
- "require-dev": {
- "doctrine/orm": "^2.7",
- "nette/application": "^3.0",
- "nette/bootstrap": "^3.0",
- "phpunit/phpunit": "^8.5|^9.0",
- "symfony/framework-bundle": "^4.4|^5.1",
- "symfony/http-kernel": "^4.4|^5.1",
- "symplify/easy-coding-standard-tester": "^8.3.48",
- "symplify/package-builder": "^8.3.48",
- "symplify/phpstan-extensions": "^8.3.48",
- "symplify/smart-file-system": "^8.3.48"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symplify\\CodingStandard\\": "src",
- "Symplify\\CodingStandard\\CognitiveComplexity\\": "packages/cognitive-complexity/src",
- "Symplify\\CodingStandard\\ObjectCalisthenics\\": "packages/object-calisthenics/src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Set of Symplify rules for PHP_CodeSniffer and PHP CS Fixer.",
- "support": {
- "source": "https://github.com/symplify/coding-standard/tree/8.3.48"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/rectorphp",
- "type": "custom"
- },
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2020-10-26T10:38:48+00:00"
- },
- {
- "name": "symplify/console-color-diff",
- "version": "8.3.48",
- "source": {
- "type": "git",
- "url": "https://github.com/symplify/console-color-diff.git",
- "reference": "6cae4c121271da963698a9f0a50717a7d2ee9567"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symplify/console-color-diff/zipball/6cae4c121271da963698a9f0a50717a7d2ee9567",
- "reference": "6cae4c121271da963698a9f0a50717a7d2ee9567",
- "shasum": ""
- },
- "require": {
- "nette/utils": "^3.0",
- "php": ">=7.2",
- "sebastian/diff": "^3.0|^4.0",
- "symfony/console": "^4.4|^5.1",
- "symfony/dependency-injection": "^4.4|^5.1",
- "symfony/http-kernel": "^4.4|^5.1",
- "symplify/package-builder": "^8.3.48"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5|^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symplify\\ConsoleColorDiff\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Package to print diffs in console with colors",
- "support": {
- "source": "https://github.com/symplify/console-color-diff/tree/8.3.48"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/rectorphp",
- "type": "custom"
- },
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2020-10-26T10:38:48+00:00"
- },
- {
- "name": "symplify/easy-coding-standard",
- "version": "8.3.48",
- "source": {
- "type": "git",
- "url": "https://github.com/symplify/easy-coding-standard.git",
- "reference": "101d4ad5a3d8ad98e23a951a5722d4d5422cda22"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symplify/easy-coding-standard/zipball/101d4ad5a3d8ad98e23a951a5722d4d5422cda22",
- "reference": "101d4ad5a3d8ad98e23a951a5722d4d5422cda22",
- "shasum": ""
- },
- "require": {
- "composer/xdebug-handler": "^1.4",
- "friendsofphp/php-cs-fixer": "^2.16",
- "jean85/pretty-package-versions": "^1.2",
- "nette/robot-loader": "^3.2",
- "nette/utils": "^3.0",
- "ocramius/package-versions": "^1.4",
- "php": ">=7.2",
- "psr/simple-cache": "^1.0",
- "slevomat/coding-standard": "^6.4",
- "squizlabs/php_codesniffer": "^3.5",
- "symfony/cache": "^4.4|^5.1",
- "symfony/config": "^4.4|^5.1",
- "symfony/console": "^4.4|^5.1",
- "symfony/dependency-injection": "^4.4|^5.1",
- "symfony/finder": "^4.4|^5.1",
- "symfony/http-kernel": "^4.4|^5.1",
- "symfony/yaml": "^4.4|^5.1",
- "symplify/autowire-array-parameter": "^8.3.48",
- "symplify/coding-standard": "^8.3.48",
- "symplify/console-color-diff": "^8.3.48",
- "symplify/package-builder": "^8.3.48",
- "symplify/set-config-resolver": "^8.3.48",
- "symplify/smart-file-system": "^8.3.48",
- "symplify/symplify-kernel": "^8.3.48"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5|^9.0",
- "symplify/easy-coding-standard-tester": "^8.3.48"
- },
- "bin": [
- "bin/ecs"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symplify\\EasyCodingStandard\\": "src",
- "Symplify\\EasyCodingStandard\\ChangedFilesDetector\\": "packages/changed-files-detector/src",
- "Symplify\\EasyCodingStandard\\Configuration\\": "packages/configuration/src",
- "Symplify\\EasyCodingStandard\\FixerRunner\\": "packages/fixer-runner/src",
- "Symplify\\EasyCodingStandard\\SniffRunner\\": "packages/sniff-runner/src",
- "Symplify\\EasyCodingStandard\\SnippetFormatter\\": "packages/snippet-formatter/src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Use Coding Standard with 0-knowledge of PHP-CS-Fixer and PHP_CodeSniffer.",
- "support": {
- "source": "https://github.com/symplify/easy-coding-standard/tree/8.3.48"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/rectorphp",
- "type": "custom"
- },
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2020-10-26T10:38:48+00:00"
- },
- {
- "name": "symplify/package-builder",
- "version": "8.3.48",
- "source": {
- "type": "git",
- "url": "https://github.com/symplify/package-builder.git",
- "reference": "d262d5c2043c669f145d3eabf7d8114ae64cf169"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symplify/package-builder/zipball/d262d5c2043c669f145d3eabf7d8114ae64cf169",
- "reference": "d262d5c2043c669f145d3eabf7d8114ae64cf169",
- "shasum": ""
- },
- "require": {
- "nette/finder": "^2.5",
- "nette/utils": "^3.0",
- "php": ">=7.2",
- "symfony/config": "^4.4|^5.1",
- "symfony/console": "^4.4|^5.1",
- "symfony/dependency-injection": "^4.4|^5.1",
- "symfony/finder": "^4.4|^5.1",
- "symfony/http-kernel": "^4.4|^5.1",
- "symfony/yaml": "^4.4|^5.1",
- "symplify/autowire-array-parameter": "^8.3.48",
- "symplify/symplify-kernel": "^8.3.48"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5|^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symplify\\PackageBuilder\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Dependency Injection, Console and Kernel toolkit for Symplify packages.",
- "support": {
- "source": "https://github.com/symplify/package-builder/tree/8.3.48"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/rectorphp",
- "type": "custom"
- },
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2020-10-26T10:38:48+00:00"
- },
- {
- "name": "symplify/set-config-resolver",
- "version": "8.3.48",
- "source": {
- "type": "git",
- "url": "https://github.com/symplify/set-config-resolver.git",
- "reference": "1333995e30b7acfa7c4378c5f85de1dd96226c93"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symplify/set-config-resolver/zipball/1333995e30b7acfa7c4378c5f85de1dd96226c93",
- "reference": "1333995e30b7acfa7c4378c5f85de1dd96226c93",
- "shasum": ""
- },
- "require": {
- "nette/utils": "^3.0",
- "php": ">=7.2",
- "symfony/config": "^4.4|^5.1",
- "symfony/console": "^4.4|^5.1",
- "symfony/dependency-injection": "^4.4|^5.1",
- "symfony/filesystem": "^4.4|^5.1",
- "symfony/finder": "^4.4|^5.1",
- "symfony/yaml": "^4.4|^5.1",
- "symplify/smart-file-system": "^8.3.48",
- "symplify/symplify-kernel": "^8.3.48"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5|^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symplify\\SetConfigResolver\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Resolve config and sets from configs and cli opptions for CLI applications",
- "support": {
- "issues": "https://github.com/symplify/set-config-resolver/issues",
- "source": "https://github.com/symplify/set-config-resolver/tree/8.3.48"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/rectorphp",
- "type": "custom"
- },
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2020-10-26T10:38:48+00:00"
- },
- {
- "name": "symplify/smart-file-system",
- "version": "8.3.48",
- "source": {
- "type": "git",
- "url": "https://github.com/symplify/smart-file-system.git",
- "reference": "4146069c725b7c6e2f53924a151286f1e26c132f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symplify/smart-file-system/zipball/4146069c725b7c6e2f53924a151286f1e26c132f",
- "reference": "4146069c725b7c6e2f53924a151286f1e26c132f",
- "shasum": ""
- },
- "require": {
- "nette/utils": "^3.0",
- "php": ">=7.2",
- "symfony/filesystem": "^4.4|^5.1",
- "symfony/finder": "^4.4|^5.1"
- },
- "require-dev": {
- "nette/finder": "^2.5",
- "phpunit/phpunit": "^8.5|^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symplify\\SmartFileSystem\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Sanitized FileInfo with safe getRealPath() and other handy methods",
- "support": {
- "source": "https://github.com/symplify/smart-file-system/tree/8.3.48"
- },
- "funding": [
- {
- "url": "https://www.paypal.me/rectorphp",
- "type": "custom"
- },
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2020-10-26T10:38:48+00:00"
- },
- {
- "name": "symplify/symplify-kernel",
- "version": "8.3.48",
- "source": {
- "type": "git",
- "url": "https://github.com/symplify/symplify-kernel.git",
- "reference": "c79dc6ce559b408c08e9fbc044f59cbb64961cf9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symplify/symplify-kernel/zipball/c79dc6ce559b408c08e9fbc044f59cbb64961cf9",
- "reference": "c79dc6ce559b408c08e9fbc044f59cbb64961cf9",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2",
- "symfony/console": "^4.4|^5.1",
- "symfony/dependency-injection": "^4.4|^5.1",
- "symfony/http-kernel": "^4.4|^5.1",
- "symplify/package-builder": "^8.3.48",
- "symplify/smart-file-system": "^8.3.48"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5|^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symplify\\SymplifyKernel\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Internal Kernel for Symplify packages",
- "support": {
- "issues": "https://github.com/symplify/symplify-kernel/issues",
- "source": "https://github.com/symplify/symplify-kernel/tree/8.3.48"
- },
- "time": "2020-10-26T10:38:48+00:00"
- },
- {
- "name": "theseer/tokenizer",
- "version": "1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/theseer/tokenizer.git",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- }
- ],
- "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "support": {
- "issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/master"
- },
- "funding": [
- {
- "url": "https://github.com/theseer",
- "type": "github"
- }
- ],
- "time": "2020-07-12T23:59:07+00:00"
- },
- {
- "name": "umbrellio/code-style-php",
- "version": "1.0.7",
- "source": {
- "type": "git",
- "url": "https://github.com/umbrellio/code-style-php.git",
- "reference": "82068b3ba5332fa4358343651ee5269074bf4d9c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/umbrellio/code-style-php/zipball/82068b3ba5332fa4358343651ee5269074bf4d9c",
- "reference": "82068b3ba5332fa4358343651ee5269074bf4d9c",
- "shasum": ""
- },
- "require": {
- "php": "^7.2|^7.3|^7.4|^8.0",
- "symplify/easy-coding-standard": "^7.0|^8.0"
- },
- "type": "library",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Vitaliy Lazeev",
- "email": "vetal@umbrellio.biz"
- },
- {
- "name": "Umbrellio",
- "email": "oss@umbrellio.biz"
- }
- ],
- "description": "Umbrellio php code style.",
- "homepage": "https://github.com/umbrellio/code-style-php",
- "keywords": [
- "code-style",
- "umbrellio"
- ],
- "support": {
- "issues": "https://github.com/umbrellio/code-style-php/issues",
- "source": "https://github.com/umbrellio/code-style-php"
- },
- "time": "2020-12-19T17:51:26+00:00"
- }
- ],
- "aliases": [],
- "minimum-stability": "stable",
- "stability-flags": [],
- "prefer-stable": false,
- "prefer-lowest": false,
- "platform": {
- "php": "^7.2|^7.3|^7.4|^8.0"
- },
- "platform-dev": [],
- "plugin-api-version": "2.0.0"
-}
diff --git a/ecs.php b/ecs.php
new file mode 100644
index 0000000..800b505
--- /dev/null
+++ b/ecs.php
@@ -0,0 +1,35 @@
+import(__DIR__ . '/vendor/umbrellio/code-style-php/umbrellio-cs.php');
+
+ $services = $containerConfigurator->services();
+
+ $services->set(PhpUnitTestAnnotationFixer::class)
+ ->call('configure', [[
+ 'style' => 'annotation',
+ ]]);
+
+ $services->set(DeclareStrictTypesFixer::class);
+
+ $services->set(BinaryOperatorSpacesFixer::class)
+ ->call('configure', [[
+ 'default' => 'single_space',
+ ]]);
+
+ $parameters = $containerConfigurator->parameters();
+
+ $parameters->set('cache_directory', '.ecs_cache');
+ $parameters->set('skip', [
+ 'PhpCsFixer\Fixer\Phpdoc\GeneralPhpdocAnnotationRemoveFixer' => null,
+ ]);
+
+ $parameters->set('exclude_files', ['vendor/*', 'database/*']);
+};
diff --git a/phpcs.xml b/phpcs.xml
new file mode 100644
index 0000000..4a064b6
--- /dev/null
+++ b/phpcs.xml
@@ -0,0 +1,9 @@
+
+
+ ./
+ ./vendor/*
+ ./database/*
+ ./tests/*
+ ./.github/*
+
+
diff --git a/phpunit.github.xml b/phpunit.github.xml
deleted file mode 100644
index 51fceaa..0000000
--- a/phpunit.github.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- ./tests
-
-
-
-
- ./src
-
- ./src/.meta.php
-
-
-
-
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 1e2c087..171e95d 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -1,30 +1,31 @@
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
- ./src
-
- ./src/.meta.php
-
-
-
./tests
+
diff --git a/src/.meta.php b/src/.meta.php
index 89aeac7..797885a 100644
--- a/src/.meta.php
+++ b/src/.meta.php
@@ -1,7 +1,19 @@
wrapTable($blueprint),
$command->get('partition'),
self::compileForValues($command)
@@ -23,7 +24,8 @@ public static function compile(Grammar $grammar, Blueprint $blueprint, Fluent $c
private static function compileForValues(Fluent $command): string
{
- if ($range = $command->get('range')) {
+ $range = $command->get('range');
+ if ($range) {
$from = self::formatValue($range['from']);
$to = self::formatValue($range['to']);
return "for values from ({$from}) to ({$to})";
diff --git a/src/Compilers/CheckCompiler.php b/src/Compilers/CheckCompiler.php
index f0b3061..c42ed12 100644
--- a/src/Compilers/CheckCompiler.php
+++ b/src/Compilers/CheckCompiler.php
@@ -19,7 +19,7 @@ public static function compile(Grammar $grammar, Blueprint $blueprint, CheckBuil
return sprintf(
'ALTER TABLE %s ADD CONSTRAINT %s CHECK (%s)',
- $blueprint->getTable(),
+ $blueprint->getTable(),
$command->get('index'),
static::removeLeadingBoolean(implode(' ', $wheres))
);
diff --git a/src/Compilers/CreateCompiler.php b/src/Compilers/CreateCompiler.php
index 38d2844..3bd655a 100644
--- a/src/Compilers/CreateCompiler.php
+++ b/src/Compilers/CreateCompiler.php
@@ -10,9 +10,13 @@
class CreateCompiler
{
+ /**
+ * @codeCoverageIgnore
+ */
public static function compile(Grammar $grammar, Blueprint $blueprint, array $columns, array $commands = []): string
{
- $compiledCommand = sprintf('%s table %s %s (%s)',
+ $compiledCommand = sprintf(
+ '%s table %s %s (%s)',
$blueprint->temporary ? 'create temporary' : 'create',
self::beforeTable($commands['ifNotExists']),
$grammar->wrapTable($blueprint),
@@ -29,6 +33,9 @@ private static function beforeTable(?Fluent $command = null): string
return $command ? 'if not exists' : '';
}
+ /**
+ * @codeCoverageIgnore
+ */
private static function compileLike(Grammar $grammar, Fluent $command): string
{
$table = $command->get('table');
diff --git a/src/Compilers/ExcludeCompiler.php b/src/Compilers/ExcludeCompiler.php
index 6d1d85f..ec535af 100644
--- a/src/Compilers/ExcludeCompiler.php
+++ b/src/Compilers/ExcludeCompiler.php
@@ -72,7 +72,7 @@ private static function compileWheres(Grammar $grammar, Blueprint $blueprint, Fl
{
$wheres = static::build($grammar, $blueprint, $command);
- if ($wheres) {
+ if (! empty($wheres)) {
return sprintf('WHERE %s', static::removeLeadingBoolean(implode(' ', $wheres)));
}
diff --git a/src/Compilers/Traits/WheresBuilder.php b/src/Compilers/Traits/WheresBuilder.php
index 94f8084..54d72b9 100644
--- a/src/Compilers/Traits/WheresBuilder.php
+++ b/src/Compilers/Traits/WheresBuilder.php
@@ -38,7 +38,7 @@ protected static function whereColumn(Grammar $grammar, Blueprint $blueprint, ar
protected static function whereIn(Grammar $grammar, Blueprint $blueprint, array $where = []): string
{
- if (!empty($where['values'])) {
+ if (! empty($where['values'])) {
return implode(' ', [
$grammar->wrap($where['column']),
'in',
@@ -50,7 +50,7 @@ protected static function whereIn(Grammar $grammar, Blueprint $blueprint, array
protected static function whereNotIn(Grammar $grammar, Blueprint $blueprint, array $where = []): string
{
- if (!empty($where['values'])) {
+ if (! empty($where['values'])) {
return implode(' ', [
$grammar->wrap($where['column']),
'not in',
diff --git a/src/Compilers/UniqueCompiler.php b/src/Compilers/UniqueCompiler.php
index 4de68db..fe67013 100644
--- a/src/Compilers/UniqueCompiler.php
+++ b/src/Compilers/UniqueCompiler.php
@@ -26,7 +26,7 @@ public static function compile(
'CREATE UNIQUE INDEX %s ON %s (%s) WHERE %s',
$fluent->get('index'),
$blueprint->getTable(),
- implode(',', $fluent->get('columns')),
+ implode(',', (array) $fluent->get('columns')),
static::removeLeadingBoolean(implode(' ', $wheres))
);
}
diff --git a/src/Connectors/ConnectionFactory.php b/src/Connectors/ConnectionFactory.php
index 7f8359e..6f130de 100644
--- a/src/Connectors/ConnectionFactory.php
+++ b/src/Connectors/ConnectionFactory.php
@@ -12,7 +12,8 @@ class ConnectionFactory extends ConnectionFactoryBase
{
protected function createConnection($driver, $connection, $database, $prefix = '', array $config = [])
{
- if ($resolver = Connection::getResolver($driver)) {
+ $resolver = Connection::getResolver($driver);
+ if ($resolver) {
return $resolver($connection, $database, $prefix, $config);
}
diff --git a/src/Extensions/AbstractExtension.php b/src/Extensions/AbstractExtension.php
index d996045..1b6c170 100644
--- a/src/Extensions/AbstractExtension.php
+++ b/src/Extensions/AbstractExtension.php
@@ -25,14 +25,14 @@ public static function getTypes(): array
final public static function register(): void
{
collect(static::getMixins())->each(static function ($extension, $mixin) {
- if (!is_subclass_of($mixin, AbstractComponent::class)) {
+ if (! is_subclass_of($mixin, AbstractComponent::class)) {
throw new MixinInvalidException(sprintf(
'Mixed class %s is not descendant of %s.',
$mixin,
AbstractComponent::class
));
}
- if (!method_exists($extension, 'mixin')) {
+ if (! method_exists($extension, 'mixin')) {
throw new MacroableMissedException(sprintf('Class %s doesn’t use Macroable Trait.', $extension));
}
/** @var Macroable $extension */
diff --git a/src/Helpers/ColumnAssertions.php b/src/Helpers/ColumnAssertions.php
index e586d19..56b40e6 100644
--- a/src/Helpers/ColumnAssertions.php
+++ b/src/Helpers/ColumnAssertions.php
@@ -6,13 +6,13 @@
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
-use PHPUnit\Framework\TestCase;
-/**
- * @mixin TestCase
- */
trait ColumnAssertions
{
+ abstract public static function assertNull($actual, string $message = ''): void;
+
+ abstract public static function assertSame($expected, $actual, string $message = ''): void;
+
protected function assertCommentOnColumn(string $table, string $column, ?string $expected = null): void
{
$comment = $this->getCommentListing($table, $column);
diff --git a/src/Helpers/IndexAssertions.php b/src/Helpers/IndexAssertions.php
index 62d610c..a89922c 100644
--- a/src/Helpers/IndexAssertions.php
+++ b/src/Helpers/IndexAssertions.php
@@ -5,13 +5,28 @@
namespace Umbrellio\Postgres\Helpers;
use Illuminate\Support\Facades\DB;
-use PHPUnit\Framework\TestCase;
/**
- * @mixin TestCase
+ * @codeCoverageIgnore
*/
trait IndexAssertions
{
+ abstract public static function assertNotNull($actual, string $message = ''): void;
+
+ abstract public static function assertSame($expected, $actual, string $message = ''): void;
+
+ abstract public static function assertNull($actual, string $message = ''): void;
+
+ abstract public static function assertMatchesRegularExpression(
+ string $pattern,
+ string $string,
+ string $message = ''
+ ): void;
+
+ abstract public static function assertTrue($condition, string $message = ''): void;
+
+ abstract public static function assertFalse($condition, string $message = ''): void;
+
protected function seeIndex(string $index): void
{
$this->assertNotNull($this->getIndexListing($index));
@@ -35,7 +50,7 @@ protected function assertRegExpIndex(string $index, string $expectedDef): void
$definition = $this->getIndexListing($index);
$this->seeIndex($index);
- $this->assertMatchesRegularExpression($expectedDef, $definition);
+ $this->assertMatchesRegularExpression($expectedDef, $definition ?: '');
}
protected function dontSeeConstraint(string $table, string $index): void
@@ -57,15 +72,14 @@ private function getIndexListing($index): ?string
private function existConstraintOnTable(string $table, string $index): bool
{
- $definition = DB::selectOne('
+ $expression = '
SELECT c.conname
FROM pg_constraint c
LEFT JOIN pg_class t ON c.conrelid = t.oid
LEFT JOIN pg_class t2 ON c.confrelid = t2.oid
WHERE t.relname = ? AND c.conname = ?;
- ',
- [$table, $index]
- );
+ ';
+ $definition = DB::selectOne($expression, [$table, $index]);
return $definition ? true : false;
}
}
diff --git a/src/Helpers/TableAssertions.php b/src/Helpers/TableAssertions.php
index 2a3c7b2..6b4b81b 100644
--- a/src/Helpers/TableAssertions.php
+++ b/src/Helpers/TableAssertions.php
@@ -5,13 +5,16 @@
namespace Umbrellio\Postgres\Helpers;
use Illuminate\Support\Facades\Schema;
-use PHPUnit\Framework\TestCase;
/**
- * @mixin TestCase
+ * @codeCoverageIgnore
*/
trait TableAssertions
{
+ abstract public static function assertSame($expected, $actual, string $message = ''): void;
+
+ abstract public static function assertTrue($condition, string $message = ''): void;
+
protected function assertCompareTables(string $sourceTable, string $destinationTable): void
{
$this->assertSame($this->getTableDefinition($sourceTable), $this->getTableDefinition($destinationTable));
diff --git a/src/Helpers/ViewAssertions.php b/src/Helpers/ViewAssertions.php
index 73cd6b1..9873f74 100644
--- a/src/Helpers/ViewAssertions.php
+++ b/src/Helpers/ViewAssertions.php
@@ -5,13 +5,18 @@
namespace Umbrellio\Postgres\Helpers;
use Illuminate\Support\Facades\Schema;
-use PHPUnit\Framework\TestCase;
/**
- * @mixin TestCase
+ * @codeCoverageIgnore
*/
trait ViewAssertions
{
+ abstract public static function assertSame($expected, $actual, string $message = ''): void;
+
+ abstract public static function assertTrue($condition, string $message = ''): void;
+
+ abstract public static function assertFalse($condition, string $message = ''): void;
+
protected function assertSameView(string $expectedDef, string $view): void
{
$definition = $this->getViewDefinition($view);
diff --git a/src/PostgresConnection.php b/src/PostgresConnection.php
index 96ade14..a0c5ba1 100644
--- a/src/PostgresConnection.php
+++ b/src/PostgresConnection.php
@@ -5,8 +5,7 @@
namespace Umbrellio\Postgres;
use DateTimeInterface;
-use Doctrine\DBAL\Connection;
-use Doctrine\DBAL\Events;
+use Doctrine\DBAL\Types\Type;
use Illuminate\Database\PostgresConnection as BasePostgresConnection;
use Illuminate\Support\Traits\Macroable;
use PDO;
@@ -14,29 +13,31 @@
use Umbrellio\Postgres\Extensions\Exceptions\ExtensionInvalidException;
use Umbrellio\Postgres\Schema\Builder;
use Umbrellio\Postgres\Schema\Grammars\PostgresGrammar;
-use Umbrellio\Postgres\Schema\Subscribers\SchemaAlterTableChangeColumnSubscriber;
use Umbrellio\Postgres\Schema\Types\NumericType;
use Umbrellio\Postgres\Schema\Types\TsRangeType;
+use Umbrellio\Postgres\Schema\Types\TsTzRangeType;
class PostgresConnection extends BasePostgresConnection
{
use Macroable;
+ public $name;
+
private static $extensions = [];
private $initialTypes = [
TsRangeType::TYPE_NAME => TsRangeType::class,
+ TsTzRangeType::TYPE_NAME => TsTzRangeType::class,
NumericType::TYPE_NAME => NumericType::class,
];
/**
* @param AbstractExtension|string $extension
- * @throws ExtensionInvalidException
* @codeCoverageIgnore
*/
final public static function registerExtension(string $extension): void
{
- if (!is_subclass_of($extension, AbstractExtension::class)) {
+ if (! is_subclass_of($extension, AbstractExtension::class)) {
throw new ExtensionInvalidException(sprintf(
'Class %s must be implemented from %s',
$extension,
@@ -62,13 +63,6 @@ public function useDefaultPostProcessor(): void
$this->registerInitialTypes();
}
- public function getDoctrineConnection(): Connection
- {
- $doctrineConnection = parent::getDoctrineConnection();
- $this->overrideDoctrineBehavior($doctrineConnection);
- return $doctrineConnection;
- }
-
public function bindValues($statement, $bindings)
{
if ($this->getPdo()->getAttribute(PDO::ATTR_EMULATE_PREPARES)) {
@@ -120,9 +114,9 @@ protected function getDefaultSchemaGrammar()
private function registerInitialTypes(): void
{
foreach ($this->initialTypes as $type => $typeClass) {
- $this
- ->getSchemaBuilder()
- ->registerCustomDoctrineType($typeClass, $type, $type);
+ if (! Type::hasType($type)) {
+ Type::addType($type, $typeClass);
+ }
}
}
@@ -135,20 +129,10 @@ private function registerExtensions(): void
/** @var AbstractExtension $extension */
$extension::register();
foreach ($extension::getTypes() as $type => $typeClass) {
- $this->getSchemaBuilder()
- ->registerCustomDoctrineType($typeClass, $type, $type);
+ if (! Type::hasType($type)) {
+ Type::addType($type, $typeClass);
+ }
}
});
}
-
- private function overrideDoctrineBehavior(Connection $connection): Connection
- {
- $eventManager = $connection->getEventManager();
- if (!$eventManager->hasListeners(Events::onSchemaAlterTableChangeColumn)) {
- $eventManager->addEventSubscriber(new SchemaAlterTableChangeColumnSubscriber());
- }
- $connection->getDatabasePlatform()
- ->setEventManager($eventManager);
- return $connection;
- }
}
diff --git a/src/Schema/Blueprint.php b/src/Schema/Blueprint.php
index b1426c6..606600d 100644
--- a/src/Schema/Blueprint.php
+++ b/src/Schema/Blueprint.php
@@ -4,6 +4,7 @@
namespace Umbrellio\Postgres\Schema;
+use Doctrine\DBAL\DriverManager;
use Illuminate\Database\Schema\Blueprint as BaseBlueprint;
use Illuminate\Database\Schema\ColumnDefinition;
use Illuminate\Support\Facades\Schema;
@@ -29,13 +30,18 @@
use Umbrellio\Postgres\Schema\Definitions\Tables\AttachPartitionDefinition;
use Umbrellio\Postgres\Schema\Definitions\Tables\LikeDefinition;
use Umbrellio\Postgres\Schema\Definitions\Views\ViewDefinition;
+use Umbrellio\Postgres\Schema\Types\DateRangeType;
+use Umbrellio\Postgres\Schema\Types\TsRangeType;
+use Umbrellio\Postgres\Schema\Types\TsTzRangeType;
class Blueprint extends BaseBlueprint
{
+ protected $commands = [];
+
/**
- * @return AttachPartitionDefinition
+ * @return AttachPartitionDefinition|Fluent
*/
- public function attachPartition(string $partition)
+ public function attachPartition(string $partition): Fluent
{
return $this->addCommand('attachPartition', compact('partition'));
}
@@ -46,13 +52,17 @@ public function detachPartition(string $partition): void
}
/**
- * @return LikeDefinition
+ * @codeCoverageIgnore
+ * @return LikeDefinition|Fluent
*/
- public function like(string $table)
+ public function like(string $table): Fluent
{
return $this->addCommand('like', compact('table'));
}
+ /**
+ * @codeCoverageIgnore
+ */
public function ifNotExists(): Fluent
{
return $this->addCommand('ifNotExists');
@@ -60,9 +70,9 @@ public function ifNotExists(): Fluent
/**
* @param array|string $columns
- * @return UniqueDefinition
+ * @return UniqueDefinition|UniqueBuilder
*/
- public function uniquePartial($columns, ?string $index = null, ?string $algorithm = null)
+ public function uniquePartial($columns, ?string $index = null, ?string $algorithm = null): Fluent
{
$columns = (array) $columns;
@@ -82,9 +92,9 @@ public function dropUniquePartial($index): Fluent
/**
* @param array|string $columns
- * @return ExcludeDefinition
+ * @return ExcludeDefinition|ExcludeBuilder
*/
- public function exclude($columns, ?string $index = null)
+ public function exclude($columns, ?string $index = null): Fluent
{
$columns = (array) $columns;
@@ -95,9 +105,9 @@ public function exclude($columns, ?string $index = null)
/**
* @param array|string $columns
- * @return CheckDefinition
+ * @return CheckDefinition|CheckBuilder
*/
- public function check($columns, ?string $index = null)
+ public function check($columns, ?string $index = null): Fluent
{
$columns = (array) $columns;
@@ -116,6 +126,9 @@ public function dropCheck($index): Fluent
return $this->dropIndexCommand('dropUnique', 'chk', $index);
}
+ /**
+ * @codeCoverageIgnore
+ */
public function hasIndex($index, bool $unique = false): bool
{
if (is_array($index)) {
@@ -126,7 +139,8 @@ public function hasIndex($index, bool $unique = false): bool
}
/**
- * @return ViewDefinition
+ * @codeCoverageIgnore
+ * @return ViewDefinition|Fluent
*/
public function createView(string $view, string $select, bool $materialize = false)
{
@@ -173,6 +187,9 @@ public function dropProcedure(string $name)
return $this->addExtendedCommand(DropProcedureBuilder::class, 'dropProcedure', compact('name'));
}
+ /**
+ * @codeCoverageIgnore
+ */
public function dropView(string $view): Fluent
{
return $this->addCommand('dropView', compact('view'));
@@ -188,23 +205,50 @@ public function dropTrigger(string $name, bool $dropDepends = false)
/**
* Almost like 'decimal' type, but can be with variable precision (by default)
+ *
+ * @return Fluent|ColumnDefinition
*/
- public function numeric(string $column, ?int $precision = null, ?int $scale = null): ColumnDefinition
+ public function numeric(string $column, ?int $precision = null, ?int $scale = null): Fluent
{
return $this->addColumn('numeric', $column, compact('precision', 'scale'));
}
- public function tsrange(string $column): ColumnDefinition
+ /**
+ * @return Fluent|ColumnDefinition
+ */
+ public function tsrange(string $column): Fluent
{
- return $this->addColumn('tsrange', $column);
+ return $this->addColumn(TsRangeType::TYPE_NAME, $column);
}
+ /**
+ * @return Fluent|ColumnDefinition
+ */
+ public function tstzrange(string $column): Fluent
+ {
+ return $this->addColumn(TsTzRangeType::TYPE_NAME, $column);
+ }
+
+ /**
+ * @return Fluent|ColumnDefinition
+ */
+ public function daterange(string $column): Fluent
+ {
+ return $this->addColumn(DateRangeType::TYPE_NAME, $column);
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
protected function getSchemaManager()
{
- return Schema::getConnection()->getDoctrineSchemaManager();
+ /** @scrutinizer ignore-call */
+ $connection = Schema::getConnection();
+ $doctrineConnection = DriverManager::getConnection($connection->getConfig());
+ return $doctrineConnection->getSchemaManager();
}
- private function addExtendedCommand(string $fluent, string $name, array $parameters = [])
+ private function addExtendedCommand(string $fluent, string $name, array $parameters = []): Fluent
{
$command = new $fluent(array_merge(compact('name'), $parameters));
$this->commands[] = $command;
diff --git a/src/Schema/Builder.php b/src/Schema/Builder.php
index 1c35da7..487e636 100644
--- a/src/Schema/Builder.php
+++ b/src/Schema/Builder.php
@@ -12,6 +12,11 @@ class Builder extends BasePostgresBuilder
{
use Macroable;
+ public $name;
+
+ /**
+ * @codeCoverageIgnore
+ */
public function createView(string $view, string $select, $materialize = false): void
{
$blueprint = $this->createBlueprint($view);
@@ -19,6 +24,9 @@ public function createView(string $view, string $select, $materialize = false):
$this->build($blueprint);
}
+ /**
+ * @codeCoverageIgnore
+ */
public function dropView(string $view): void
{
$blueprint = $this->createBlueprint($view);
@@ -26,7 +34,10 @@ public function dropView(string $view): void
$this->build($blueprint);
}
- public function hasView(string $view): bool
+ /**
+ * @codeCoverageIgnore
+ */
+ public function hasView($view): bool
{
return count($this->connection->selectFromWriteConnection($this->grammar->compileViewExists(), [
$this->connection->getConfig()['schema'],
@@ -34,6 +45,17 @@ public function hasView(string $view): bool
])) > 0;
}
+ /**
+ * @codeCoverageIgnore
+ */
+ public function getForeignKeys($tableName): array
+ {
+ return $this->connection->selectFromWriteConnection($this->grammar->compileForeignKeysListing($tableName));
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
public function getViewDefinition($view): string
{
$results = $this->connection->selectFromWriteConnection($this->grammar->compileViewDefinition(), [
diff --git a/src/Schema/Builders/WhereBuilderTrait.php b/src/Schema/Builders/WhereBuilderTrait.php
index 0fe5cfb..7962b68 100644
--- a/src/Schema/Builders/WhereBuilderTrait.php
+++ b/src/Schema/Builders/WhereBuilderTrait.php
@@ -7,10 +7,12 @@
use Illuminate\Support\Fluent;
/**
- * @mixin Fluent
+ * @see Fluent
*/
trait WhereBuilderTrait
{
+ protected $attributes = [];
+
public function whereRaw(string $sql, array $bindings = [], string $boolean = 'and'): self
{
return $this->compileWhere('Raw', $boolean, compact('sql', 'bindings'));
diff --git a/src/Schema/Definitions/ForeignKeyDefinition.php b/src/Schema/Definitions/ForeignKeyDefinition.php
new file mode 100644
index 0000000..b40ab11
--- /dev/null
+++ b/src/Schema/Definitions/ForeignKeyDefinition.php
@@ -0,0 +1,14 @@
+wrapTable($blueprint),
$command->get('partition')
);
}
+ /**
+ * @codeCoverageIgnore
+ */
public function compileCreateView(Blueprint $blueprint, Fluent $command): string
{
$materialize = $command->get('materialize') ? 'materialized' : '';
return implode(' ', array_filter([
- 'create', $materialize, 'view',
+ 'create',
+ $materialize,
+ 'view',
$this->wrapTable($command->get('view')),
- 'as', $command->get('select'),
+ 'as',
+ $command->get('select'),
]));
}
@@ -97,16 +114,47 @@ public function compileDropProcedure(Blueprint $blueprint, DropProcedureBuilder
return DropProcedureCompiler::compile($this, $blueprint, $command);
}
+ /**
+ * @codeCoverageIgnore
+ */
public function compileDropView(Blueprint $blueprint, Fluent $command): string
{
return 'drop view ' . $this->wrapTable($command->get('view'));
}
+ /**
+ * @codeCoverageIgnore
+ */
public function compileViewExists(): string
{
return 'select * from information_schema.views where table_schema = ? and table_name = ?';
}
+ /**
+ * @codeCoverageIgnore
+ */
+ public function compileForeignKeysListing(string $tableName): string
+ {
+ return sprintf("
+ SELECT
+ kcu.column_name as source_column_name,
+ ccu.table_name AS target_table_name,
+ ccu.column_name AS target_column_name
+ FROM
+ information_schema.table_constraints AS tc
+ JOIN information_schema.key_column_usage AS kcu
+ ON tc.constraint_name = kcu.constraint_name
+ AND tc.table_schema = kcu.table_schema
+ JOIN information_schema.constraint_column_usage AS ccu
+ ON ccu.constraint_name = tc.constraint_name
+ AND ccu.table_schema = tc.table_schema
+ WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name='%s';
+ ", $tableName);
+ }
+
+ /**
+ * @codeCoverageIgnore
+ */
public function compileViewDefinition(): string
{
return 'select view_definition from information_schema.views where table_schema = ? and table_name = ?';
@@ -133,16 +181,16 @@ public function compileCheck(Blueprint $blueprint, CheckBuilder $command): strin
protected function typeNumeric(Fluent $column): string
{
- $type = 'numeric';
+ $type = NumericType::TYPE_NAME;
$precision = $column->get('precision');
$scale = $column->get('scale');
if ($precision && $scale) {
- return "${type}({$precision}, {$scale})";
+ return "{$type}({$precision}, {$scale})";
}
if ($precision) {
- return "${type}({$precision})";
+ return "{$type}({$precision})";
}
return $type;
@@ -150,6 +198,16 @@ protected function typeNumeric(Fluent $column): string
protected function typeTsrange(Fluent $column): string
{
- return 'tsrange';
+ return TsRangeType::TYPE_NAME;
+ }
+
+ protected function typeTstzrange(Fluent $column): string
+ {
+ return TsTzRangeType::TYPE_NAME;
+ }
+
+ protected function typeDaterange(Fluent $column): string
+ {
+ return DateRangeType::TYPE_NAME;
}
}
diff --git a/src/Schema/Subscribers/SchemaAlterTableChangeColumnSubscriber.php b/src/Schema/Subscribers/SchemaAlterTableChangeColumnSubscriber.php
deleted file mode 100644
index cfd9d7e..0000000
--- a/src/Schema/Subscribers/SchemaAlterTableChangeColumnSubscriber.php
+++ /dev/null
@@ -1,236 +0,0 @@
-preventDefault();
-
- $sql = $this->getAlterTableChangeColumnSQL(
- $event->getPlatform(),
- $event->getTableDiff(),
- $event->getColumnDiff()
- );
-
- $event->addSql($sql->unique()->toArray());
- }
-
- public function getSubscribedEvents(): array
- {
- return [Events::onSchemaAlterTableChangeColumn];
- }
-
- public function getAlterTableChangeColumnSQL(
- AbstractPlatform $platform,
- TableDiff $diff,
- ColumnDiff $columnDiff
- ): Collection {
- $sql = new Collection();
-
- $quoteName = $this->quoteName($platform, $diff);
-
- $oldColumnName = $columnDiff->getOldColumnName()
- ->getQuotedName($platform);
- $column = $columnDiff->column;
-
- $this->compileAlterColumnType($platform, $columnDiff, $column, $quoteName, $oldColumnName, $sql);
-
- $this->compileAlterColumnDefault($platform, $columnDiff, $column, $quoteName, $oldColumnName, $sql);
-
- $this->compileAlterColumnNull($columnDiff, $column, $quoteName, $oldColumnName, $sql);
-
- $this->compileAlterColumnSequence($platform, $columnDiff, $diff, $column, $quoteName, $oldColumnName, $sql);
-
- $this->compileAlterColumnComment($platform, $columnDiff, $column, $quoteName, $sql);
-
- if (!$columnDiff->hasChanged('length')) {
- return $sql;
- }
-
- $sql->add(sprintf(
- 'ALTER TABLE %s ALTER %s TYPE %s',
- $quoteName,
- $oldColumnName,
- $column->getType()
- ->getSQLDeclaration($column->toArray(), $platform)
- ));
-
- return $sql;
- }
-
- public function compileAlterColumnComment(
- AbstractPlatform $platform,
- ColumnDiff $columnDiff,
- Column $column,
- string $quoteName,
- Collection $sql
- ): void {
- $newComment = $this->getColumnComment($column);
- $oldComment = $this->getOldColumnComment($columnDiff);
-
- if (($columnDiff->fromColumn !== null && $oldComment !== $newComment)
- || $columnDiff->hasChanged('comment')
- ) {
- $sql->add($platform->getCommentOnColumnSQL($quoteName, $column->getQuotedName($platform), $newComment));
- }
- }
-
- public function compileAlterColumnNull(
- ColumnDiff $columnDiff,
- Column $column,
- string $quoteName,
- string $oldColumnName,
- Collection $sql
- ): void {
- if ($columnDiff->hasChanged('notnull')) {
- $sql->add(sprintf(
- 'ALTER TABLE %s ALTER %s %s NOT NULL',
- $quoteName,
- $oldColumnName,
- ($column->getNotnull() ? 'SET' : 'DROP')
- ));
- }
- }
-
- public function compileAlterColumnDefault(
- AbstractPlatform $platform,
- ColumnDiff $columnDiff,
- Column $column,
- string $quoteName,
- string $oldColumnName,
- Collection $sql
- ): void {
- if ($columnDiff->hasChanged('default') || $this->typeChangeBreaksDefaultValue($columnDiff)) {
- $defaultClause = $column->getDefault() === null
- ? ' DROP DEFAULT'
- : ' SET' . $this->getDefaultValueDeclarationSQL($platform, $column);
- $sql->add(sprintf('ALTER TABLE %s ALTER %s %s', $quoteName, $oldColumnName, trim($defaultClause)));
- }
- }
-
- public function compileAlterColumnSequence(
- AbstractPlatform $platform,
- ColumnDiff $columnDiff,
- TableDiff $diff,
- Column $column,
- string $quoteName,
- string $oldColumnName,
- Collection $sql
- ): void {
- if (!$columnDiff->hasChanged('autoincrement')) {
- return;
- }
-
- if (!$column->getAutoincrement()) {
- $sql->add(sprintf('ALTER TABLE %s ALTER %s DROP DEFAULT', $quoteName, $oldColumnName));
- return;
- }
-
- $seqName = $platform->getIdentitySequenceName($diff->name, $oldColumnName);
-
- $sql->add(sprintf('CREATE SEQUENCE %s', $seqName));
- $sql->add(sprintf("SELECT setval('%s', (SELECT MAX(%s) FROM %s))", $seqName, $oldColumnName, $quoteName));
- $sql->add(sprintf("ALTER TABLE %s ALTER %s SET DEFAULT nextval('%s')", $quoteName, $oldColumnName, $seqName));
- }
-
- public function compileAlterColumnType(
- AbstractPlatform $platform,
- ColumnDiff $columnDiff,
- Column $column,
- string $quoteName,
- string $oldColumnName,
- Collection $sql
- ): void {
- if (!$columnDiff->hasChanged('type')
- && !$columnDiff->hasChanged('precision')
- && !$columnDiff->hasChanged('scale')
- && !$columnDiff->hasChanged('fixed')
- ) {
- return;
- }
-
- $type = $column->getType();
-
- $columnDefinition = $column->toArray();
- $columnDefinition['autoincrement'] = false;
-
- if ($this->typeChangeBreaksDefaultValue($columnDiff)) {
- $sql->add(sprintf('ALTER TABLE %s ALTER %s DROP DEFAULT', $quoteName, $oldColumnName));
- }
-
- $typeName = $type->getSQLDeclaration($columnDefinition, $platform);
-
- if ($columnDiff->hasChanged('type')) {
- $using = sprintf('USING %s::%s', $oldColumnName, $typeName);
-
- if ($columnDefinition['using'] ?? false) {
- $using = 'USING ' . $columnDefinition['using'];
- }
- }
-
- $sql->add(trim(sprintf(
- 'ALTER TABLE %s ALTER %s TYPE %s %s',
- $quoteName,
- $oldColumnName,
- $typeName,
- $using ?? ''
- )));
- }
-
- public function getDefaultValueDeclarationSQL(AbstractPlatform $platform, Column $column): string
- {
- if ($column->getDefault() instanceof Expression) {
- return ' DEFAULT ' . $column->getDefault();
- }
-
- return $platform->getDefaultValueDeclarationSQL($column->toArray());
- }
-
- public function typeChangeBreaksDefaultValue(ColumnDiff $columnDiff): bool
- {
- $oldTypeIsNumeric = $this->isNumericType($columnDiff->fromColumn->getType());
- $newTypeIsNumeric = $this->isNumericType($columnDiff->column->getType());
-
- $isNumeric = !($oldTypeIsNumeric && $newTypeIsNumeric && $columnDiff->column->getAutoincrement());
-
- return $columnDiff->hasChanged('type') && $isNumeric;
- }
-
- public function isNumericType(Type $type): bool
- {
- return $type instanceof IntegerType || $type instanceof BigIntType;
- }
-
- public function quoteName(AbstractPlatform $platform, TableDiff $diff): string
- {
- return $diff->getName($platform)
- ->getQuotedName($platform);
- }
-
- public function getOldColumnComment(ColumnDiff $columnDiff): ?string
- {
- return $columnDiff->fromColumn ? $this->getColumnComment($columnDiff->fromColumn) : null;
- }
-
- public function getColumnComment(Column $column): ?string
- {
- return $column->getComment();
- }
-}
diff --git a/src/Schema/Types/DateRangeType.php b/src/Schema/Types/DateRangeType.php
new file mode 100644
index 0000000..520693e
--- /dev/null
+++ b/src/Schema/Types/DateRangeType.php
@@ -0,0 +1,23 @@
+app->bind('db.connection', function ($app) {
return $app['db']->connection();
});
+
+ $this->app->bind('db.schema', function ($app) {
+ return $app['db']->connection()->getSchemaBuilder();
+ });
+
+ $this->app->singleton('db.transactions', function ($app) {
+ return new DatabaseTransactionsManager();
+ });
}
}
diff --git a/tests.sh b/tests.sh
index 61335c7..c5a4636 100755
--- a/tests.sh
+++ b/tests.sh
@@ -1,9 +1,22 @@
#!/usr/bin/env bash
psql postgres -U postgres -tc "SELECT 1 FROM pg_database WHERE datname = 'testing'" | grep -q 1 || psql postgres -U postgres -c "CREATE DATABASE testing"
+sed -e "s/\${USERNAME}/postgres/" \
+ -e "s/\${PASSWORD}//" \
+ -e "s/\${DATABASE}/testing/" \
+ -e "s/\${HOST}/127.0.0.1/" \
+ phpunit.xml.dist > phpunit.xml
+COMPOSER_MEMORY_LIMIT=-1 composer update
composer lint
+php vendor/bin/phpunit -c phpunit.xml --migrate-configuration
if [ "x$EXCLUDE_GROUP" != "x" ]; then
- php -d pcov.directory='.' vendor/bin/phpunit --exclude-group $EXCLUDE_GROUP --coverage-html build
+ php -d pcov.directory='.' vendor/bin/phpunit \
+ --exclude-group $EXCLUDE_GROUP \
+ --coverage-html build \
+ --coverage-text
else
- php -d pcov.directory='.' vendor/bin/phpunit --exclude-group WithoutSchema,forPHP7,forPHP8 --coverage-html build
+ php -d pcov.directory='.' vendor/bin/phpunit \
+ --exclude-group WithoutSchema,forPHP7 \
+ --coverage-html build \
+ --coverage-text
fi
diff --git a/tests/Functional/Connection/ConnectionTest.php b/tests/Functional/Connection/ConnectionTest.php
index 53171ad..2eeff4a 100644
--- a/tests/Functional/Connection/ConnectionTest.php
+++ b/tests/Functional/Connection/ConnectionTest.php
@@ -4,6 +4,7 @@
namespace Umbrellio\Postgres\Tests\Functional\Connection;
+use Generator;
use Illuminate\Database\Connection;
use Illuminate\Database\SQLiteConnection;
use Illuminate\Foundation\Testing\Concerns\InteractsWithDatabase;
@@ -11,6 +12,8 @@
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Test;
use Umbrellio\Postgres\Connectors\ConnectionFactory;
use Umbrellio\Postgres\Schema\Blueprint;
use Umbrellio\Postgres\Tests\_data\CustomSQLiteConnection;
@@ -18,13 +21,13 @@
class ConnectionTest extends FunctionalTestCase
{
- use DatabaseTransactions, InteractsWithDatabase;
+ use DatabaseTransactions;
+
+ use InteractsWithDatabase;
protected $emulatePrepares = true;
- /**
- * @test
- */
+ #[Test]
public function connectionFactory(): void
{
$factory = new ConnectionFactory(app());
@@ -32,9 +35,7 @@ public function connectionFactory(): void
$this->assertInstanceOf(SQLiteConnection::class, $factory->make(config('database.connections.sqlite')));
}
- /**
- * @test
- */
+ #[Test]
public function resolverFor(): void
{
Connection::resolverFor('sqlite', function ($connection, $database, $prefix, $config) {
@@ -49,10 +50,8 @@ public function resolverFor(): void
);
}
- /**
- * @test
- * @dataProvider boolDataProvider
- */
+ #[Test]
+ #[DataProvider('boolDataProvider')]
public function boolTrueBindingsWorks($value)
{
$table = 'test_table';
@@ -68,10 +67,8 @@ public function boolTrueBindingsWorks($value)
$this->assertSame(1, $result->count());
}
- /**
- * @test
- * @dataProvider intDataProvider
- */
+ #[Test]
+ #[DataProvider('intDataProvider')]
public function intBindingsWorks($value)
{
$table = 'test_table';
@@ -87,9 +84,7 @@ public function intBindingsWorks($value)
$this->assertSame(1, $result->count());
}
- /**
- * @test
- */
+ #[Test]
public function stringBindingsWorks()
{
$table = 'test_table';
@@ -105,9 +100,7 @@ public function stringBindingsWorks()
$this->assertSame(1, $result->count());
}
- /**
- * @test
- */
+ #[Test]
public function nullBindingsWorks()
{
$table = 'test_table';
@@ -124,10 +117,8 @@ public function nullBindingsWorks()
$this->assertSame(1, $result->count());
}
- /**
- * @test
- * @dataProvider dateDataProvider
- */
+ #[Test]
+ #[DataProvider('dateDataProvider')]
public function dateTimeBindingsWorks($value)
{
$table = 'test_table';
@@ -143,19 +134,19 @@ public function dateTimeBindingsWorks($value)
$this->assertSame(1, $result->count());
}
- public function boolDataProvider()
+ public static function boolDataProvider(): Generator
{
yield 'true' => [true];
yield 'false' => [false];
}
- public function intDataProvider()
+ public static function intDataProvider(): Generator
{
yield 'zero' => [0];
yield 'non-zero' => [10];
}
- public function dateDataProvider()
+ public static function dateDataProvider(): Generator
{
yield 'as string' => ['2019-01-01 13:12:22'];
yield 'as Carbon object' => [new Carbon('2019-01-01 13:12:22')];
diff --git a/tests/Functional/Schema/CreateIndexTest.php b/tests/Functional/Schema/CreateIndexTest.php
index 5684cac..aa597e3 100644
--- a/tests/Functional/Schema/CreateIndexTest.php
+++ b/tests/Functional/Schema/CreateIndexTest.php
@@ -11,6 +11,8 @@
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Test;
use Umbrellio\Postgres\Helpers\IndexAssertions;
use Umbrellio\Postgres\Helpers\TableAssertions;
use Umbrellio\Postgres\Schema\Blueprint;
@@ -18,63 +20,16 @@
class CreateIndexTest extends FunctionalTestCase
{
- use DatabaseTransactions, IndexAssertions, TableAssertions, InteractsWithDatabase;
+ use DatabaseTransactions;
- /**
- * @test
- */
- public function createIndexIfNotExists(): void
- {
- Schema::create('test_table', function (Blueprint $table) {
- $table->increments('id');
- $table->string('name');
-
- if (!$table->hasIndex(['name'], true)) {
- $table->unique(['name']);
- }
- });
-
- $this->seeTable('test_table');
-
- Schema::table('test_table', function (Blueprint $table) {
- if (!$table->hasIndex(['name'], true)) {
- $table->unique(['name']);
- }
- });
-
- $this->seeIndex('test_table_name_unique');
- }
+ use IndexAssertions;
- /**
- * @test
- * @group WithSchema
- */
- public function createIndexWithSchema(): void
- {
- $this->createIndexDefinition();
- $this->assertSameIndex(
- 'test_table_name_unique',
- 'CREATE UNIQUE INDEX test_table_name_unique ON public.test_table USING btree (name)'
- );
- }
+ use TableAssertions;
- /**
- * @test
- * @group WithoutSchema
- */
- public function createIndexWithoutSchema(): void
- {
- $this->createIndexDefinition();
- $this->assertSameIndex(
- 'test_table_name_unique',
- 'CREATE UNIQUE INDEX test_table_name_unique ON test_table USING btree (name)'
- );
- }
+ use InteractsWithDatabase;
- /**
- * @test
- * @dataProvider provideIndexes
- */
+ #[Test]
+ #[DataProvider('provideIndexes')]
public function createPartialUnique(string $expected, Closure $callback): void
{
Schema::create('test_table', function (Blueprint $table) use ($callback) {
@@ -93,7 +48,7 @@ public function createPartialUnique(string $expected, Closure $callback): void
$this->assertRegExpIndex('test_table_name_unique', '/' . $this->getDummyIndex() . $expected . '/');
Schema::table('test_table', function (Blueprint $table) {
- if (!$this->existConstraintOnTable($table->getTable(), 'test_table_name_unique')) {
+ if (! $this->existConstraintOnTable($table->getTable(), 'test_table_name_unique')) {
$table->dropUniquePartial(['name']);
} else {
$table->dropUnique(['name']);
@@ -103,9 +58,7 @@ public function createPartialUnique(string $expected, Closure $callback): void
$this->notSeeIndex('test_table_name_unique');
}
- /**
- * @test
- */
+ #[Test]
public function createSpecifyIndex(): void
{
Schema::create('test_table', function (Blueprint $table) {
@@ -121,7 +74,7 @@ public function createSpecifyIndex(): void
);
}
- public function provideIndexes(): Generator
+ public static function provideIndexes(): Generator
{
yield ['', function (Blueprint $table) {
$table->uniquePartial('name');
@@ -212,9 +165,7 @@ function (Blueprint $table) {
];
}
- /**
- * @test
- */
+ #[Test]
public function addExcludeConstraints(): void
{
DB::statement('CREATE EXTENSION IF NOT EXISTS btree_gist');
@@ -245,9 +196,7 @@ public function addExcludeConstraints(): void
$this->dontSeeConstraint('test_table', 'test_table_period_start_period_end_excl');
}
- /**
- * @test
- */
+ #[Test]
public function addCheckConstraints(): void
{
Schema::create('test_table', function (Blueprint $table) {
@@ -276,9 +225,7 @@ public function addCheckConstraints(): void
}
}
- /**
- * @test
- */
+ #[Test]
public function dropCheckConstraints(): void
{
Schema::create('test_table', function (Blueprint $table) {
@@ -309,7 +256,7 @@ private function createIndexDefinition(): void
$table->increments('id');
$table->string('name');
- if (!$table->hasIndex(['name'], true)) {
+ if (! $table->hasIndex(['name'], true)) {
$table->unique(['name']);
}
});
@@ -317,7 +264,7 @@ private function createIndexDefinition(): void
$this->seeTable('test_table');
Schema::table('test_table', function (Blueprint $table) {
- if (!$table->hasIndex(['name'], true)) {
+ if (! $table->hasIndex(['name'], true)) {
$table->unique(['name']);
}
});
@@ -325,14 +272,14 @@ private function createIndexDefinition(): void
$this->seeIndex('test_table_name_unique');
}
- private function provideSuccessData(): Generator
+ private static function provideSuccessData(): Generator
{
yield [1, '2019-01-01', '2019-01-31'];
yield [2, '2019-02-15', '2019-04-20'];
yield [3, '2019-03-07', '2019-06-24'];
}
- private function provideWrongData(): Generator
+ private static function provideWrongData(): Generator
{
yield [4, '2019-01-01', '2019-01-31'];
yield [1, '2019-07-15', '2019-04-20'];
diff --git a/tests/Functional/Schema/CreateTableTest.php b/tests/Functional/Schema/CreateTableTest.php
index c43ae55..44fd01a 100644
--- a/tests/Functional/Schema/CreateTableTest.php
+++ b/tests/Functional/Schema/CreateTableTest.php
@@ -6,6 +6,7 @@
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\Schema;
+use PHPUnit\Framework\Attributes\Test;
use Umbrellio\Postgres\Helpers\ColumnAssertions;
use Umbrellio\Postgres\Helpers\TableAssertions;
use Umbrellio\Postgres\Schema\Blueprint;
@@ -13,11 +14,13 @@
class CreateTableTest extends FunctionalTestCase
{
- use DatabaseTransactions, TableAssertions, ColumnAssertions;
+ use DatabaseTransactions;
- /**
- * @test
- */
+ use TableAssertions;
+
+ use ColumnAssertions;
+
+ #[Test]
public function createSimple(): void
{
Schema::create('test_table', function (Blueprint $table) {
@@ -32,9 +35,7 @@ public function createSimple(): void
$this->seeTable('test_table');
}
- /**
- * @test
- */
+ #[Test]
public function columnAssertions(): void
{
Schema::create('test_table', function (Blueprint $table) {
@@ -49,7 +50,7 @@ public function columnAssertions(): void
$this->assertSameTable(['id', 'name', 'field_comment', 'field_default'], 'test_table');
$this->assertPostgresTypeColumn('test_table', 'id', 'integer');
- $this->assertLaravelTypeColumn('test_table', 'name', 'string');
+ $this->assertLaravelTypeColumn('test_table', 'name', 'varchar');
$this->assertPostgresTypeColumn('test_table', 'name', 'character varying');
$this->assertDefaultOnColumn('test_table', 'field_default', '123');
@@ -58,45 +59,4 @@ public function columnAssertions(): void
$this->assertDefaultOnColumn('test_table', 'name');
$this->assertCommentOnColumn('test_table', 'name');
}
-
- /**
- * @test
- */
- public function createViaLike(): void
- {
- Schema::create('test_table', function (Blueprint $table) {
- $table->increments('id');
- $table->string('name');
- });
-
- Schema::create('test_table2', function (Blueprint $table) {
- $table->like('test_table');
- });
-
- $this->seeTable('test_table');
- $this->seeTable('test_table2');
- $this->assertCompareTables('test_table', 'test_table2');
- }
-
- /**
- * @test
- */
- public function createViaLikeIncludingAll(): void
- {
- Schema::create('test_table', function (Blueprint $table) {
- $table->increments('id');
- $table->string('name')
- ->unique();
- });
-
- Schema::create('test_table2', function (Blueprint $table) {
- $table->like('test_table')
- ->includingAll();
- $table->ifNotExists();
- });
-
- $this->seeTable('test_table');
- $this->seeTable('test_table2');
- $this->assertCompareTables('test_table', 'test_table2');
- }
}
diff --git a/tests/Functional/Schema/CreateViewTest.php b/tests/Functional/Schema/CreateViewTest.php
deleted file mode 100644
index 614b1e3..0000000
--- a/tests/Functional/Schema/CreateViewTest.php
+++ /dev/null
@@ -1,72 +0,0 @@
-increments('id');
- $table->string('name');
- });
- }
-
- protected function tearDown(): void
- {
- Schema::dropIfExists('test_table');
-
- parent::tearDown();
- }
-
- /**
- * @test
- */
- public function createFacadeView(): void
- {
- Schema::createView('test_view', 'select * from test_table where name is not null');
-
- $this->seeView('test_view');
- $this->assertSameView(
- 'select test_table.id, test_table.name from test_table where (test_table.name is not null);',
- 'test_view'
- );
-
- Schema::dropView('test_view');
- $this->notSeeView('test_view');
- }
-
- /**
- * @test
- */
- public function createBlueprintView(): void
- {
- Schema::table('test_table', function (Blueprint $table) {
- $table->createView('test_view', 'select * from test_table where name is not null');
- });
-
- $this->seeView('test_view');
- $this->assertSameView(
- 'select test_table.id, test_table.name from test_table where (test_table.name is not null);',
- 'test_view'
- );
-
- Schema::table('users', function (Blueprint $table) {
- $table->dropView('test_view');
- });
-
- $this->notSeeView('test_view');
- }
-}
diff --git a/tests/Functional/Subscribers/ChangeColumnSubscriberTest.php b/tests/Functional/Subscribers/ChangeColumnSubscriberTest.php
deleted file mode 100644
index ce0b2ec..0000000
--- a/tests/Functional/Subscribers/ChangeColumnSubscriberTest.php
+++ /dev/null
@@ -1,376 +0,0 @@
-blueprint = new Blueprint('some_table');
- $this->postgresGrammar = new PostgresGrammar();
- $this->subscriber = new SchemaAlterTableChangeColumnSubscriber();
- $this->platform = new PostgreSqlPlatform();
- }
-
- /**
- * @test
- */
- public function getSubscriberEvents(): void
- {
- $this->assertSame([Events::onSchemaAlterTableChangeColumn], $this->subscriber->getSubscribedEvents());
- }
-
- /**
- * @test
- * @group forPHP7
- * @dataProvider provideSchemas
- */
- public function changeSchema7(string $column, Closure $callback, array $expectedSQL): void
- {
- $callback($this->blueprint, $column);
- $eventArgs = $this->getEventArgsForColumn($column);
- $this->subscriber->onSchemaAlterTableChangeColumn($eventArgs);
-
- $this->assertSame($expectedSQL, $eventArgs->getSql());
- }
-
- /**
- * @test
- * @group forPHP8
- * @dataProvider provideSchemas
- */
- public function changeSchema8(string $column, Closure $callback, array $expectedSQL): void
- {
- $callback($this->blueprint, $column);
- $eventArgs = $this->getEventArgsForColumn($column, 'tableColumn');
- $this->subscriber->onSchemaAlterTableChangeColumn($eventArgs);
-
- $this->assertSame($expectedSQL, $eventArgs->getSql());
- }
-
- public function provideSchemas(): Generator
- {
- yield $this->dropCommentCase();
- yield $this->changeCommentCase();
- yield $this->dropNotNullCase();
- yield $this->createSequenceCase();
- yield $this->dropDefaultCase();
- yield $this->setSimpleDefaultCase();
- yield $this->setExpressionDefaultCase();
- yield $this->changeTypeWithUsingCase();
- yield $this->changeLengthCase();
- }
-
- private function getEventArgsForColumn(
- string $columnName,
- string $argumentName = 'tableName'
- ): SchemaAlterTableChangeColumnEventArgs {
- /** @var PostgresConnection $connection */
- $connection = DB::connection();
- $schemaManager = $connection->getDoctrineSchemaManager();
-
- $this->columns = [];
- foreach ($this->getListColumns() as $listColumn) {
- $this->columns[] = ReflectionHelper::invokePrivateMethod(
- $schemaManager,
- '_getPortableTableColumnDefinition',
- [
- $argumentName => $listColumn,
- ]
- );
- }
-
- $this->table = new Table('some_table', $this->columns);
-
- $this->tableDiff = (new Comparator())->diffTable(
- $this->table,
- $this
- ->getStaticMethod(ChangeColumn::class, 'getTableWithColumnChanges')
- ->invoke(null, $this->blueprint, $this->table)
- );
-
- foreach ($this->tableDiff->changedColumns as $columnDiff) {
- if ($columnDiff->oldColumnName !== $columnName) {
- continue;
- }
- $this->columnDiff = $columnDiff;
- }
-
- return new SchemaAlterTableChangeColumnEventArgs($this->columnDiff, $this->tableDiff, $this->platform);
- }
-
- private function dropCommentCase(): array
- {
- return [
- 'some_comment',
- function (Blueprint $table, string $column) {
- $table->string($column)
- ->nullable(false)
- ->change();
- },
- ['ALTER TABLE some_table ALTER some_comment SET NOT NULL'],
- ];
- }
-
- private function changeCommentCase(): array
- {
- return [
- 'some_comment',
- function (Blueprint $table, string $column) {
- $table->string($column)
- ->comment('new_comment')
- ->change();
- },
- ["COMMENT ON COLUMN some_table.some_comment IS 'new_comment'"],
- ];
- }
-
- private function dropNotNullCase(): array
- {
- return [
- 'some_integer_default',
- function (Blueprint $table, string $column) {
- $table->integer($column)
- ->nullable()
- ->change();
- },
- ['ALTER TABLE some_table ALTER some_integer_default DROP NOT NULL'],
- ];
- }
-
- private function createSequenceCase(): array
- {
- return [
- 'some_integer_default',
- function (Blueprint $table, string $column) {
- $table->increments($column)
- ->change();
- },
- [
- 'CREATE SEQUENCE some_table_some_integer_default_seq',
- "SELECT setval('some_table_some_integer_default_seq', (SELECT MAX(some_integer_default) FROM some_table))",
- "ALTER TABLE some_table ALTER some_integer_default SET DEFAULT nextval('some_table_some_integer_default_seq')",
- ],
- ];
- }
-
- private function dropDefaultCase(): array
- {
- return [
- 'some_key',
- function (Blueprint $table, string $column) {
- $table->integer($column)
- ->change();
- },
- [
- 'ALTER TABLE some_table ALTER some_key DROP DEFAULT',
- 'ALTER TABLE some_table ALTER some_key TYPE INT USING some_key::INT',
- ],
- ];
- }
-
- private function setSimpleDefaultCase(): array
- {
- return [
- 'some_comment',
- function (Blueprint $table, string $column) {
- $table->string($column)
- ->default('some_default')
- ->change();
- },
- ["ALTER TABLE some_table ALTER some_comment SET DEFAULT 'some_default'"],
- ];
- }
-
- private function setExpressionDefaultCase(): array
- {
- return [
- 'some_comment',
- function (Blueprint $table, string $column) {
- $table->string($column)
- ->default(new Expression("('some_string:' || some_comment)::character varying"))
- ->change();
- },
- [
- "ALTER TABLE some_table ALTER some_comment SET DEFAULT ('some_string:' || some_comment)::character varying",
- ],
- ];
- }
-
- private function changeTypeWithUsingCase(): array
- {
- return [
- 'some_integer_default',
- function (Blueprint $table, string $column) {
- $table
- ->text($column)
- ->default(null)
- ->using(sprintf("('[some_exp:' || %s || ']')::character varying", $column))
- ->change();
- },
- [
- 'ALTER TABLE some_table ALTER some_integer_default DROP DEFAULT',
- "ALTER TABLE some_table ALTER some_integer_default TYPE TEXT USING ('[some_exp:' || some_integer_default || ']')::character varying",
- ],
- ];
- }
-
- private function changeLengthCase(): array
- {
- return [
- 'some_comment',
- function (Blueprint $table, string $column) {
- $table->string($column, 75)
- ->change();
- },
- ['ALTER TABLE some_table ALTER some_comment TYPE VARCHAR(75)'],
- ];
- }
-
- private function getListColumns(): array
- {
- return [
- $this->getDefinitionSomeKeySequence(),
- $this->getDefinitionSomeString(),
- $this->getDefinitionSomeStringDefault(),
- $this->getDefinitionSomeIntegerDefault(),
- $this->getDefinitionSomeComment(),
- ];
- }
-
- private function getStaticMethod($class, $method): ReflectionMethod
- {
- $method = new ReflectionMethod($class, $method);
- $method->setAccessible(true);
-
- return $method;
- }
-
- private function getDefinitionSomeKeySequence(): array
- {
- return [
- 'attnum' => 1,
- 'field' => 'some_key',
- 'type' => 'int8',
- 'complete_type' => 'bigint',
- 'domain_type' => null,
- 'domain_complete_type' => null,
- 'isnotnull' => true,
- 'pri' => 't',
- 'default' => "nextval('some_table_some_key_seq'::regclass)",
- 'comment' => null,
- ];
- }
-
- private function getDefinitionSomeString(): array
- {
- return [
- 'attnum' => 2,
- 'field' => 'some_string',
- 'type' => 'varchar',
- 'complete_type' => 'character varying',
- 'domain_type' => null,
- 'domain_complete_type' => null,
- 'isnotnull' => false,
- 'pri' => null,
- 'default' => null,
- 'comment' => null,
- ];
- }
-
- private function getDefinitionSomeStringDefault(): array
- {
- return [
- 'attnum' => 3,
- 'field' => 'some_string_default',
- 'type' => 'varchar',
- 'complete_type' => 'character varying',
- 'domain_type' => null,
- 'domain_complete_type' => null,
- 'isnotnull' => true,
- 'pri' => null,
- 'default' => "'some_default_value'::character varying",
- 'comment' => null,
- ];
- }
-
- private function getDefinitionSomeIntegerDefault(): array
- {
- return [
- 'attnum' => 4,
- 'field' => 'some_integer_default',
- 'type' => 'int4',
- 'complete_type' => 'integer',
- 'domain_type' => null,
- 'domain_complete_type' => null,
- 'isnotnull' => true,
- 'pri' => null,
- 'default' => 1,
- 'comment' => null,
- ];
- }
-
- private function getDefinitionSomeComment(): array
- {
- return [
- 'attnum' => 5,
- 'field' => 'some_comment',
- 'type' => 'varchar',
- 'complete_type' => 'character varying',
- 'domain_type' => null,
- 'domain_complete_type' => null,
- 'isnotnull' => false,
- 'pri' => null,
- 'default' => null,
- 'comment' => 'some_comment_value',
- ];
- }
-}
diff --git a/tests/FunctionalTestCase.php b/tests/FunctionalTestCase.php
index 52a7ca2..962e53a 100644
--- a/tests/FunctionalTestCase.php
+++ b/tests/FunctionalTestCase.php
@@ -55,11 +55,11 @@ private function getConnectionParams(): array
{
return [
'driver' => $GLOBALS['db_type'] ?? 'pdo_pgsql',
- 'user' => env('POSTGRES_USER', $GLOBALS['db_username']),
- 'password' => env('POSTGRES_PASSWORD', $GLOBALS['db_password']),
- 'host' => env('POSTGRES_HOST', $GLOBALS['db_host']),
- 'database' => env('POSTGRES_DB', $GLOBALS['db_database']),
- 'port' => env('POSTGRES_PORT', $GLOBALS['db_port']),
+ 'user' => $GLOBALS['db_username'],
+ 'password' => $GLOBALS['db_password'],
+ 'host' => $GLOBALS['db_host'],
+ 'database' => $GLOBALS['db_database'],
+ 'port' => $GLOBALS['db_port'],
];
}
}
diff --git a/tests/Unit/Extensions/AbstractExtensionTest.php b/tests/Unit/Extensions/AbstractExtensionTest.php
index 94a515f..1f1fab9 100644
--- a/tests/Unit/Extensions/AbstractExtensionTest.php
+++ b/tests/Unit/Extensions/AbstractExtensionTest.php
@@ -6,6 +6,7 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\ServiceProvider;
+use PHPUnit\Framework\Attributes\Test;
use Umbrellio\Postgres\Extensions\AbstractComponent;
use Umbrellio\Postgres\Extensions\AbstractExtension;
use Umbrellio\Postgres\Extensions\Exceptions\MacroableMissedException;
@@ -15,9 +16,7 @@
class AbstractExtensionTest extends TestCase
{
- /**
- * @test
- */
+ #[Test]
public function registerInvalidExtension(): void
{
$abstractExtension = new ExtensionStub();
@@ -28,9 +27,7 @@ public function registerInvalidExtension(): void
$abstractExtension::register();
}
- /**
- * @test
- */
+ #[Test]
public function registerWithInvalidMixin(): void
{
$abstractExtension = new InvalidExtensionStub();
@@ -71,7 +68,7 @@ public static function getName(): string
public static function getMixins(): array
{
return [
- InvalidComponentStub::class => Blueprint::class,
+ \Umbrellio\Postgres\Tests\Unit\Extensions\InvalidComponentStub::class => Blueprint::class,
];
}
}
diff --git a/tests/Unit/Helpers/BlueprintAssertions.php b/tests/Unit/Helpers/BlueprintAssertions.php
index b5156a5..347a501 100644
--- a/tests/Unit/Helpers/BlueprintAssertions.php
+++ b/tests/Unit/Helpers/BlueprintAssertions.php
@@ -19,7 +19,9 @@
trait BlueprintAssertions
{
protected $blueprint;
+
protected $postgresConnection;
+
protected $postgresGrammar;
public function initializeMock(string $table)
diff --git a/tests/Unit/Schema/Blueprint/IndexTest.php b/tests/Unit/Schema/Blueprint/IndexTest.php
index 41ab57b..4badc08 100644
--- a/tests/Unit/Schema/Blueprint/IndexTest.php
+++ b/tests/Unit/Schema/Blueprint/IndexTest.php
@@ -2,10 +2,12 @@
declare(strict_types=1);
-namespace Umbrellio\Postgres\Unit\Schema\Blueprint;
+namespace Umbrellio\Postgres\Tests\Unit\Schema\Blueprint;
use Closure;
use Generator;
+use PHPUnit\Framework\Attributes\DataProvider;
+use PHPUnit\Framework\Attributes\Test;
use Umbrellio\Postgres\Schema\Blueprint;
use Umbrellio\Postgres\Tests\TestCase;
use Umbrellio\Postgres\Tests\Unit\Helpers\BlueprintAssertions;
@@ -23,17 +25,15 @@ protected function setUp(): void
$this->initializeMock(static::TABLE);
}
- /**
- * @test
- * @dataProvider provideExcludeConstraints
- */
+ #[Test]
+ #[DataProvider('provideExcludeConstraints')]
public function addConstraint(Closure $callback, string $expectedSQL): void
{
$callback($this->blueprint);
$this->assertSameSql($expectedSQL);
}
- public function provideExcludeConstraints(): Generator
+ public static function provideExcludeConstraints(): Generator
{
yield [
static function (Blueprint $table) {
diff --git a/tests/Unit/Schema/Blueprint/PartitionTest.php b/tests/Unit/Schema/Blueprint/PartitionTest.php
index 9335985..83dee94 100644
--- a/tests/Unit/Schema/Blueprint/PartitionTest.php
+++ b/tests/Unit/Schema/Blueprint/PartitionTest.php
@@ -2,10 +2,11 @@
declare(strict_types=1);
-namespace Umbrellio\Postgres\Unit\Schema\Blueprint;
+namespace Umbrellio\Postgres\Tests\Unit\Schema\Blueprint;
use Illuminate\Support\Carbon;
use InvalidArgumentException;
+use PHPUnit\Framework\Attributes\Test;
use Umbrellio\Postgres\Tests\TestCase;
use Umbrellio\Postgres\Tests\Unit\Helpers\BlueprintAssertions;
@@ -22,18 +23,14 @@ protected function setUp(): void
$this->initializeMock(static::TABLE);
}
- /**
- * @test
- */
+ #[Test]
public function detachPartition(): void
{
$this->blueprint->detachPartition('some_partition');
$this->assertSameSql('alter table "test_table" detach partition some_partition');
}
- /**
- * @test
- */
+ #[Test]
public function attachPartitionRangeInt(): void
{
$this->blueprint->attachPartition('some_partition')
@@ -44,9 +41,7 @@ public function attachPartitionRangeInt(): void
$this->assertSameSql('alter table "test_table" attach partition some_partition for values from (10) to (100)');
}
- /**
- * @test
- */
+ #[Test]
public function attachPartitionFailedWithoutForValuesPart(): void
{
$this->blueprint->attachPartition('some_partition');
@@ -54,9 +49,7 @@ public function attachPartitionFailedWithoutForValuesPart(): void
$this->runToSql();
}
- /**
- * @test
- */
+ #[Test]
public function attachPartitionRangeDates(): void
{
$today = Carbon::today();
@@ -74,9 +67,7 @@ public function attachPartitionRangeDates(): void
));
}
- /**
- * @test
- */
+ #[Test]
public function attachPartitionStringDates(): void
{
$today = '2010-01-01';
@@ -94,36 +85,42 @@ public function attachPartitionStringDates(): void
));
}
- /**
- * @test
- */
+ #[Test]
public function addingTsrangeColumn()
{
$this->blueprint->tsrange('foo');
$this->assertSameSql('alter table "test_table" add column "foo" tsrange not null');
}
- /**
- * @test
- */
+ #[Test]
+ public function addingTstzrangeColumn()
+ {
+ $this->blueprint->tstzrange('foo');
+ $this->assertSameSql('alter table "test_table" add column "foo" tstzrange not null');
+ }
+
+ #[Test]
+ public function addingDaterangeColumn()
+ {
+ $this->blueprint->daterange('foo');
+ $this->assertSameSql('alter table "test_table" add column "foo" daterange not null');
+ }
+
+ #[Test]
public function addingNumericColumnWithVariablePrecicion()
{
$this->blueprint->numeric('foo');
$this->assertSameSql('alter table "test_table" add column "foo" numeric not null');
}
- /**
- * @test
- */
+ #[Test]
public function addingNumericColumnWithDefinedPrecicion()
{
$this->blueprint->numeric('foo', 8);
$this->assertSameSql('alter table "test_table" add column "foo" numeric(8) not null');
}
- /**
- * @test
- */
+ #[Test]
public function addingNumericColumnWithDefinedPrecicionAndScope()
{
$this->blueprint->numeric('foo', 8, 2);
diff --git a/tests/Unit/Schema/Types/DateRangeTypeTest.php b/tests/Unit/Schema/Types/DateRangeTypeTest.php
new file mode 100644
index 0000000..8f877cc
--- /dev/null
+++ b/tests/Unit/Schema/Types/DateRangeTypeTest.php
@@ -0,0 +1,41 @@
+type = new DateRangeType();
+ $this->abstractPlatform = $this
+ ->getMockBuilder(PostgreSQLPlatform::class)
+ ->getMock();
+ }
+
+ #[Test]
+ public function getSQLDeclaration(): void
+ {
+ $this->assertSame(DateRangeType::TYPE_NAME, $this->type->getSQLDeclaration([], $this->abstractPlatform));
+ }
+
+ #[Test]
+ public function getTypeName(): void
+ {
+ $this->assertSame(DateRangeType::TYPE_NAME, $this->type->getName());
+ }
+}
diff --git a/tests/Unit/Schema/Types/NumericTypeTest.php b/tests/Unit/Schema/Types/NumericTypeTest.php
index 00f970f..ce9e4c4 100644
--- a/tests/Unit/Schema/Types/NumericTypeTest.php
+++ b/tests/Unit/Schema/Types/NumericTypeTest.php
@@ -2,48 +2,38 @@
declare(strict_types=1);
-namespace Umbrellio\Postgres\Unit\Schema\Types;
+namespace Umbrellio\Postgres\Tests\Unit\Schema\Types;
use Doctrine\DBAL\Platforms\AbstractPlatform;
+use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
+use Doctrine\DBAL\Types\Type;
+use PHPUnit\Framework\Attributes\Test;
use Umbrellio\Postgres\Schema\Types\NumericType;
use Umbrellio\Postgres\Tests\TestCase;
class NumericTypeTest extends TestCase
{
- /**
- * @var AbstractPlatform
- */
- private $abstractPlatform;
+ private AbstractPlatform $abstractPlatform;
- /**
- * @var NumericType
- */
- private $type;
+ private Type $type;
protected function setUp(): void
{
parent::setUp();
- $this->type = $this
- ->getMockBuilder(NumericType::class)
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
- $this->abstractPlatform = $this->getMockForAbstractClass(AbstractPlatform::class);
+ $this->type = new NumericType();
+ $this->abstractPlatform = $this
+ ->getMockBuilder(PostgreSQLPlatform::class)
+ ->getMock();
}
-
- /**
- * @test
- */
+ #[Test]
public function getSQLDeclaration(): void
{
$this->assertSame(NumericType::TYPE_NAME, $this->type->getSQLDeclaration([], $this->abstractPlatform));
}
-
- /**
- * @test
- */
+ #[Test]
public function getTypeName(): void
{
$this->assertSame(NumericType::TYPE_NAME, $this->type->getName());
diff --git a/tests/Unit/Schema/Types/TsRangeTypeTest.php b/tests/Unit/Schema/Types/TsRangeTypeTest.php
index cf5e49d..88eb823 100644
--- a/tests/Unit/Schema/Types/TsRangeTypeTest.php
+++ b/tests/Unit/Schema/Types/TsRangeTypeTest.php
@@ -2,48 +2,38 @@
declare(strict_types=1);
-namespace Umbrellio\Postgres\Unit\Schema\Types;
+namespace Umbrellio\Postgres\Tests\Unit\Schema\Types;
use Doctrine\DBAL\Platforms\AbstractPlatform;
+use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
+use Doctrine\DBAL\Types\Type;
+use PHPUnit\Framework\Attributes\Test;
use Umbrellio\Postgres\Schema\Types\TsRangeType;
use Umbrellio\Postgres\Tests\TestCase;
class TsRangeTypeTest extends TestCase
{
- /**
- * @var AbstractPlatform
- */
- private $abstractPlatform;
+ private AbstractPlatform $abstractPlatform;
- /**
- * @var TsRangeType
- */
- private $type;
+ private Type $type;
protected function setUp(): void
{
parent::setUp();
- $this->type = $this
- ->getMockBuilder(TsRangeType::class)
- ->disableOriginalConstructor()
- ->getMockForAbstractClass();
- $this->abstractPlatform = $this->getMockForAbstractClass(AbstractPlatform::class);
+ $this->type = new TsRangeType();
+ $this->abstractPlatform = $this
+ ->getMockBuilder(PostgreSQLPlatform::class)
+ ->getMock();
}
-
- /**
- * @test
- */
+ #[Test]
public function getSQLDeclaration(): void
{
$this->assertSame(TsRangeType::TYPE_NAME, $this->type->getSQLDeclaration([], $this->abstractPlatform));
}
-
- /**
- * @test
- */
+ #[Test]
public function getTypeName(): void
{
$this->assertSame(TsRangeType::TYPE_NAME, $this->type->getName());
diff --git a/tests/Unit/Schema/Types/TsTzRangeTypeTest.php b/tests/Unit/Schema/Types/TsTzRangeTypeTest.php
new file mode 100644
index 0000000..de6002c
--- /dev/null
+++ b/tests/Unit/Schema/Types/TsTzRangeTypeTest.php
@@ -0,0 +1,41 @@
+type = new TsTzRangeType();
+ $this->abstractPlatform = $this
+ ->getMockBuilder(PostgreSQLPlatform::class)
+ ->getMock();
+ }
+
+ #[Test]
+ public function getSQLDeclaration(): void
+ {
+ $this->assertSame(TsTzRangeType::TYPE_NAME, $this->type->getSQLDeclaration([], $this->abstractPlatform));
+ }
+
+ #[Test]
+ public function getTypeName(): void
+ {
+ $this->assertSame(TsTzRangeType::TYPE_NAME, $this->type->getName());
+ }
+}