From 54007a7bf67d328e0bb3d84e346cb877aa55a422 Mon Sep 17 00:00:00 2001 From: Crovitche-1623 Date: Wed, 29 Sep 2021 19:09:31 +0200 Subject: [PATCH] fix(ProjectWithBlankName): Add validation annotations --- .dockerignore | 28 + .editorconfig | 31 +- .env | 2 +- .env.test | 1 - .gitattributes | 18 +- .gitignore | 1 - Dockerfile | 140 ++++ Makefile | 2 +- composer.json | 7 +- composer.lock | 933 ++++++++++++++++------- config/packages/doctrine_migrations.yaml | 3 +- config/packages/prod/deprecations.yaml | 8 + config/packages/prod/monolog.yaml | 11 +- config/packages/security.yaml | 8 +- config/packages/test/doctrine.yaml | 2 +- docker-compose.override.yml | 25 + docker-compose.prod.yml | 14 + docker-compose.yaml | 47 -- docker-compose.yml | 78 ++ docker/caddy/Caddyfile | 37 + docker/nginx/default.conf | 29 - docker/php-fpm/Dockerfile | 58 -- docker/php-fpm/php.overrides.ini | 39 - docker/php/conf.d/symfony.dev.ini | 13 + docker/php/conf.d/symfony.prod.ini | 17 + docker/php/docker-entrypoint.sh | 71 ++ docker/php/docker-healthcheck.sh | 8 + docker/php/php-fpm.d/zz-docker.conf | 8 + migrations/.gitignore | 0 public/.gitignore | 0 src/Command/SetupCommand.php | 2 +- src/Entity/Project.php | 3 + symfony.lock | 267 +++---- tests/Functional/Entity/ProjectsTest.php | 21 + 34 files changed, 1325 insertions(+), 607 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 config/packages/prod/deprecations.yaml create mode 100644 docker-compose.override.yml create mode 100644 docker-compose.prod.yml delete mode 100644 docker-compose.yaml create mode 100644 docker-compose.yml create mode 100644 docker/caddy/Caddyfile delete mode 100644 docker/nginx/default.conf delete mode 100644 docker/php-fpm/Dockerfile delete mode 100644 docker/php-fpm/php.overrides.ini create mode 100644 docker/php/conf.d/symfony.dev.ini create mode 100644 docker/php/conf.d/symfony.prod.ini create mode 100644 docker/php/docker-entrypoint.sh create mode 100644 docker/php/docker-healthcheck.sh create mode 100644 docker/php/php-fpm.d/zz-docker.conf create mode 100644 migrations/.gitignore create mode 100644 public/.gitignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..eed80d3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,28 @@ +**/*.log +**/*.md +**/*.php~ +**/._* +**/.dockerignore +**/.DS_Store +**/.git/ +**/.gitattributes +**/.gitignore +**/.gitmodules +**/docker-compose.*.yaml +**/docker-compose.*.yml +**/docker-compose.yaml +**/docker-compose.yml +**/Dockerfile +**/Thumbs.db +.editorconfig +.env.*.local +.env.local +.env.local.php +.php_cs.cache +bin/* +!bin/console +docker/db/data/ +helm/ +public/bundles/ +var/ +vendor/ diff --git a/.editorconfig b/.editorconfig index 1ec4b15..671c4bb 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,19 +1,34 @@ ; top-most EditorConfig file root = true -; Unix-style newlines [*] -end_of_line = LF +# Change these settings to your own preference indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true indent_size = 4 -[*.php] -ij_visual_guides = 80, 120 +# We recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.{js,html}] +indent_size = 2 + +[*.json] +indent_size = 2 [*.md] trim_trailing_whitespace = false -[*.{twig, html, css, yml, yaml, js, json}] -indent_size = 2 \ No newline at end of file +[*.sh] +indent_style = tab + +[*.{yaml,yml}] +trim_trailing_whitespace = false + +[docker-compose.{yaml,yml}] +indent_size = 2 + +[Dockerfile] +indent_style = tab diff --git a/.env b/.env index ecd08a2..d5ab22b 100644 --- a/.env +++ b/.env @@ -25,7 +25,7 @@ APP_SECRET=81f76a9050e03da89036a7d731454587 ###> doctrine/doctrine-bundle ### # Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url # IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml -DATABASE_URL=postgresql://smarterd:!ChangeMe!@db:5432/smarterd?serverVersion=10&charset=utf8 +DATABASE_URL=postgresql://symfony:ChangeMe@db:5432/app?serverVersion=13&charset=utf8 ###< doctrine/doctrine-bundle ### ###> nelmio/cors-bundle ### diff --git a/.env.test b/.env.test index c37487f..9e7162f 100644 --- a/.env.test +++ b/.env.test @@ -3,5 +3,4 @@ KERNEL_CLASS='App\Kernel' APP_SECRET='$ecretf0rt3st' SYMFONY_DEPRECATIONS_HELPER=999999 PANTHER_APP_ENV=panther -DATABASE_URL=postgresql://smarterd:!ChangeMe!@db:5432/smarterd_test?serverVersion=10&charset=utf8 PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots diff --git a/.gitattributes b/.gitattributes index 244feb4..590d686 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,16 @@ -# Force all line endings to be \n -* text eol=lf \ No newline at end of file +* text=auto eol=lf + +*.conf text eol=lf +*.html text eol=lf +*.ini text eol=lf +*.js text eol=lf +*.json text eol=lf +*.md text eol=lf +*.php text eol=lf +*.sh text eol=lf +*.yaml text eol=lf +*.yml text eol=lf +bin/console text eol=lf + +*.ico binary +*.png binary diff --git a/.gitignore b/.gitignore index be156b8..33d5e08 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ /config/secrets/prod/prod.decrypt.private.php /public/bundles/ /var/ -/docker/nginx/logs /vendor/ /bin/.phpunit/ ###< symfony/framework-bundle ### diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cb09d88 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,140 @@ +# the different stages of this Dockerfile are meant to be built into separate images +# https://docs.docker.com/develop/develop-images/multistage-build/#stop-at-a-specific-build-stage +# https://docs.docker.com/compose/compose-file/#target + + +# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact +ARG PHP_VERSION=8.0 +ARG CADDY_VERSION=2 + +# "php" stage +FROM php:${PHP_VERSION}-fpm-alpine AS symfony_php + +# persistent / runtime deps +RUN apk add --no-cache \ + make \ + acl \ + fcgi \ + file \ + gettext \ + git \ + gnu-libiconv \ + postgresql-dev \ + ; + +# install gnu-libiconv and set LD_PRELOAD env to make iconv work fully on Alpine image. +# see https://github.com/docker-library/php/issues/240#issuecomment-763112749 +ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so + +ARG APCU_VERSION=5.1.20 +RUN set -eux; \ + apk add --no-cache --virtual .build-deps \ + $PHPIZE_DEPS \ + icu-dev \ + libzip-dev \ + zlib-dev \ + ; \ + \ + docker-php-ext-configure zip; \ + docker-php-ext-install -j$(nproc) \ + intl \ + zip \ + ; \ + pecl install \ + apcu-${APCU_VERSION} \ + ; \ + pecl clear-cache; \ + docker-php-ext-enable \ + apcu \ + opcache \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-cache --virtual .phpexts-rundeps $runDeps; \ + \ + apk del .build-deps + +COPY docker/php/docker-healthcheck.sh /usr/local/bin/docker-healthcheck +RUN chmod +x /usr/local/bin/docker-healthcheck + +HEALTHCHECK --interval=10s --timeout=3s --retries=3 CMD ["docker-healthcheck"] + +RUN ln -s $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini +COPY docker/php/conf.d/symfony.prod.ini $PHP_INI_DIR/conf.d/symfony.ini + +COPY docker/php/php-fpm.d/zz-docker.conf /usr/local/etc/php-fpm.d/zz-docker.conf + +COPY docker/php/docker-entrypoint.sh /usr/local/bin/docker-entrypoint +RUN chmod +x /usr/local/bin/docker-entrypoint + +VOLUME /var/run/php + +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer + +# https://getcomposer.org/doc/03-cli.md#composer-allow-superuser +ENV COMPOSER_ALLOW_SUPERUSER=1 + +ENV PATH="${PATH}:/root/.composer/vendor/bin" + +WORKDIR /srv/app + +# Allow to choose skeleton +ARG SKELETON="symfony/skeleton" +ENV SKELETON ${SKELETON} + +# Allow to use development versions of Symfony +ARG STABILITY="stable" +ENV STABILITY ${STABILITY} + +# Allow to select skeleton version +ARG SYMFONY_VERSION="" +ENV SYMFONY_VERSION ${SYMFONY_VERSION} + +# Download the Symfony skeleton and leverage Docker cache layers +RUN composer create-project "${SKELETON} ${SYMFONY_VERSION}" . --stability=$STABILITY --prefer-dist --no-dev --no-progress --no-interaction; \ + composer clear-cache + +###> recipes ### +###> doctrine/doctrine-bundle ### +RUN apk add --no-cache --virtual .pgsql-deps postgresql-dev; \ + docker-php-ext-install -j$(nproc) pdo_pgsql; \ + apk add --no-cache --virtual .pgsql-rundeps so:libpq.so.5; \ + apk del .pgsql-deps +###< doctrine/doctrine-bundle ### +###< recipes ### + +COPY . . + +RUN set -eux; \ + mkdir -p var/cache var/log; \ + composer install --prefer-dist --no-dev --no-progress --no-scripts --no-interaction; \ + composer dump-autoload --classmap-authoritative --no-dev; \ + composer symfony:dump-env prod; \ + composer run-script --no-dev post-install-cmd; \ + chmod +x bin/console; sync +VOLUME /srv/app/var + +ENTRYPOINT ["docker-entrypoint"] +CMD ["php-fpm"] + +FROM caddy:${CADDY_VERSION}-builder-alpine AS symfony_caddy_builder + +RUN xcaddy build \ + --with github.com/dunglas/mercure \ + --with github.com/dunglas/mercure/caddy \ + --with github.com/dunglas/vulcain \ + --with github.com/dunglas/vulcain/caddy + +FROM caddy:${CADDY_VERSION} AS symfony_caddy + +WORKDIR /srv/app + +COPY --from=dunglas/mercure:v0.11 /srv/public /srv/mercure-assets/ +COPY --from=symfony_caddy_builder /usr/bin/caddy /usr/bin/caddy +COPY --from=symfony_php /srv/app/public public/ +COPY docker/caddy/Caddyfile /etc/caddy/Caddyfile diff --git a/Makefile b/Makefile index 591fc43..66d2d3e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -SHELL := /bin/bash +SHELL := /bin/sh tests: export APP_ENV=test tests: diff --git a/composer.json b/composer.json index 97400ec..a54fcbb 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,6 @@ "ext-json": "*", "ext-openssl": "*", "ext-pcre": "*", - "ext-pdo_pgsql": "*", "ext-session": "*", "ext-simplexml": "*", "ext-sodium": "*", @@ -59,10 +58,11 @@ "symfony/yaml": "5.3.*" }, "require-dev": { + "roave/security-advisories": "dev-latest", "doctrine/doctrine-fixtures-bundle": "^3.3", "fakerphp/faker": "^1.15", "justinrainbow/json-schema": "^5.2", - "liip/test-fixtures-bundle": "2.0.0-beta1", + "liip/test-fixtures-bundle": "2.1.0-alpha1", "phpunit/phpunit": "^9.5", "symfony/browser-kit": "5.3.*", "symfony/css-selector": "^5.3", @@ -115,7 +115,8 @@ "extra": { "symfony": { "allow-contrib": false, - "require": "5.3.*" + "require": "5.3.*", + "docker": true } } } diff --git a/composer.lock b/composer.lock index 2c6d54b..70536a0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8277742c7593d4c058da8b791bc359eb", + "content-hash": "e05012d045bbcc1cc49ebe9a1e9e2828", "packages": [ { "name": "api-platform/core", - "version": "v2.6.5", + "version": "v2.6.6", "source": { "type": "git", "url": "https://github.com/api-platform/core.git", - "reference": "4e22a289e474db454480020ff37d20472668c11c" + "reference": "25c71b216473844cdbe5bf284ccbeeb26acd76e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/api-platform/core/zipball/4e22a289e474db454480020ff37d20472668c11c", - "reference": "4e22a289e474db454480020ff37d20472668c11c", + "url": "https://api.github.com/repos/api-platform/core/zipball/25c71b216473844cdbe5bf284ccbeeb26acd76e7", + "reference": "25c71b216473844cdbe5bf284ccbeeb26acd76e7", "shasum": "" }, "require": { @@ -36,6 +36,7 @@ }, "conflict": { "doctrine/common": "<2.7", + "doctrine/dbal": "<2.10", "doctrine/mongodb-odm": "<2.2", "doctrine/persistence": "<1.3" }, @@ -155,7 +156,7 @@ ], "support": { "issues": "https://github.com/api-platform/core/issues", - "source": "https://github.com/api-platform/core/tree/v2.6.5" + "source": "https://github.com/api-platform/core/tree/v2.6.6" }, "funding": [ { @@ -163,7 +164,7 @@ "type": "tidelift" } ], - "time": "2021-06-15T16:53:33+00:00" + "time": "2021-09-29T19:11:04+00:00" }, { "name": "behat/transliterator", @@ -529,16 +530,16 @@ }, { "name": "doctrine/common", - "version": "3.1.2", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "a036d90c303f3163b5be8b8fde9b6755b2be4a3a" + "reference": "6d970a11479275300b5144e9373ce5feacfa9b91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/a036d90c303f3163b5be8b8fde9b6755b2be4a3a", - "reference": "a036d90c303f3163b5be8b8fde9b6755b2be4a3a", + "url": "https://api.github.com/repos/doctrine/common/zipball/6d970a11479275300b5144e9373ce5feacfa9b91", + "reference": "6d970a11479275300b5144e9373ce5feacfa9b91", "shasum": "" }, "require": { @@ -599,7 +600,7 @@ ], "support": { "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.1.2" + "source": "https://github.com/doctrine/common/tree/3.2.0" }, "funding": [ { @@ -615,38 +616,39 @@ "type": "tidelift" } ], - "time": "2021-02-10T20:18:51+00:00" + "time": "2021-10-19T06:47:22+00:00" }, { "name": "doctrine/dbal", - "version": "2.13.3", + "version": "3.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "0d7adf4cadfee6f70850e5b163e6cdd706417838" + "reference": "96b0053775a544b4a6ab47654dac0621be8b4cf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/0d7adf4cadfee6f70850e5b163e6cdd706417838", - "reference": "0d7adf4cadfee6f70850e5b163e6cdd706417838", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/96b0053775a544b4a6ab47654dac0621be8b4cf8", + "reference": "96b0053775a544b4a6ab47654dac0621be8b4cf8", "shasum": "" }, "require": { + "composer/package-versions-deprecated": "^1.11.99", "doctrine/cache": "^1.0|^2.0", "doctrine/deprecations": "^0.5.3", "doctrine/event-manager": "^1.0", - "ext-pdo": "*", - "php": "^7.1 || ^8" + "php": "^7.3 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "9.0.0", "jetbrains/phpstorm-stubs": "2021.1", - "phpstan/phpstan": "0.12.96", - "phpunit/phpunit": "^7.5.20|^8.5|9.5.5", + "phpstan/phpstan": "0.12.99", + "phpstan/phpstan-strict-rules": "^0.12.11", + "phpunit/phpunit": "9.5.10", "psalm/plugin-phpunit": "0.16.1", "squizlabs/php_codesniffer": "3.6.0", - "symfony/cache": "^4.4", - "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", + "symfony/cache": "^5.2|^6.0", + "symfony/console": "^2.0.5|^3.0|^4.0|^5.0|^6.0", "vimeo/psalm": "4.10.0" }, "suggest": { @@ -658,7 +660,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" + "Doctrine\\DBAL\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -701,14 +703,13 @@ "queryobject", "sasql", "sql", - "sqlanywhere", "sqlite", "sqlserver", "sqlsrv" ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/2.13.3" + "source": "https://github.com/doctrine/dbal/tree/3.1.3" }, "funding": [ { @@ -724,7 +725,7 @@ "type": "tidelift" } ], - "time": "2021-09-12T19:11:48+00:00" + "time": "2021-10-02T16:15:05+00:00" }, { "name": "doctrine/deprecations", @@ -771,19 +772,20 @@ }, { "name": "doctrine/doctrine-bundle", - "version": "2.4.2", + "version": "2.4.3", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "4202ce675d29e70a8b9ee763bec021b6f44caccb" + "reference": "62a188ce2192e6b3b7a2019c26c5001778818b83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/4202ce675d29e70a8b9ee763bec021b6f44caccb", - "reference": "4202ce675d29e70a8b9ee763bec021b6f44caccb", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/62a188ce2192e6b3b7a2019c26c5001778818b83", + "reference": "62a188ce2192e6b3b7a2019c26c5001778818b83", "shasum": "" }, "require": { + "doctrine/annotations": "^1", "doctrine/cache": "^1.11 || ^2.0", "doctrine/dbal": "^2.9.0|^3.0", "doctrine/persistence": "^1.3.3|^2.0", @@ -863,7 +865,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineBundle/issues", - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.4.2" + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.4.3" }, "funding": [ { @@ -879,25 +881,25 @@ "type": "tidelift" } ], - "time": "2021-06-05T13:40:39+00:00" + "time": "2021-09-11T21:20:34+00:00" }, { "name": "doctrine/doctrine-migrations-bundle", - "version": "3.1.1", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", - "reference": "91f0a5e2356029575f3038432cc188b12f9d5da5" + "reference": "7ad66566ecce0925786707654df15203782f583a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/91f0a5e2356029575f3038432cc188b12f9d5da5", - "reference": "91f0a5e2356029575f3038432cc188b12f9d5da5", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/7ad66566ecce0925786707654df15203782f583a", + "reference": "7ad66566ecce0925786707654df15203782f583a", "shasum": "" }, "require": { "doctrine/doctrine-bundle": "~1.0|~2.0", - "doctrine/migrations": "^3.1", + "doctrine/migrations": "^3.2", "php": "^7.2|^8.0", "symfony/framework-bundle": "~3.4|~4.0|~5.0" }, @@ -947,7 +949,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues", - "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.1.1" + "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.2.0" }, "funding": [ { @@ -963,7 +965,7 @@ "type": "tidelift" } ], - "time": "2021-04-10T16:48:53+00:00" + "time": "2021-10-19T16:25:22+00:00" }, { "name": "doctrine/event-manager", @@ -1061,34 +1063,30 @@ }, { "name": "doctrine/inflector", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", "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" + "doctrine/coding-standard": "^8.2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "vimeo/psalm": "^4.10" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" @@ -1136,7 +1134,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.x" + "source": "https://github.com/doctrine/inflector/tree/2.0.4" }, "funding": [ { @@ -1152,7 +1150,7 @@ "type": "tidelift" } ], - "time": "2020-05-29T15:13:26+00:00" + "time": "2021-10-22T20:16:43+00:00" }, { "name": "doctrine/instantiator", @@ -1305,21 +1303,21 @@ }, { "name": "doctrine/migrations", - "version": "3.2.1", + "version": "3.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "818e31703b4fb353c0c23caa714273fc64efa675" + "reference": "1967775546df997eb97057911d80184c91c92b9a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/818e31703b4fb353c0c23caa714273fc64efa675", - "reference": "818e31703b4fb353c0c23caa714273fc64efa675", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/1967775546df997eb97057911d80184c91c92b9a", + "reference": "1967775546df997eb97057911d80184c91c92b9a", "shasum": "" }, "require": { "composer/package-versions-deprecated": "^1.8", - "doctrine/dbal": "^2.11", + "doctrine/dbal": "^2.11 || ^3.0", "doctrine/deprecations": "^0.5.3", "doctrine/event-manager": "^1.0", "friendsofphp/proxy-manager-lts": "^1.0", @@ -1391,7 +1389,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.2.1" + "source": "https://github.com/doctrine/migrations/tree/3.3.0" }, "funding": [ { @@ -1407,29 +1405,28 @@ "type": "tidelift" } ], - "time": "2021-08-03T11:49:27+00:00" + "time": "2021-10-15T16:53:47+00:00" }, { "name": "doctrine/orm", - "version": "2.9.5", + "version": "2.10.2", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "77cc86ed880e3f1f6c9c5819e131a8aaeeeee0da" + "reference": "81d472f6f96b8b571cafefe8d2fef89ed9446a62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/77cc86ed880e3f1f6c9c5819e131a8aaeeeee0da", - "reference": "77cc86ed880e3f1f6c9c5819e131a8aaeeeee0da", + "url": "https://api.github.com/repos/doctrine/orm/zipball/81d472f6f96b8b571cafefe8d2fef89ed9446a62", + "reference": "81d472f6f96b8b571cafefe8d2fef89ed9446a62", "shasum": "" }, "require": { "composer/package-versions-deprecated": "^1.8", - "doctrine/annotations": "^1.13", "doctrine/cache": "^1.12.1 || ^2.1.1", "doctrine/collections": "^1.5", "doctrine/common": "^3.0.3", - "doctrine/dbal": "^2.13.0", + "doctrine/dbal": "^2.13.1 || ^3.1.1", "doctrine/deprecations": "^0.5.3", "doctrine/event-manager": "^1.1", "doctrine/inflector": "^1.4 || ^2.0", @@ -1440,17 +1437,23 @@ "ext-pdo": "*", "php": "^7.1 ||^8.0", "psr/cache": "^1 || ^2 || ^3", - "symfony/console": "^3.0 || ^4.0 || ^5.0 || ^6.0" + "symfony/console": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "symfony/polyfill-php72": "^1.23", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "doctrine/annotations": "<1.13 || >= 2.0" }, "require-dev": { + "doctrine/annotations": "^1.13", "doctrine/coding-standard": "^9.0", "phpbench/phpbench": "^0.16.10 || ^1.0", - "phpstan/phpstan": "0.12.94", + "phpstan/phpstan": "0.12.99", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", - "squizlabs/php_codesniffer": "3.6.0", + "squizlabs/php_codesniffer": "3.6.1", "symfony/cache": "^4.4 || ^5.2", "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0", - "vimeo/psalm": "4.7.0" + "vimeo/psalm": "4.10.0" }, "suggest": { "symfony/cache": "Provides cache support for Setup Tool with doctrine/cache 2.0", @@ -1499,9 +1502,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/2.9.5" + "source": "https://github.com/doctrine/orm/tree/2.10.2" }, - "time": "2021-08-23T10:20:22+00:00" + "time": "2021-10-21T17:57:02+00:00" }, { "name": "doctrine/persistence", @@ -2077,16 +2080,16 @@ }, { "name": "lcobucci/jwt", - "version": "4.1.4", + "version": "4.1.5", "source": { "type": "git", "url": "https://github.com/lcobucci/jwt.git", - "reference": "71cf170102c8371ccd933fa4df6252086d144de6" + "reference": "fe2d89f2eaa7087af4aa166c6f480ef04e000582" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/71cf170102c8371ccd933fa4df6252086d144de6", - "reference": "71cf170102c8371ccd933fa4df6252086d144de6", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/fe2d89f2eaa7087af4aa166c6f480ef04e000582", + "reference": "fe2d89f2eaa7087af4aa166c6f480ef04e000582", "shasum": "" }, "require": { @@ -2102,7 +2105,7 @@ "infection/infection": "^0.21", "lcobucci/coding-standard": "^6.0", "mikey179/vfsstream": "^1.6.7", - "phpbench/phpbench": "^1.0@alpha", + "phpbench/phpbench": "^1.0", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12", "phpstan/phpstan-deprecation-rules": "^0.12", @@ -2135,7 +2138,7 @@ ], "support": { "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/4.1.4" + "source": "https://github.com/lcobucci/jwt/tree/4.1.5" }, "funding": [ { @@ -2147,7 +2150,7 @@ "type": "patreon" } ], - "time": "2021-03-23T23:53:08+00:00" + "time": "2021-09-28T19:34:56+00:00" }, { "name": "lexik/jwt-authentication-bundle", @@ -2262,16 +2265,16 @@ }, { "name": "monolog/monolog", - "version": "2.3.4", + "version": "2.3.5", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "437e7a1c50044b92773b361af77620efb76fff59" + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437e7a1c50044b92773b361af77620efb76fff59", - "reference": "437e7a1c50044b92773b361af77620efb76fff59", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", "shasum": "" }, "require": { @@ -2287,7 +2290,7 @@ "elasticsearch/elasticsearch": "^7", "graylog2/gelf-php": "^1.4.2", "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", + "php-amqplib/php-amqplib": "~2.4 || ^3", "php-console/php-console": "^3.1.3", "phpspec/prophecy": "^1.6.1", "phpstan/phpstan": "^0.12.91", @@ -2345,7 +2348,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.4" + "source": "https://github.com/Seldaek/monolog/tree/2.3.5" }, "funding": [ { @@ -2357,7 +2360,7 @@ "type": "tidelift" } ], - "time": "2021-09-15T11:27:21+00:00" + "time": "2021-10-01T21:08:31+00:00" }, { "name": "namshi/jose", @@ -2542,16 +2545,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { @@ -2562,7 +2565,8 @@ "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2" + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -2592,22 +2596,22 @@ "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" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" }, - "time": "2020-09-03T19:13:55+00:00" + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "30f38bffc6f24293dadd1823936372dfa9e86e2f" + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/30f38bffc6f24293dadd1823936372dfa9e86e2f", - "reference": "30f38bffc6f24293dadd1823936372dfa9e86e2f", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae", + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae", "shasum": "" }, "require": { @@ -2642,22 +2646,22 @@ "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.5.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1" }, - "time": "2021-09-17T15:28:14+00:00" + "time": "2021-10-02T14:08:47+00:00" }, { "name": "predis/predis", - "version": "v1.1.7", + "version": "v1.1.9", "source": { "type": "git", "url": "https://github.com/predis/predis.git", - "reference": "b240daa106d4e02f0c5b7079b41e31ddf66fddf8" + "reference": "c50c3393bb9f47fa012d0cdfb727a266b0818259" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/predis/predis/zipball/b240daa106d4e02f0c5b7079b41e31ddf66fddf8", - "reference": "b240daa106d4e02f0c5b7079b41e31ddf66fddf8", + "url": "https://api.github.com/repos/predis/predis/zipball/c50c3393bb9f47fa012d0cdfb727a266b0818259", + "reference": "c50c3393bb9f47fa012d0cdfb727a266b0818259", "shasum": "" }, "require": { @@ -2702,7 +2706,7 @@ ], "support": { "issues": "https://github.com/predis/predis/issues", - "source": "https://github.com/predis/predis/tree/v1.1.7" + "source": "https://github.com/predis/predis/tree/v1.1.9" }, "funding": [ { @@ -2710,7 +2714,7 @@ "type": "github" } ], - "time": "2021-04-04T19:34:46+00:00" + "time": "2021-10-05T19:02:38+00:00" }, { "name": "psr/cache", @@ -3038,16 +3042,16 @@ }, { "name": "symfony/cache", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "864867b13bd67347497ce956f4b253f8fe18b80c" + "reference": "945bcebfef0aeef105de61843dd14105633ae38f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/864867b13bd67347497ce956f4b253f8fe18b80c", - "reference": "864867b13bd67347497ce956f4b253f8fe18b80c", + "url": "https://api.github.com/repos/symfony/cache/zipball/945bcebfef0aeef105de61843dd14105633ae38f", + "reference": "945bcebfef0aeef105de61843dd14105633ae38f", "shasum": "" }, "require": { @@ -3115,7 +3119,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.3.7" + "source": "https://github.com/symfony/cache/tree/v5.3.8" }, "funding": [ { @@ -3131,7 +3135,7 @@ "type": "tidelift" } ], - "time": "2021-08-29T15:08:21+00:00" + "time": "2021-09-26T18:29:18+00:00" }, { "name": "symfony/cache-contracts", @@ -3392,16 +3396,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "a665946279f566d94ed5eb98999cfa65c6fa5a78" + "reference": "e39c344e06a3ceab531ebeb6c077e6652c4a0829" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a665946279f566d94ed5eb98999cfa65c6fa5a78", - "reference": "a665946279f566d94ed5eb98999cfa65c6fa5a78", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e39c344e06a3ceab531ebeb6c077e6652c4a0829", + "reference": "e39c344e06a3ceab531ebeb6c077e6652c4a0829", "shasum": "" }, "require": { @@ -3460,7 +3464,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.3.7" + "source": "https://github.com/symfony/dependency-injection/tree/v5.3.8" }, "funding": [ { @@ -3476,7 +3480,7 @@ "type": "tidelift" } ], - "time": "2021-08-02T16:16:27+00:00" + "time": "2021-09-21T20:52:44+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3547,16 +3551,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "b3e5ab5a4a94ac9dbfc5bc99ee1d3b940ff51dfd" + "reference": "212521017d81686bdc84a132fb5de2b03867a7e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/b3e5ab5a4a94ac9dbfc5bc99ee1d3b940ff51dfd", - "reference": "b3e5ab5a4a94ac9dbfc5bc99ee1d3b940ff51dfd", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/212521017d81686bdc84a132fb5de2b03867a7e7", + "reference": "212521017d81686bdc84a132fb5de2b03867a7e7", "shasum": "" }, "require": { @@ -3571,6 +3575,7 @@ }, "conflict": { "doctrine/dbal": "<2.10", + "doctrine/orm": "<2.7.3", "phpunit/phpunit": "<5.4.3", "symfony/dependency-injection": "<4.4", "symfony/form": "<5.1", @@ -3640,7 +3645,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v5.3.7" + "source": "https://github.com/symfony/doctrine-bridge/tree/v5.3.8" }, "funding": [ { @@ -3656,20 +3661,20 @@ "type": "tidelift" } ], - "time": "2021-08-13T15:54:02+00:00" + "time": "2021-09-11T18:11:56+00:00" }, { "name": "symfony/dotenv", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "99a18c2e23f4d901c36cea2012f9f1a8e25e99e4" + "reference": "12888c9c46ac750ec5c1381db5bf3d534e7d70cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/99a18c2e23f4d901c36cea2012f9f1a8e25e99e4", - "reference": "99a18c2e23f4d901c36cea2012f9f1a8e25e99e4", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/12888c9c46ac750ec5c1381db5bf3d534e7d70cb", + "reference": "12888c9c46ac750ec5c1381db5bf3d534e7d70cb", "shasum": "" }, "require": { @@ -3710,7 +3715,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v5.3.7" + "source": "https://github.com/symfony/dotenv/tree/v5.3.8" }, "funding": [ { @@ -3726,7 +3731,7 @@ "type": "tidelift" } ], - "time": "2021-07-02T16:35:09+00:00" + "time": "2021-07-29T06:18:06+00:00" }, { "name": "symfony/error-handler", @@ -4150,16 +4155,16 @@ }, { "name": "symfony/flex", - "version": "v1.16.2", + "version": "v1.17.2", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "f1e77e62bcb068bf094f4781eca1436ef818ff72" + "reference": "0170279814f86648c62aede39b100a343ea29962" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/f1e77e62bcb068bf094f4781eca1436ef818ff72", - "reference": "f1e77e62bcb068bf094f4781eca1436ef818ff72", + "url": "https://api.github.com/repos/symfony/flex/zipball/0170279814f86648c62aede39b100a343ea29962", + "reference": "0170279814f86648c62aede39b100a343ea29962", "shasum": "" }, "require": { @@ -4176,7 +4181,7 @@ "type": "composer-plugin", "extra": { "branch-alias": { - "dev-main": "1.16-dev" + "dev-main": "1.17-dev" }, "class": "Symfony\\Flex\\Flex" }, @@ -4198,7 +4203,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v1.16.2" + "source": "https://github.com/symfony/flex/tree/v1.17.2" }, "funding": [ { @@ -4214,20 +4219,20 @@ "type": "tidelift" } ], - "time": "2021-09-24T08:45:18+00:00" + "time": "2021-10-21T08:39:19+00:00" }, { "name": "symfony/framework-bundle", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "5d4fcef02a42ea86280afcbacedf8de7a039032c" + "reference": "ea6e30a8c9534d87187375ef4ee39d48ee40dd2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/5d4fcef02a42ea86280afcbacedf8de7a039032c", - "reference": "5d4fcef02a42ea86280afcbacedf8de7a039032c", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ea6e30a8c9534d87187375ef4ee39d48ee40dd2d", + "reference": "ea6e30a8c9534d87187375ef4ee39d48ee40dd2d", "shasum": "" }, "require": { @@ -4349,7 +4354,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v5.3.7" + "source": "https://github.com/symfony/framework-bundle/tree/v5.3.8" }, "funding": [ { @@ -4365,7 +4370,7 @@ "type": "tidelift" } ], - "time": "2021-08-26T08:37:07+00:00" + "time": "2021-09-28T07:17:01+00:00" }, { "name": "symfony/http-client-contracts", @@ -4520,16 +4525,16 @@ }, { "name": "symfony/http-kernel", - "version": "v5.3.7", + "version": "v5.3.9", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "a3a78e37935a527b50376c22ac1cec35b57fe787" + "reference": "ceaf46a992f60e90645e7279825a830f733a17c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a3a78e37935a527b50376c22ac1cec35b57fe787", - "reference": "a3a78e37935a527b50376c22ac1cec35b57fe787", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ceaf46a992f60e90645e7279825a830f733a17c5", + "reference": "ceaf46a992f60e90645e7279825a830f733a17c5", "shasum": "" }, "require": { @@ -4612,7 +4617,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.3.7" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.9" }, "funding": [ { @@ -4628,7 +4633,7 @@ "type": "tidelift" } ], - "time": "2021-08-30T12:37:19+00:00" + "time": "2021-09-28T10:25:11+00:00" }, { "name": "symfony/monolog-bridge", @@ -4797,16 +4802,16 @@ }, { "name": "symfony/password-hasher", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "106639b209d0f8b0946394a1108acc9cc20e2216" + "reference": "4bdaa0cca1fb3521bc1825160f3b5490c130bbda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/106639b209d0f8b0946394a1108acc9cc20e2216", - "reference": "106639b209d0f8b0946394a1108acc9cc20e2216", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/4bdaa0cca1fb3521bc1825160f3b5490c130bbda", + "reference": "4bdaa0cca1fb3521bc1825160f3b5490c130bbda", "shasum": "" }, "require": { @@ -4850,7 +4855,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v5.3.7" + "source": "https://github.com/symfony/password-hasher/tree/v5.3.8" }, "funding": [ { @@ -4866,7 +4871,7 @@ "type": "tidelift" } ], - "time": "2021-08-17T15:45:42+00:00" + "time": "2021-09-03T12:22:16+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -5356,16 +5361,16 @@ }, { "name": "symfony/property-access", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "a4bbf09b8f3e2d2c89cc2c8b3d6682bf4c3d5589" + "reference": "2fbab5f95ddb6b8e85f38a6a8a04a17c0acc4d66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/a4bbf09b8f3e2d2c89cc2c8b3d6682bf4c3d5589", - "reference": "a4bbf09b8f3e2d2c89cc2c8b3d6682bf4c3d5589", + "url": "https://api.github.com/repos/symfony/property-access/zipball/2fbab5f95ddb6b8e85f38a6a8a04a17c0acc4d66", + "reference": "2fbab5f95ddb6b8e85f38a6a8a04a17c0acc4d66", "shasum": "" }, "require": { @@ -5417,7 +5422,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v5.3.7" + "source": "https://github.com/symfony/property-access/tree/v5.3.8" }, "funding": [ { @@ -5433,20 +5438,20 @@ "type": "tidelift" } ], - "time": "2021-08-09T12:23:10+00:00" + "time": "2021-09-10T11:55:24+00:00" }, { "name": "symfony/property-info", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "7202b6c93a07df5df83eb58e3757dffb77fc5d90" + "reference": "39de5bed8c036f76ec0457ec52908e45d5497947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/7202b6c93a07df5df83eb58e3757dffb77fc5d90", - "reference": "7202b6c93a07df5df83eb58e3757dffb77fc5d90", + "url": "https://api.github.com/repos/symfony/property-info/zipball/39de5bed8c036f76ec0457ec52908e45d5497947", + "reference": "39de5bed8c036f76ec0457ec52908e45d5497947", "shasum": "" }, "require": { @@ -5507,7 +5512,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v5.3.7" + "source": "https://github.com/symfony/property-info/tree/v5.3.8" }, "funding": [ { @@ -5523,7 +5528,7 @@ "type": "tidelift" } ], - "time": "2021-08-23T12:57:24+00:00" + "time": "2021-09-07T07:41:40+00:00" }, { "name": "symfony/proxy-manager-bridge", @@ -5762,16 +5767,16 @@ }, { "name": "symfony/security-bundle", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "aed98f8ca60f1fb474a4db3ade066155d2b040f7" + "reference": "b755ed5d11685ba9aaa27b060250e5a57371f37f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/aed98f8ca60f1fb474a4db3ade066155d2b040f7", - "reference": "aed98f8ca60f1fb474a4db3ade066155d2b040f7", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/b755ed5d11685ba9aaa27b060250e5a57371f37f", + "reference": "b755ed5d11685ba9aaa27b060250e5a57371f37f", "shasum": "" }, "require": { @@ -5844,7 +5849,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v5.3.7" + "source": "https://github.com/symfony/security-bundle/tree/v5.3.8" }, "funding": [ { @@ -5860,20 +5865,20 @@ "type": "tidelift" } ], - "time": "2021-08-17T15:45:42+00:00" + "time": "2021-09-26T16:32:59+00:00" }, { "name": "symfony/security-core", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "bd3a055d1092a46f6b6599bcda5a7624cd804cb1" + "reference": "62e5943d042aa5fc43d44b40209aa7304f68c56e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/bd3a055d1092a46f6b6599bcda5a7624cd804cb1", - "reference": "bd3a055d1092a46f6b6599bcda5a7624cd804cb1", + "url": "https://api.github.com/repos/symfony/security-core/zipball/62e5943d042aa5fc43d44b40209aa7304f68c56e", + "reference": "62e5943d042aa5fc43d44b40209aa7304f68c56e", "shasum": "" }, "require": { @@ -5937,7 +5942,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v5.3.7" + "source": "https://github.com/symfony/security-core/tree/v5.3.8" }, "funding": [ { @@ -5953,7 +5958,7 @@ "type": "tidelift" } ], - "time": "2021-08-14T21:25:00+00:00" + "time": "2021-09-21T20:52:44+00:00" }, { "name": "symfony/security-csrf", @@ -6096,16 +6101,16 @@ }, { "name": "symfony/security-http", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "cb3d53b245c38f73e67b1e461ea076ffbb2e6dd7" + "reference": "d499ecde6f81de42e557514626d6d5c14c0bdb78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/cb3d53b245c38f73e67b1e461ea076ffbb2e6dd7", - "reference": "cb3d53b245c38f73e67b1e461ea076ffbb2e6dd7", + "url": "https://api.github.com/repos/symfony/security-http/zipball/d499ecde6f81de42e557514626d6d5c14c0bdb78", + "reference": "d499ecde6f81de42e557514626d6d5c14c0bdb78", "shasum": "" }, "require": { @@ -6161,7 +6166,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v5.3.7" + "source": "https://github.com/symfony/security-http/tree/v5.3.8" }, "funding": [ { @@ -6177,20 +6182,20 @@ "type": "tidelift" } ], - "time": "2021-08-18T14:06:55+00:00" + "time": "2021-09-26T16:35:00+00:00" }, { "name": "symfony/serializer", - "version": "v5.3.4", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "f04e368e3cb35948550c7e95cc8918cb7e761c0c" + "reference": "a877799b1e94f792208bea68295f6675027c92be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/f04e368e3cb35948550c7e95cc8918cb7e761c0c", - "reference": "f04e368e3cb35948550c7e95cc8918cb7e761c0c", + "url": "https://api.github.com/repos/symfony/serializer/zipball/a877799b1e94f792208bea68295f6675027c92be", + "reference": "a877799b1e94f792208bea68295f6675027c92be", "shasum": "" }, "require": { @@ -6263,7 +6268,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v5.3.4" + "source": "https://github.com/symfony/serializer/tree/v5.3.8" }, "funding": [ { @@ -6279,7 +6284,7 @@ "type": "tidelift" } ], - "time": "2021-07-21T13:18:10+00:00" + "time": "2021-09-17T08:55:39+00:00" }, { "name": "symfony/service-contracts", @@ -6794,16 +6799,16 @@ }, { "name": "symfony/validator", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "916a7c6cf3ede36eb0e4097500e0a12dcff520a7" + "reference": "3a773f6f03ef2846c280e4f5b5f34cf950ead127" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/916a7c6cf3ede36eb0e4097500e0a12dcff520a7", - "reference": "916a7c6cf3ede36eb0e4097500e0a12dcff520a7", + "url": "https://api.github.com/repos/symfony/validator/zipball/3a773f6f03ef2846c280e4f5b5f34cf950ead127", + "reference": "3a773f6f03ef2846c280e4f5b5f34cf950ead127", "shasum": "" }, "require": { @@ -6884,7 +6889,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v5.3.7" + "source": "https://github.com/symfony/validator/tree/v5.3.8" }, "funding": [ { @@ -6900,20 +6905,20 @@ "type": "tidelift" } ], - "time": "2021-08-26T08:22:53+00:00" + "time": "2021-09-21T20:52:44+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f" + "reference": "eaaea4098be1c90c8285543e1356a09c8aa5c8da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f", - "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/eaaea4098be1c90c8285543e1356a09c8aa5c8da", + "reference": "eaaea4098be1c90c8285543e1356a09c8aa5c8da", "shasum": "" }, "require": { @@ -6972,7 +6977,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.7" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.8" }, "funding": [ { @@ -6988,20 +6993,20 @@ "type": "tidelift" } ], - "time": "2021-08-04T23:19:25+00:00" + "time": "2021-09-24T15:59:58+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "2ded877ab0574d8b646f4eb3f716f8ed7ee7f392" + "reference": "a7604de14bcf472fe8e33f758e9e5b7bf07d3b91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/2ded877ab0574d8b646f4eb3f716f8ed7ee7f392", - "reference": "2ded877ab0574d8b646f4eb3f716f8ed7ee7f392", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/a7604de14bcf472fe8e33f758e9e5b7bf07d3b91", + "reference": "a7604de14bcf472fe8e33f758e9e5b7bf07d3b91", "shasum": "" }, "require": { @@ -7045,7 +7050,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.3.7" + "source": "https://github.com/symfony/var-exporter/tree/v5.3.8" }, "funding": [ { @@ -7061,7 +7066,7 @@ "type": "tidelift" } ], - "time": "2021-08-04T22:42:42+00:00" + "time": "2021-08-31T12:49:16+00:00" }, { "name": "symfony/web-link", @@ -7419,16 +7424,16 @@ "packages-dev": [ { "name": "doctrine/data-fixtures", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/doctrine/data-fixtures.git", - "reference": "51d3d4880d28951fff42a635a2389f8c63baddc5" + "reference": "f18adf13f6c81c67a88360dca359ad474523f8e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/51d3d4880d28951fff42a635a2389f8c63baddc5", - "reference": "51d3d4880d28951fff42a635a2389f8c63baddc5", + "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/f18adf13f6c81c67a88360dca359ad474523f8e3", + "reference": "f18adf13f6c81c67a88360dca359ad474523f8e3", "shasum": "" }, "require": { @@ -7440,8 +7445,8 @@ "doctrine/phpcr-odm": "<1.3.0" }, "require-dev": { - "doctrine/coding-standard": "^8.2", - "doctrine/dbal": "^2.5.4", + "doctrine/coding-standard": "^9.0", + "doctrine/dbal": "^2.5.4 || ^3.0", "doctrine/mongodb-odm": "^1.3.0 || ^2.0.0", "doctrine/orm": "^2.7.0", "ext-sqlite3": "*", @@ -7476,7 +7481,7 @@ ], "support": { "issues": "https://github.com/doctrine/data-fixtures/issues", - "source": "https://github.com/doctrine/data-fixtures/tree/1.5.0" + "source": "https://github.com/doctrine/data-fixtures/tree/1.5.1" }, "funding": [ { @@ -7492,7 +7497,7 @@ "type": "tidelift" } ], - "time": "2021-01-23T10:20:43+00:00" + "time": "2021-09-20T21:51:43+00:00" }, { "name": "doctrine/doctrine-fixtures-bundle", @@ -7712,16 +7717,16 @@ }, { "name": "liip/test-fixtures-bundle", - "version": "2.0.0-beta1", + "version": "2.1.0-alpha1", "source": { "type": "git", "url": "https://github.com/liip/LiipTestFixturesBundle.git", - "reference": "8894a6debf22df1ad2251207818f17c54acc18d7" + "reference": "aabf34d7e39b77ffedbe40566b1a90713b5a7bbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/liip/LiipTestFixturesBundle/zipball/8894a6debf22df1ad2251207818f17c54acc18d7", - "reference": "8894a6debf22df1ad2251207818f17c54acc18d7", + "url": "https://api.github.com/repos/liip/LiipTestFixturesBundle/zipball/aabf34d7e39b77ffedbe40566b1a90713b5a7bbe", + "reference": "aabf34d7e39b77ffedbe40566b1a90713b5a7bbe", "shasum": "" }, "require": { @@ -7732,7 +7737,11 @@ "symfony/framework-bundle": "^4.4 || ^5.0", "symfony/yaml": "^4.4 || ^5.0" }, + "conflict": { + "doctrine/dbal": "<2.13" + }, "require-dev": { + "doctrine/cache": "^1.10.0", "doctrine/data-fixtures": "^1.3", "doctrine/doctrine-bundle": "^2.1", "doctrine/doctrine-fixtures-bundle": "^3.0.2", @@ -7788,9 +7797,9 @@ ], "support": { "issues": "https://github.com/liip/LiipTestFixturesBundle/issues", - "source": "https://github.com/liip/LiipTestFixturesBundle/tree/2.0.0-beta1" + "source": "https://github.com/liip/LiipTestFixturesBundle/tree/2.1.0-alpha1" }, - "time": "2021-06-30T08:42:31+00:00" + "time": "2021-10-20T12:17:41+00:00" }, { "name": "myclabs/deep-copy", @@ -8404,16 +8413,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.9", + "version": "9.5.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b" + "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b", - "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a", + "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a", "shasum": "" }, "require": { @@ -8429,7 +8438,7 @@ "phar-io/version": "^3.0.2", "php": ">=7.3", "phpspec/prophecy": "^1.12.1", - "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-code-coverage": "^9.2.7", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.3", @@ -8491,7 +8500,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.9" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10" }, "funding": [ { @@ -8503,7 +8512,413 @@ "type": "github" } ], - "time": "2021-08-31T06:47:40+00:00" + "time": "2021-09-25T07:38:51+00:00" + }, + { + "name": "roave/security-advisories", + "version": "dev-latest", + "source": { + "type": "git", + "url": "https://github.com/Roave/SecurityAdvisories.git", + "reference": "0488e161600117fc3a0d72397dad154729002f54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/0488e161600117fc3a0d72397dad154729002f54", + "reference": "0488e161600117fc3a0d72397dad154729002f54", + "shasum": "" + }, + "conflict": { + "3f/pygmentize": "<1.2", + "adodb/adodb-php": "<5.20.12", + "akaunting/akaunting": "<2.1.13", + "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", + "amazing/media2click": ">=1,<1.3.3", + "amphp/artax": "<1.0.6|>=2,<2.0.6", + "amphp/http": "<1.0.1", + "amphp/http-client": ">=4,<4.4", + "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", + "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", + "aws/aws-sdk-php": ">=3,<3.2.1", + "bagisto/bagisto": "<0.1.5", + "barrelstrength/sprout-base-email": "<1.2.7", + "barrelstrength/sprout-forms": "<3.9", + "baserproject/basercms": "<=4.5", + "billz/raspap-webgui": "<=2.6.6", + "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", + "bolt/bolt": "<3.7.2", + "bolt/core": "<4.1.13", + "brightlocal/phpwhois": "<=4.2.5", + "buddypress/buddypress": "<5.1.2", + "bugsnag/bugsnag-laravel": ">=2,<2.0.2", + "cachethq/cachet": "<2.5.1", + "cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.5.18|>=3.6,<3.6.15|>=3.7,<3.7.7", + "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", + "cartalyst/sentry": "<=2.1.6", + "centreon/centreon": "<20.10.7", + "cesnet/simplesamlphp-module-proxystatistics": "<3.1", + "codeception/codeception": "<3.1.3|>=4,<4.1.22", + "codeigniter/framework": "<=3.0.6", + "codiad/codiad": "<=2.8.4", + "composer/composer": "<1.10.22|>=2-alpha.1,<2.0.13", + "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/core": ">=2,<3.5.39", + "contao/core-bundle": ">=4,<4.4.56|>=4.5,<4.9.18|>=4.10,<4.11.7|= 4.10.0", + "contao/listing-bundle": ">=4,<4.4.8", + "craftcms/cms": "<3.6.7", + "croogo/croogo": "<3.0.7", + "datadog/dd-trace": ">=0.30,<0.30.2", + "david-garcia/phpwhois": "<=4.3.1", + "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "directmailteam/direct-mail": "<5.2.4", + "doctrine/annotations": ">=1,<1.2.7", + "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", + "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2", + "doctrine/doctrine-bundle": "<1.5.2", + "doctrine/doctrine-module": "<=0.7.1", + "doctrine/mongodb-odm": ">=1,<1.0.2", + "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", + "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", + "dolibarr/dolibarr": "<14|>= 3.3.beta1, < 13.0.2", + "dompdf/dompdf": ">=0.6,<0.6.2", + "drupal/core": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "dweeves/magmi": "<=0.7.24", + "ecodev/newsletter": "<=4", + "endroid/qr-code-bundle": "<3.4.2", + "enshrined/svg-sanitize": "<0.13.1", + "erusev/parsedown": "<1.7.2", + "ether/logs": "<3.0.4", + "ezsystems/demobundle": ">=5.4,<5.4.6.1", + "ezsystems/ez-support-tools": ">=2.2,<2.2.3", + "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", + "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", + "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6", + "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", + "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<=1.3.1", + "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", + "ezsystems/ezplatform-user": ">=1,<1.0.1", + "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<=7.5.15.1", + "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1", + "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", + "ezsystems/repository-forms": ">=2.3,<2.3.2.1", + "ezyang/htmlpurifier": "<4.1.1", + "facade/ignition": "<1.16.14|>=2,<2.4.2|>=2.5,<2.5.2", + "feehi/cms": "<=2.1.1", + "feehi/feehicms": "<=0.1.3", + "firebase/php-jwt": "<2", + "flarum/core": ">=1,<=1.0.1", + "flarum/sticky": ">=0.1-beta.14,<=0.1-beta.15", + "flarum/tags": "<=0.1-beta.13", + "fluidtypo3/vhs": "<5.1.1", + "fooman/tcpdf": "<6.2.22", + "forkcms/forkcms": "<=5.9.2", + "fossar/tcpdf-parser": "<6.2.22", + "francoisjacquet/rosariosis": "<6.5.1", + "friendsofsymfony/oauth2-php": "<1.3", + "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", + "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", + "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", + "froala/wysiwyg-editor": "<3.2.7", + "fuel/core": "<1.8.1", + "getgrav/grav": "<1.7.21", + "getkirby/cms": "<=3.5.6", + "getkirby/panel": "<2.5.14", + "gilacms/gila": "<=1.11.4", + "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", + "gree/jose": "<=2.2", + "gregwar/rst": "<1.0.3", + "grumpydictator/firefly-iii": "<5.6.1", + "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1", + "helloxz/imgurl": "<=2.31", + "ibexa/post-install": "<=1.0.4", + "icecoder/icecoder": "<=8", + "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", + "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", + "illuminate/database": "<6.20.26|>=7,<8.40", + "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", + "illuminate/view": ">=7,<7.1.2", + "impresscms/impresscms": "<=1.4.2", + "in2code/femanager": "<5.5.1|>=6,<6.3.1", + "intelliants/subrion": "<=4.2.1", + "ivankristianto/phpwhois": "<=4.3", + "james-heinrich/getid3": "<1.9.9", + "joomla/archive": "<1.1.10", + "joomla/session": "<1.3.1", + "jsmitty12/phpwhois": "<5.1", + "kazist/phpwhois": "<=4.2.6", + "kitodo/presentation": "<3.1.2", + "klaviyo/magento2-extension": ">=1,<3", + "kreait/firebase-php": ">=3.2,<3.8.1", + "la-haute-societe/tcpdf": "<6.2.22", + "laminas/laminas-http": "<2.14.2", + "laravel/framework": "<6.20.26|>=7,<8.40", + "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "lavalite/cms": "<=5.8", + "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", + "league/commonmark": "<0.18.3", + "league/flysystem": "<1.1.4|>=2,<2.1.1", + "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", + "librenms/librenms": "<21.1", + "livewire/livewire": ">2.2.4,<2.2.6", + "lms/routes": "<2.1.1", + "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", + "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", + "magento/magento1ce": "<1.9.4.3", + "magento/magento1ee": ">=1,<1.14.4.3", + "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", + "marcwillmann/turn": "<0.3.3", + "mautic/core": "<4|= 2.13.1", + "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", + "miniorange/miniorange-saml": "<1.4.3", + "mittwald/typo3_forum": "<1.2.1", + "monolog/monolog": ">=1.8,<1.12", + "moodle/moodle": "<3.5.17|>=3.7,<3.7.9|>=3.8,<3.8.8|>=3.9,<3.9.5|>=3.10,<3.10.2", + "namshi/jose": "<2.2", + "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", + "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", + "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", + "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", + "nilsteampassnet/teampass": "<=2.1.27.36", + "nukeviet/nukeviet": "<4.3.4", + "nystudio107/craft-seomatic": "<3.3", + "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", + "october/backend": "<1.1.2", + "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", + "october/october": ">=1.0.319,<1.0.466", + "october/rain": "<1.0.472|>=1.1,<1.1.2", + "october/system": "<1.0.472|>=1.1.1,<1.1.5", + "onelogin/php-saml": "<2.10.4", + "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "opencart/opencart": "<=3.0.3.2", + "openid/php-openid": "<2.3", + "openmage/magento-lts": "<19.4.15|>=20,<20.0.13", + "orchid/platform": ">=9,<9.4.4", + "oro/crm": ">=1.7,<1.7.4", + "oro/platform": ">=1.7,<1.7.4", + "padraic/humbug_get_contents": "<1.1.2", + "pagarme/pagarme-php": ">=0,<3", + "pagekit/pagekit": "<=1.0.18", + "paragonie/random_compat": "<2", + "passbolt/passbolt_api": "<2.11", + "paypal/merchant-sdk-php": "<3.12", + "pear/archive_tar": "<1.4.14", + "personnummer/personnummer": "<3.0.2", + "phanan/koel": "<5.1.4", + "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", + "phpmailer/phpmailer": "<6.5", + "phpmussel/phpmussel": ">=1,<1.6", + "phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3", + "phpoffice/phpexcel": "<1.8.2", + "phpoffice/phpspreadsheet": "<1.16", + "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.7", + "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3", + "phpwhois/phpwhois": "<=4.2.5", + "phpxmlrpc/extras": "<0.6.1", + "pimcore/pimcore": "<10.1.3", + "pocketmine/pocketmine-mp": "<3.15.4", + "pressbooks/pressbooks": "<5.18", + "prestashop/autoupgrade": ">=4,<4.10.1", + "prestashop/contactform": ">1.0.1,<4.3", + "prestashop/gamification": "<2.3.2", + "prestashop/productcomments": ">=4,<4.2.1", + "prestashop/ps_emailsubscription": "<2.6.1", + "prestashop/ps_facetedsearch": "<3.4.1", + "privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2", + "propel/propel": ">=2-alpha.1,<=2-alpha.7", + "propel/propel1": ">=1,<=1.7.1", + "pterodactyl/panel": "<0.7.19|>=1-rc.0,<=1-rc.6", + "pusher/pusher-php-server": "<2.2.1", + "pwweb/laravel-core": "<=0.3.6-beta", + "rainlab/debugbar-plugin": "<3.1", + "rmccue/requests": ">=1.6,<1.8", + "robrichards/xmlseclibs": "<3.0.4", + "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", + "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", + "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", + "sensiolabs/connect": "<4.2.3", + "serluck/phpwhois": "<=4.2.6", + "shopware/core": "<=6.4.3", + "shopware/platform": "<=6.4.3", + "shopware/production": "<=6.3.5.2", + "shopware/shopware": "<5.6.10", + "showdoc/showdoc": "<=2.9.8", + "silverstripe/admin": ">=1.0.3,<1.0.4|>=1.1,<1.1.1", + "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2", + "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4", + "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", + "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", + "silverstripe/framework": "<4.7.4", + "silverstripe/graphql": "<=3.5|>=4-alpha.1,<4-alpha.2", + "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", + "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", + "silverstripe/subsites": ">=2,<2.1.1", + "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", + "silverstripe/userforms": "<3", + "simple-updates/phpwhois": "<=1", + "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4", + "simplesamlphp/simplesamlphp": "<1.18.6", + "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", + "simplito/elliptic-php": "<1.0.6", + "slim/slim": "<2.6", + "smarty/smarty": "<3.1.39", + "socalnick/scn-social-auth": "<1.15.2", + "socialiteproviders/steam": "<1.1", + "spoonity/tcpdf": "<6.2.22", + "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", + "ssddanbrown/bookstack": "<0.29.2", + "stormpath/sdk": ">=0,<9.9.99", + "studio-42/elfinder": "<2.1.59", + "subrion/cms": "<=4.2.1", + "sulu/sulu": "<1.6.41|>=2,<2.0.10|>=2.1,<2.1.1", + "swiftmailer/swiftmailer": ">=4,<5.4.5", + "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", + "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", + "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3|>=1.9,<1.9.5", + "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", + "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", + "symbiote/silverstripe-versionedfiles": "<=2.0.3", + "symfont/process": ">=0,<4", + "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", + "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", + "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", + "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", + "symfony/mime": ">=4.3,<4.3.8", + "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/polyfill": ">=1,<1.10", + "symfony/polyfill-php55": ">=1,<1.10", + "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/routing": ">=2,<2.0.19", + "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", + "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", + "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8|>=5.3,<5.3.2", + "symfony/serializer": ">=2,<2.0.11", + "symfony/symfony": ">=2,<3.4.49|>=4,<4.4.24|>=5,<5.2.9|>=5.3,<5.3.2", + "symfony/translation": ">=2,<2.0.17", + "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", + "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", + "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", + "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "t3/dce": ">=2.2,<2.6.2", + "t3g/svg-sanitizer": "<1.0.3", + "tecnickcom/tcpdf": "<6.2.22", + "thelia/backoffice-default-template": ">=2.1,<2.1.2", + "thelia/thelia": ">=2.1-beta.1,<2.1.3", + "theonedemon/phpwhois": "<=4.2.5", + "titon/framework": ">=0,<9.9.99", + "topthink/think": "<=6.0.9", + "topthink/thinkphp": "<=3.2.3", + "tribalsystems/zenario": "<8.8.53370", + "truckersmp/phpwhois": "<=4.3.1", + "twig/twig": "<1.38|>=2,<2.7", + "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.3.2", + "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/cms-core": ">=6.2,<=6.2.56|>=7,<=7.6.52|>=8,<=8.7.41|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.3.2", + "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", + "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", + "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", + "ua-parser/uap-php": "<3.8", + "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", + "vanilla/safecurl": "<0.9.2", + "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", + "vrana/adminer": "<4.7.9", + "wallabag/tcpdf": "<6.2.22", + "web-auth/webauthn-framework": ">=3.3,<3.3.4", + "webcoast/deferred-image-processing": "<1.0.2", + "wikimedia/parsoid": "<0.12.2", + "willdurand/js-translation-bundle": "<2.1.1", + "wp-cli/wp-cli": "<2.5", + "yidashi/yii2cmf": "<=2", + "yii2mod/yii2-cms": "<1.9.2", + "yiisoft/yii": ">=1.1.14,<1.1.15", + "yiisoft/yii2": "<2.0.38", + "yiisoft/yii2-bootstrap": "<2.0.4", + "yiisoft/yii2-dev": "<2.0.43", + "yiisoft/yii2-elasticsearch": "<2.0.5", + "yiisoft/yii2-gii": "<2.0.4", + "yiisoft/yii2-jui": "<2.0.4", + "yiisoft/yii2-redis": "<2.0.8", + "yoast-seo-for-typo3/yoast_seo": "<7.2.3", + "yourls/yourls": "<=1.8.2", + "zendesk/zendesk_api_client_php": "<2.2.11", + "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", + "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", + "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", + "zendframework/zend-diactoros": ">=1,<1.8.4", + "zendframework/zend-feed": ">=1,<2.10.3", + "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-http": ">=1,<2.8.1", + "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", + "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", + "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", + "zendframework/zend-validator": ">=2.3,<2.3.6", + "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zendframework": "<=3", + "zendframework/zendframework1": "<1.12.20", + "zendframework/zendopenid": ">=2,<2.0.2", + "zendframework/zendxml": ">=1,<1.0.1", + "zetacomponents/mail": "<1.8.2", + "zf-commons/zfc-user": "<1.2.2", + "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", + "zfr/zfr-oauth2-server-module": "<0.1.2", + "zoujingli/thinkadmin": "<6.0.22" + }, + "default-branch": true, + "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "role": "maintainer" + }, + { + "name": "Ilya Tribusean", + "email": "slash3b@gmail.com", + "role": "maintainer" + } + ], + "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "support": { + "issues": "https://github.com/Roave/SecurityAdvisories/issues", + "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" + }, + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", + "type": "tidelift" + } + ], + "time": "2021-09-30T18:03:50+00:00" }, { "name": "sebastian/cli-parser", @@ -9684,16 +10099,16 @@ }, { "name": "symfony/http-client", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "da8638ffecefc4e8ba2bc848d7b61a408119b333" + "reference": "c6370fe2c0a445aedc08f592a6a3149da1fea4c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/da8638ffecefc4e8ba2bc848d7b61a408119b333", - "reference": "da8638ffecefc4e8ba2bc848d7b61a408119b333", + "url": "https://api.github.com/repos/symfony/http-client/zipball/c6370fe2c0a445aedc08f592a6a3149da1fea4c7", + "reference": "c6370fe2c0a445aedc08f592a6a3149da1fea4c7", "shasum": "" }, "require": { @@ -9751,7 +10166,7 @@ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-client/tree/v5.3.7" + "source": "https://github.com/symfony/http-client/tree/v5.3.8" }, "funding": [ { @@ -9767,25 +10182,25 @@ "type": "tidelift" } ], - "time": "2021-08-28T16:24:37+00:00" + "time": "2021-09-07T10:45:28+00:00" }, { "name": "symfony/maker-bundle", - "version": "v1.33.0", + "version": "v1.34.1", "source": { "type": "git", "url": "https://github.com/symfony/maker-bundle.git", - "reference": "f093d906c667cba7e3f74487d9e5e55aaf25a031" + "reference": "c9ae401f3fa2b42881120d33ad79416630d1f2be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/f093d906c667cba7e3f74487d9e5e55aaf25a031", - "reference": "f093d906c667cba7e3f74487d9e5e55aaf25a031", + "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/c9ae401f3fa2b42881120d33ad79416630d1f2be", + "reference": "c9ae401f3fa2b42881120d33ad79416630d1f2be", "shasum": "" }, "require": { "doctrine/inflector": "^1.2|^2.0", - "nikic/php-parser": "^4.0", + "nikic/php-parser": "^4.11", "php": ">=7.1.3", "symfony/config": "^4.0|^5.0", "symfony/console": "^4.0|^5.0", @@ -9839,7 +10254,7 @@ ], "support": { "issues": "https://github.com/symfony/maker-bundle/issues", - "source": "https://github.com/symfony/maker-bundle/tree/v1.33.0" + "source": "https://github.com/symfony/maker-bundle/tree/v1.34.1" }, "funding": [ { @@ -9855,20 +10270,20 @@ "type": "tidelift" } ], - "time": "2021-07-01T00:28:30+00:00" + "time": "2021-10-13T15:58:56+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "2a1ff6e5a4521be1350bfce75784938e590d6342" + "reference": "e9c0548d8d7abcd257f18f0adc0517895996a9c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/2a1ff6e5a4521be1350bfce75784938e590d6342", - "reference": "2a1ff6e5a4521be1350bfce75784938e590d6342", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/e9c0548d8d7abcd257f18f0adc0517895996a9c1", + "reference": "e9c0548d8d7abcd257f18f0adc0517895996a9c1", "shasum": "" }, "require": { @@ -9922,7 +10337,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v5.3.7" + "source": "https://github.com/symfony/phpunit-bridge/tree/v5.3.8" }, "funding": [ { @@ -9938,20 +10353,20 @@ "type": "tidelift" } ], - "time": "2021-08-26T13:36:50+00:00" + "time": "2021-09-14T13:57:08+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v5.3.5", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "95fb24b09551688a09cffac95a2ddbb907833f07" + "reference": "9ba1e05fdc7a46979047ba6c8949bd35e3a386a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/95fb24b09551688a09cffac95a2ddbb907833f07", - "reference": "95fb24b09551688a09cffac95a2ddbb907833f07", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/9ba1e05fdc7a46979047ba6c8949bd35e3a386a5", + "reference": "9ba1e05fdc7a46979047ba6c8949bd35e3a386a5", "shasum": "" }, "require": { @@ -10001,7 +10416,7 @@ "description": "Provides a development tool that gives detailed information about the execution of any request", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.3.5" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.3.8" }, "funding": [ { @@ -10017,7 +10432,7 @@ "type": "tidelift" } ], - "time": "2021-07-27T04:28:53+00:00" + "time": "2021-09-17T08:55:39+00:00" }, { "name": "theseer/tokenizer", @@ -10073,7 +10488,8 @@ "aliases": [], "minimum-stability": "stable", "stability-flags": { - "liip/test-fixtures-bundle": 10 + "roave/security-advisories": 20, + "liip/test-fixtures-bundle": 15 }, "prefer-stable": false, "prefer-lowest": false, @@ -10086,7 +10502,6 @@ "ext-json": "*", "ext-openssl": "*", "ext-pcre": "*", - "ext-pdo_pgsql": "*", "ext-session": "*", "ext-simplexml": "*", "ext-sodium": "*", diff --git a/config/packages/doctrine_migrations.yaml b/config/packages/doctrine_migrations.yaml index d400e35..be41573 100644 --- a/config/packages/doctrine_migrations.yaml +++ b/config/packages/doctrine_migrations.yaml @@ -2,4 +2,5 @@ doctrine_migrations: migrations_paths: # namespace is arbitrary but should be different from App\Migrations # as migrations classes should NOT be autoloaded - 'App\DoctrineMigrations': '%kernel.project_dir%/src/Migrations' + 'App\DoctrineMigrations': '%kernel.project_dir%/migrations' + enable_profiler: '%kernel.debug%' diff --git a/config/packages/prod/deprecations.yaml b/config/packages/prod/deprecations.yaml new file mode 100644 index 0000000..60026a1 --- /dev/null +++ b/config/packages/prod/deprecations.yaml @@ -0,0 +1,8 @@ +# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists +#monolog: +# channels: [deprecation] +# handlers: +# deprecation: +# type: stream +# channels: [deprecation] +# path: php://stderr diff --git a/config/packages/prod/monolog.yaml b/config/packages/prod/monolog.yaml index c8a16ec..4112963 100644 --- a/config/packages/prod/monolog.yaml +++ b/config/packages/prod/monolog.yaml @@ -10,17 +10,8 @@ monolog: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" level: debug + formatter: monolog.formatter.json console: type: console process_psr_3_messages: false channels: ["!event", "!doctrine"] - - # Uncomment to log deprecations - #deprecation: - # type: stream - # path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" - #deprecation_filter: - # type: filter - # handler: deprecation - # max_level: info - # channels: ["php"] diff --git a/config/packages/security.yaml b/config/packages/security.yaml index 31f6954..6402eff 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -1,11 +1,13 @@ security: + # https://symfony.com/doc/current/security/authenticator_manager.html enable_authenticator_manager: true + role_hierarchy: ROLE_ADMIN: ROLE_USER - + + # https://symfony.com/doc/current/security.html#c-hashing-passwords password_hashers: - App\Entity\User: 'auto' - + Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto' # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers providers: jwt: diff --git a/config/packages/test/doctrine.yaml b/config/packages/test/doctrine.yaml index 177e0d7..34c2ebc 100644 --- a/config/packages/test/doctrine.yaml +++ b/config/packages/test/doctrine.yaml @@ -1,4 +1,4 @@ doctrine: dbal: # "TEST_TOKEN" is typically set by ParaTest - # dbname_suffix: '_test%env(default::TEST_TOKEN)%' + dbname_suffix: '_test%env(default::TEST_TOKEN)%' diff --git a/docker-compose.override.yml b/docker-compose.override.yml new file mode 100644 index 0000000..0a54fdf --- /dev/null +++ b/docker-compose.override.yml @@ -0,0 +1,25 @@ +version: "3.4" + +# Development environment override +services: + php: + volumes: + # The "cached" option has no effect on Linux but improves performance on Mac + - ./:/srv/app:rw,cached + - ./docker/php/conf.d/symfony.dev.ini:/usr/local/etc/php/conf.d/symfony.ini + # If you develop on Mac you can remove the var/ directory from the bind-mount + # for better performance by enabling the next line + # - /srv/app/var + environment: + APP_ENV: dev + + caddy: + volumes: + - ./docker/caddy/Caddyfile:/etc/caddy/Caddyfile:ro + - ./public:/srv/app/public:ro + +###> doctrine/doctrine-bundle ### + database: + ports: + - "5432" +###< doctrine/doctrine-bundle ### diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 0000000..079c85d --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,14 @@ +version: "3.4" + +# Production environment override +services: + php: + environment: + APP_ENV: prod + APP_SECRET: ${APP_SECRET} + MERCURE_JWT_SECRET: ${CADDY_MERCURE_JWT_SECRET} + + caddy: + environment: + MERCURE_PUBLISHER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET} + MERCURE_SUBSCRIBER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET} diff --git a/docker-compose.yaml b/docker-compose.yaml deleted file mode 100644 index 070d897..0000000 --- a/docker-compose.yaml +++ /dev/null @@ -1,47 +0,0 @@ -version: '3.4' -services: - db: - image: postgres:10-alpine - ports: - - '5432:5432' # On expose le port pour pouvoir inspecter la base pendant la phase de développement - environment: - POSTGRES_DB: smarterd - POSTGRES_USER: smarterd - POSTGRES_PASSWORD: "!ChangeMe!" - volumes: - - db-data:/var/lib/postgresql/data - php: - build: docker/php-fpm - ports: - - '9000:9000' - volumes: - - ./:/var/www/smarterd:cached - - ./var/log:/var/www/smarterd/var/log:cached - depends_on: - - db - nginx: - image: nginx:stable-alpine - ports: - - '8080:80' - links: - - php - volumes: - - ./:/var/www/smarterd:delegated - - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf - - ./docker/nginx/logs/:/var/log/nginx:cached - depends_on: - - php - - db - blackfire: - image: blackfire/blackfire:2 - ports: ['8307'] - environment: - - BLACKFIRE_LOG_LEVEL=4 - - BLACKFIRE_SERVER_ID - - BLACKFIRE_SERVER_TOKEN - - BLACKFIRE_CLIENT_ID - - BLACKFIRE_CLIENT_TOKEN - -volumes: - db-data: - driver: local diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9b72ae2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,78 @@ +version: "3.4" + +services: + php: + build: + context: . + target: symfony_php + args: + SYMFONY_VERSION: ${SYMFONY_VERSION:-} + SKELETON: ${SKELETON:-symfony/skeleton} + STABILITY: ${STABILITY:-stable} + restart: unless-stopped + volumes: + - php_socket:/var/run/php + healthcheck: + interval: 10s + timeout: 3s + retries: 3 + start_period: 30s + environment: + # Run "composer require symfony/orm-pack" to install and configure Doctrine ORM + DATABASE_URL: postgresql://${POSTGRES_USER:-symfony}:${POSTGRES_PASSWORD:-ChangeMe}@database:5432/${POSTGRES_DB:-app}?serverVersion=${POSTGRES_VERSION:-13} + # Run "composer require symfony/mercure-bundle" to install and configure the Mercure integration + MERCURE_URL: ${CADDY_MERCURE_URL:-http://caddy/.well-known/mercure} + MERCURE_PUBLIC_URL: https://${SERVER_NAME:-localhost}/.well-known/mercure + MERCURE_JWT_SECRET: ${CADDY_MERCURE_JWT_SECRET:-!ChangeMe!} + + caddy: + build: + context: . + target: symfony_caddy + depends_on: + - php + environment: + SERVER_NAME: ${SERVER_NAME:-localhost, caddy:80} + MERCURE_PUBLISHER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeMe!} + MERCURE_SUBSCRIBER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeMe!} + restart: unless-stopped + volumes: + - php_socket:/var/run/php + - caddy_data:/data + - caddy_config:/config + ports: + # HTTP + - target: 80 + published: 80 + protocol: tcp + # HTTPS + - target: 443 + published: 9000 + protocol: tcp + # HTTP/3 + - target: 443 + published: 443 + protocol: udp + +###> doctrine/doctrine-bundle ### + database: + image: postgres:${POSTGRES_VERSION:-13}-alpine + environment: + POSTGRES_DB: ${POSTGRES_DB:-app} + # You should definitely change the password in production + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ChangeMe} + POSTGRES_USER: ${POSTGRES_USER:-symfony} + volumes: + - db-data:/var/lib/postgresql/data:rw + # You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data! + # - ./docker/db/data:/var/lib/postgresql/data:rw +###< doctrine/doctrine-bundle ### + +volumes: + php_socket: + caddy_data: + caddy_config: + +###> doctrine/doctrine-bundle ### + db-data: +###< doctrine/doctrine-bundle ### diff --git a/docker/caddy/Caddyfile b/docker/caddy/Caddyfile new file mode 100644 index 0000000..d5622a8 --- /dev/null +++ b/docker/caddy/Caddyfile @@ -0,0 +1,37 @@ +{ + # Debug + {$DEBUG} + # HTTP/3 support + servers { + protocol { + experimental_http3 + } + } +} + +{$SERVER_NAME} + +log + +route { + root * /srv/app/public + mercure { + # Transport to use (default to Bolt) + transport_url {$MERCURE_TRANSPORT_URL:bolt:///data/mercure.db} + # Publisher JWT key + publisher_jwt {env.MERCURE_PUBLISHER_JWT_KEY} {env.MERCURE_PUBLISHER_JWT_ALG} + # Subscriber JWT key + subscriber_jwt {env.MERCURE_SUBSCRIBER_JWT_KEY} {env.MERCURE_SUBSCRIBER_JWT_ALG} + # Allow anonymous subscribers (double-check that it's what you want) + anonymous + # Enable the subscription API (double-check that it's what you want) + subscriptions + # Extra directives + {$MERCURE_EXTRA_DIRECTIVES} + } + vulcain + push + php_fastcgi unix//var/run/php/php-fpm.sock + encode zstd gzip + file_server +} diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf deleted file mode 100644 index f402d51..0000000 --- a/docker/nginx/default.conf +++ /dev/null @@ -1,29 +0,0 @@ -server { - listen 80; - server_name localhost; - root /var/www/smarterd/public; - - location / { - try_files $uri @rewriteapp; - } - - location @rewriteapp { - rewrite ^(.*)$ /index.php/$1 last; - } - - location ~ ^/index\.php(/|$) { - fastcgi_pass php:9000; - fastcgi_split_path_info ^(.+\.php)(/.*)$; - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param HTTPS off; - - # Prevents URIs that include the front controller. This will 404: - # http://domain.tld/index.php/some-path - # Remove the internal directive to allow URIs like this - internal; - } - - error_log /var/log/nginx/project_error.log; - access_log /var/log/nginx/project_access.log; -} \ No newline at end of file diff --git a/docker/php-fpm/Dockerfile b/docker/php-fpm/Dockerfile deleted file mode 100644 index 16318bf..0000000 --- a/docker/php-fpm/Dockerfile +++ /dev/null @@ -1,58 +0,0 @@ -# Reprise de l'image PHP 7.4 FastCGI Process Manager -FROM php:8.0-fpm - -# Mise à jour de la liste des paquets et de leur version. Cette commande -# n'installe rien du tout. -RUN apt-get update - - -RUN apt-get install -y \ - wget \ - git - -# Les extensions sont repris de https://symfony.com/doc/current/setup.html. -# zlib1g-dev permet de dezipper des fichiers : https://packages.debian.org/fr/jessie/zlib1g-dev -# libpq-dev de communiquer avec postgresql : https://packages.debian.org/fr/sid/libpq-dev -# git : le nom parle de lui-même -# libicu-dev : https://packages.debian.org/fr/sid/libicu-dev -# libxml2-dev : -RUN apt-get install -y unzip libzip-dev libicu-dev zlib1g-dev libpq-dev libxml2-dev \ - && docker-php-ext-configure intl \ - && docker-php-ext-install intl \ - && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \ - && docker-php-ext-install pdo pdo_pgsql pgsql \ - && docker-php-ext-install zip xml \ - && docker-php-ext-install opcache - -RUN pecl install apcu \ - && docker-php-ext-enable apcu - -# Installation de Composer -# -s rend l'installation silencieuse -# -S fait apparaître les erreurs s'il y en a -RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer - -# Symfony tool -RUN wget https://get.symfony.com/cli/installer -O - | bash && \ - mv /root/.symfony/bin/symfony /usr/local/bin/symfony - -RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ - && architecture=$(case $(uname -m) in i386 | i686 | x86) echo "i386" ;; x86_64 | amd64) echo "amd64" ;; aarch64 | arm64 | armv8) echo "arm64" ;; *) echo "amd64" ;; esac) \ - && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/$architecture/$version \ - && mkdir -p /tmp/blackfire \ - && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \ - && mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so \ - && printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8307\n" > $PHP_INI_DIR/conf.d/blackfire.ini \ - && rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz - -# Paramètrage du timezone (fuseau horaire) -RUN rm /etc/localtime -RUN ln -s /usr/share/zoneinfo/Europe/Zurich /etc/localtime -RUN "date" - -# Copie du fichier php.overrides.ini au bon endroit. -COPY ./php.overrides.ini /usr/local/etc/php/php.ini - -WORKDIR /var/www/smarterd - -EXPOSE 9000 diff --git a/docker/php-fpm/php.overrides.ini b/docker/php-fpm/php.overrides.ini deleted file mode 100644 index a2f93fe..0000000 --- a/docker/php-fpm/php.overrides.ini +++ /dev/null @@ -1,39 +0,0 @@ -[PHP] -apc.enable_cli=1 -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; -; cache la version de php. Elle est de base affiché dans un en-tête x-powered-by -expose_php=off -log_errors=on -display_errors=on -short_open_tag=off - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; -memory_limit=2G - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; -post_max_size=1G - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; -upload_max_filesize=512M - -session.auto_start=off - -[opcache] -opcache.enable=1 -opcache.enable_cli=1 -opcache.memory_consumption=256 -opcache.interned_strings_buffer=16 -opcache.max_accelerated_files=20000 -opcache.validate_timestamps=1 -opcache.revalidate_freq=60 - -realpath_cache_size = 4096K -realpath_cache_ttl = 600 diff --git a/docker/php/conf.d/symfony.dev.ini b/docker/php/conf.d/symfony.dev.ini new file mode 100644 index 0000000..1a4e2b7 --- /dev/null +++ b/docker/php/conf.d/symfony.dev.ini @@ -0,0 +1,13 @@ +apc.enable_cli = 1 +date.timezone = UTC +session.auto_start = Off +short_open_tag = Off +display_errors = On +log_errors = On + +# http://symfony.com/doc/current/performance.html +opcache.interned_strings_buffer = 16 +opcache.max_accelerated_files = 20000 +opcache.memory_consumption = 256 +realpath_cache_size = 4096K +realpath_cache_ttl = 600 diff --git a/docker/php/conf.d/symfony.prod.ini b/docker/php/conf.d/symfony.prod.ini new file mode 100644 index 0000000..02cf949 --- /dev/null +++ b/docker/php/conf.d/symfony.prod.ini @@ -0,0 +1,17 @@ +apc.enable_cli = 1 +date.timezone = UTC +session.auto_start = Off +short_open_tag = Off +expose_php = Off +display_errors = Off +log_errors = Off + +# https://symfony.com/doc/current/performance.html +opcache.interned_strings_buffer = 16 +opcache.max_accelerated_files = 20000 +opcache.memory_consumption = 256 +opcache.validate_timestamps = 0 +realpath_cache_size = 4096K +realpath_cache_ttl = 600 +opcache.preload_user = www-data +opcache.preload = /srv/app/config/preload.php diff --git a/docker/php/docker-entrypoint.sh b/docker/php/docker-entrypoint.sh new file mode 100644 index 0000000..d78ccc4 --- /dev/null +++ b/docker/php/docker-entrypoint.sh @@ -0,0 +1,71 @@ +#!/bin/sh +set -e + +# first arg is `-f` or `--some-option` +if [ "${1#-}" != "$1" ]; then + set -- php-fpm "$@" +fi + +if [ "$1" = 'php-fpm' ] || [ "$1" = 'php' ] || [ "$1" = 'bin/console' ]; then + PHP_INI_RECOMMENDED="$PHP_INI_DIR/php.ini-production" + if [ "$APP_ENV" != 'prod' ]; then + PHP_INI_RECOMMENDED="$PHP_INI_DIR/php.ini-development" + fi + ln -sf "$PHP_INI_RECOMMENDED" "$PHP_INI_DIR/php.ini" + + mkdir -p var/cache var/log + + # The first time volumes are mounted, the project needs to be recreated + if [ ! -f composer.json ]; then + CREATION=1 + composer create-project "$SKELETON $SYMFONY_VERSION" tmp --stability="$STABILITY" --prefer-dist --no-progress --no-interaction --no-install + + cd tmp + composer config --json extra.symfony.docker 'true' + cp -Rp . .. + cd - + + rm -Rf tmp/ + elif [ "$APP_ENV" != 'prod' ]; then + rm -f .env.local.php + fi + + composer install --prefer-dist --no-progress --no-interaction + + if grep -q ^DATABASE_URL= .env; then + if [ "$CREATION" = "1" ]; then + echo "To finish the installation please press Ctrl+C to stop Docker Compose and run: docker-compose up --build" + sleep infinity + fi + + echo "Waiting for db to be ready..." + ATTEMPTS_LEFT_TO_REACH_DATABASE=60 + until [ $ATTEMPTS_LEFT_TO_REACH_DATABASE -eq 0 ] || DATABASE_ERROR=$(bin/console dbal:run-sql "SELECT 1" 2>&1); do + if [ $? -eq 255 ]; then + # If the Doctrine command exits with 255, an unrecoverable error occurred + ATTEMPTS_LEFT_TO_REACH_DATABASE=0 + break + fi + sleep 1 + ATTEMPTS_LEFT_TO_REACH_DATABASE=$((ATTEMPTS_LEFT_TO_REACH_DATABASE - 1)) + echo "Still waiting for db to be ready... Or maybe the db is not reachable. $ATTEMPTS_LEFT_TO_REACH_DATABASE attempts left" + done + + if [ $ATTEMPTS_LEFT_TO_REACH_DATABASE -eq 0 ]; then + echo "The database is not up or not reachable:" + echo "$DATABASE_ERROR" + exit 1 + else + echo "The db is now ready and reachable" + fi + + if ls -A migrations/*.php >/dev/null 2>&1; then + bin/console doctrine:migrations:migrate --no-interaction + fi + fi + + setfacl -R -m u:www-data:rwX -m u:"$(whoami)":rwX var + setfacl -dR -m u:www-data:rwX -m u:"$(whoami)":rwX var +fi + +exec docker-php-entrypoint "$@" diff --git a/docker/php/docker-healthcheck.sh b/docker/php/docker-healthcheck.sh new file mode 100644 index 0000000..f322de5 --- /dev/null +++ b/docker/php/docker-healthcheck.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +if env -i REQUEST_METHOD=GET SCRIPT_NAME=/ping SCRIPT_FILENAME=/ping cgi-fcgi -bind -connect /var/run/php/php-fpm.sock; then + exit 0 +fi + +exit 1 diff --git a/docker/php/php-fpm.d/zz-docker.conf b/docker/php/php-fpm.d/zz-docker.conf new file mode 100644 index 0000000..9f454cd --- /dev/null +++ b/docker/php/php-fpm.d/zz-docker.conf @@ -0,0 +1,8 @@ +[global] +daemonize = no +process_control_timeout = 20 + +[www] +listen = /var/run/php/php-fpm.sock +listen.mode = 0666 +ping.path = /ping diff --git a/migrations/.gitignore b/migrations/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/public/.gitignore b/public/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/src/Command/SetupCommand.php b/src/Command/SetupCommand.php index 2054bc8..c55e48a 100644 --- a/src/Command/SetupCommand.php +++ b/src/Command/SetupCommand.php @@ -40,6 +40,7 @@ protected function configure(): void */ protected function execute(InputInterface $input, OutputInterface $output): int { + // TODO: Add Lock to avoid concurrent run $io = new SymfonyStyle($input, $output); $io->title('SmartERD - Installation assistant'); $io->warning('Database suppression...'); @@ -50,7 +51,6 @@ protected function execute(InputInterface $input, OutputInterface $output): int '--force' => true ]), new NullOutput) ; - if (0 === $returnCode) { $io->success('The database has been deleted'); diff --git a/src/Entity/Project.php b/src/Entity/Project.php index 96a1c24..6d828dc 100644 --- a/src/Entity/Project.php +++ b/src/Entity/Project.php @@ -62,6 +62,9 @@ class Project extends AbstractEntity #[ORM\Column(length: 50)] #[ApiProperty(iri: 'https://schema.org/name')] #[Groups(['project:create', 'project:read', 'project:details'])] + #[Assert\NotBlank] + #[Assert\Type("string")] + #[Assert\Length(max: 50)] private ?string $name = null; #[ORM\ManyToOne(User::class, fetch: 'EAGER', inversedBy: 'projects')] diff --git a/symfony.lock b/symfony.lock index 0c74db8..a82d22a 100644 --- a/symfony.lock +++ b/symfony.lock @@ -17,7 +17,7 @@ "version": "v1.3.0" }, "composer/package-versions-deprecated": { - "version": "1.11.99.2" + "version": "1.11.99.4" }, "doctrine/annotations": { "version": "1.0", @@ -28,23 +28,23 @@ "ref": "a2759dd6123694c8d901d0ec80006e044c2e6457" }, "files": [ - "./config/routes/annotations.yaml" + "config/routes/annotations.yaml" ] }, "doctrine/cache": { - "version": "1.10.0" + "version": "2.1.1" }, "doctrine/collections": { - "version": "1.6.4" + "version": "1.6.8" }, "doctrine/common": { - "version": "2.12.0" + "version": "3.1.2" }, "doctrine/data-fixtures": { - "version": "1.4.2" + "version": "1.5.0" }, "doctrine/dbal": { - "version": "v2.10.1" + "version": "2.13.3" }, "doctrine/deprecations": { "version": "v0.5.3" @@ -71,54 +71,54 @@ "repo": "github.com/symfony/recipes", "branch": "master", "version": "3.0", - "ref": "fc52d86631a6dfd9fdf3381d0b7e3df2069e51b3" + "ref": "e5b542d4ef47d8a003c91beb35650c76907f7e53" }, "files": [ - "./src/DataFixtures/AppFixtures.php" + "src/DataFixtures/AppFixtures.php" ] }, "doctrine/doctrine-migrations-bundle": { - "version": "1.2", + "version": "3.1", "recipe": { "repo": "github.com/symfony/recipes", "branch": "master", - "version": "1.2", - "ref": "c1431086fec31f17fbcfe6d6d7e92059458facc1" + "version": "3.1", + "ref": "ee609429c9ee23e22d6fa5728211768f51ed2818" }, "files": [ - "./config/packages/doctrine_migrations.yaml", - "./src/Migrations/.gitignore" + "config/packages/doctrine_migrations.yaml", + "migrations/.gitignore" ] }, "doctrine/event-manager": { - "version": "1.1.0" + "version": "1.1.1" }, "doctrine/inflector": { - "version": "1.3.1" + "version": "2.0.3" }, "doctrine/instantiator": { - "version": "1.3.0" + "version": "1.4.0" }, "doctrine/lexer": { - "version": "1.2.0" + "version": "1.2.1" }, "doctrine/migrations": { - "version": "2.2.1" + "version": "3.2.1" }, "doctrine/orm": { - "version": "v2.7.2" + "version": "2.9.5" }, "doctrine/persistence": { - "version": "1.3.7" + "version": "2.2.2" }, "doctrine/sql-formatter": { "version": "1.1.1" }, "fakerphp/faker": { - "version": "v1.15.0" + "version": "v1.16.0" }, "fig/link-util": { - "version": "1.1.0" + "version": "1.2.0" }, "friendsofphp/proxy-manager-lts": { "version": "v1.0.5" @@ -129,26 +129,17 @@ "hidehalo/nanoid-php": { "version": "1.1.8" }, - "jdorn/sql-formatter": { - "version": "v1.2.17" - }, "justinrainbow/json-schema": { - "version": "5.2.9" + "version": "5.2.11" }, "laminas/laminas-code": { - "version": "3.4.1" - }, - "laminas/laminas-eventmanager": { - "version": "3.2.1" - }, - "laminas/laminas-zendframework-bridge": { - "version": "1.0.1" + "version": "4.4.3" }, "lcobucci/clock": { "version": "2.0.0" }, "lcobucci/jwt": { - "version": "3.3.1" + "version": "4.1.4" }, "lexik/jwt-authentication-bundle": { "version": "2.5", @@ -159,17 +150,17 @@ "ref": "5b2157bcd5778166a5696e42f552ad36529a07a6" }, "files": [ - "./config/packages/lexik_jwt_authentication.yaml" + "config/packages/lexik_jwt_authentication.yaml" ] }, "liip/test-fixtures-bundle": { - "version": "1.7.0" + "version": "2.0.0-beta1" }, "monolog/monolog": { - "version": "2.0.2" + "version": "2.3.4" }, "myclabs/deep-copy": { - "version": "1.9.5" + "version": "1.10.2" }, "namshi/jose": { "version": "7.2.3" @@ -187,49 +178,40 @@ ] }, "nikic/php-parser": { - "version": "v4.3.0" - }, - "ocramius/package-versions": { - "version": "1.7.0" - }, - "ocramius/proxy-manager": { - "version": "2.7.0" + "version": "v4.13.0" }, "phar-io/manifest": { - "version": "1.0.3" + "version": "2.0.3" }, "phar-io/version": { - "version": "2.0.1" - }, - "php": { - "version": "7.4" + "version": "3.1.0" }, "phpdocumentor/reflection-common": { - "version": "2.0.0" + "version": "2.2.0" }, "phpdocumentor/reflection-docblock": { - "version": "4.3.4" + "version": "5.2.2" }, "phpdocumentor/type-resolver": { - "version": "1.1.0" + "version": "1.5.0" }, "phpspec/prophecy": { - "version": "v1.10.3" + "version": "1.14.0" }, "phpunit/php-code-coverage": { - "version": "7.0.10" + "version": "9.2.7" }, "phpunit/php-file-iterator": { - "version": "2.0.2" + "version": "3.0.5" }, "phpunit/php-invoker": { "version": "3.1.1" }, "phpunit/php-text-template": { - "version": "1.2.1" + "version": "2.0.4" }, "phpunit/php-timer": { - "version": "2.1.2" + "version": "5.0.3" }, "phpunit/phpunit": { "version": "9.3", @@ -246,22 +228,25 @@ ] }, "predis/predis": { - "version": "v1.1.1" + "version": "v1.1.7" }, "psr/cache": { - "version": "1.0.1" + "version": "2.0.0" }, "psr/container": { - "version": "1.0.0" + "version": "1.1.1" }, "psr/event-dispatcher": { "version": "1.0.0" }, "psr/link": { - "version": "1.0.0" + "version": "1.1.1" }, "psr/log": { - "version": "1.1.3" + "version": "2.0.0" + }, + "roave/security-advisories": { + "version": "dev-latest" }, "sebastian/cli-parser": { "version": "1.0.1" @@ -270,61 +255,61 @@ "version": "1.0.8" }, "sebastian/code-unit-reverse-lookup": { - "version": "1.0.1" + "version": "2.0.3" }, "sebastian/comparator": { - "version": "3.0.2" + "version": "4.0.6" }, "sebastian/complexity": { "version": "2.0.2" }, "sebastian/diff": { - "version": "3.0.2" + "version": "4.0.4" }, "sebastian/environment": { - "version": "4.2.3" + "version": "5.1.3" }, "sebastian/exporter": { - "version": "3.1.2" + "version": "4.0.3" }, "sebastian/global-state": { - "version": "3.0.0" + "version": "5.0.3" }, "sebastian/lines-of-code": { "version": "1.0.3" }, "sebastian/object-enumerator": { - "version": "3.0.3" + "version": "4.0.4" }, "sebastian/object-reflector": { - "version": "1.1.1" + "version": "2.0.4" }, "sebastian/recursion-context": { - "version": "3.0.0" + "version": "4.0.4" }, "sebastian/resource-operations": { - "version": "2.0.1" + "version": "3.0.3" }, "sebastian/type": { "version": "2.3.4" }, "sebastian/version": { - "version": "2.0.1" + "version": "3.0.2" }, "symfony/asset": { - "version": "v5.0.6" + "version": "v5.3.4" }, "symfony/browser-kit": { - "version": "v5.0.7" + "version": "v5.3.4" }, "symfony/cache": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/cache-contracts": { - "version": "v2.0.1" + "version": "v2.4.0" }, "symfony/config": { - "version": "v5.0.5" + "version": "v5.3.4" }, "symfony/console": { "version": "5.3", @@ -339,40 +324,40 @@ ] }, "symfony/css-selector": { - "version": "v5.0.7" + "version": "v5.3.4" }, "symfony/dependency-injection": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/deprecation-contracts": { "version": "v2.4.0" }, "symfony/doctrine-bridge": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/dom-crawler": { - "version": "v5.0.7" + "version": "v5.3.7" }, "symfony/dotenv": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/error-handler": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/event-dispatcher": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/event-dispatcher-contracts": { - "version": "v2.0.1" + "version": "v2.4.0" }, "symfony/expression-language": { - "version": "v5.0.6" + "version": "v5.3.7" }, "symfony/filesystem": { - "version": "v5.0.5" + "version": "v5.3.4" }, "symfony/finder": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/flex": { "version": "1.0", @@ -383,7 +368,7 @@ "ref": "c0eeb50665f0f77226616b6038a9b06c03752d8e" }, "files": [ - "./.env" + ".env" ] }, "symfony/framework-bundle": { @@ -392,7 +377,7 @@ "repo": "github.com/symfony/recipes", "branch": "master", "version": "5.3", - "ref": "772b77cfb5017644547ef7f9364c54e4eb9a6c61" + "ref": "414ba00ad43fa71be42c7906a551f1831716b03c" }, "files": [ "config/packages/cache.yaml", @@ -406,16 +391,16 @@ ] }, "symfony/http-client": { - "version": "v5.0.7" + "version": "v5.3.7" }, "symfony/http-client-contracts": { - "version": "v2.0.1" + "version": "v2.4.0" }, "symfony/http-foundation": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/http-kernel": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/maker-bundle": { "version": "1.0", @@ -427,24 +412,25 @@ } }, "symfony/monolog-bridge": { - "version": "v5.0.7" + "version": "v5.3.7" }, "symfony/monolog-bundle": { - "version": "3.3", + "version": "3.7", "recipe": { "repo": "github.com/symfony/recipes", "branch": "master", - "version": "3.3", - "ref": "a89f4cd8a232563707418eea6c2da36acd36a917" + "version": "3.7", + "ref": "a7bace7dbc5a7ed5608dbe2165e0774c87175fe6" }, "files": [ - "./config/packages/dev/monolog.yaml", - "./config/packages/prod/monolog.yaml", - "./config/packages/test/monolog.yaml" + "config/packages/dev/monolog.yaml", + "config/packages/prod/deprecations.yaml", + "config/packages/prod/monolog.yaml", + "config/packages/test/monolog.yaml" ] }, "symfony/password-hasher": { - "version": "v5.3.3" + "version": "v5.3.7" }, "symfony/phpunit-bridge": { "version": "5.3", @@ -452,7 +438,7 @@ "repo": "github.com/symfony/recipes", "branch": "master", "version": "5.3", - "ref": "905679249e7b10f06c572917a9022a72cbfedc04" + "ref": "97cb3dc7b0f39c7cfc4b7553504c9d7b7795de96" }, "files": [ ".env.test", @@ -462,31 +448,31 @@ ] }, "symfony/polyfill-intl-grapheme": { - "version": "v1.23.0" + "version": "v1.23.1" }, "symfony/polyfill-intl-normalizer": { "version": "v1.23.0" }, "symfony/polyfill-mbstring": { - "version": "v1.14.0" + "version": "v1.23.1" }, "symfony/polyfill-php73": { - "version": "v1.14.0" + "version": "v1.23.0" }, "symfony/polyfill-php80": { - "version": "v1.23.0" + "version": "v1.23.1" }, "symfony/polyfill-php81": { "version": "v1.23.0" }, "symfony/property-access": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/property-info": { - "version": "v5.0.6" + "version": "v5.3.7" }, "symfony/proxy-manager-bridge": { - "version": "v5.3.0" + "version": "v5.3.4" }, "symfony/routing": { "version": "5.3", @@ -502,49 +488,49 @@ ] }, "symfony/runtime": { - "version": "v5.3.3" + "version": "v5.3.4" }, "symfony/security-bundle": { - "version": "4.4", + "version": "5.3", "recipe": { "repo": "github.com/symfony/recipes", "branch": "master", - "version": "4.4", - "ref": "7b4408dc203049666fe23fabed23cbadc6d8440f" + "version": "5.3", + "ref": "9c4fcf79873f7400c885b90935f7163233615d6f" }, "files": [ - "./config/packages/security.yaml" + "config/packages/security.yaml" ] }, "symfony/security-core": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/security-csrf": { - "version": "v5.0.5" + "version": "v5.3.4" }, "symfony/security-guard": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/security-http": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/serializer": { - "version": "v5.0.6" + "version": "v5.3.4" }, "symfony/service-contracts": { - "version": "v2.0.1" + "version": "v2.4.0" }, "symfony/stopwatch": { - "version": "v5.0.5" + "version": "v5.3.4" }, "symfony/string": { - "version": "v5.1.11" + "version": "v5.3.7" }, "symfony/translation-contracts": { - "version": "v2.0.1" + "version": "v2.4.0" }, "symfony/twig-bridge": { - "version": "v5.0.6" + "version": "v5.3.7" }, "symfony/twig-bundle": { "version": "5.3", @@ -573,13 +559,13 @@ ] }, "symfony/var-dumper": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/var-exporter": { - "version": "v5.0.5" + "version": "v5.3.7" }, "symfony/web-link": { - "version": "v5.0.6" + "version": "v5.3.4" }, "symfony/web-profiler-bundle": { "version": "3.3", @@ -590,27 +576,24 @@ "ref": "6bdfa1a95f6b2e677ab985cd1af2eae35d62e0f6" }, "files": [ - "./config/packages/dev/web_profiler.yaml", - "./config/packages/test/web_profiler.yaml", - "./config/routes/dev/web_profiler.yaml" + "config/packages/dev/web_profiler.yaml", + "config/packages/test/web_profiler.yaml", + "config/routes/dev/web_profiler.yaml" ] }, "symfony/yaml": { - "version": "v5.0.5" + "version": "v5.3.6" }, "theseer/tokenizer": { - "version": "1.1.3" + "version": "1.2.1" }, "twig/twig": { - "version": "v3.0.3" - }, - "webimpress/safe-writer": { - "version": "2.0.1" + "version": "v3.3.3" }, "webmozart/assert": { - "version": "1.7.0" + "version": "1.10.0" }, "willdurand/negotiation": { - "version": "v2.3.1" + "version": "3.0.0" } } diff --git a/tests/Functional/Entity/ProjectsTest.php b/tests/Functional/Entity/ProjectsTest.php index 68c8578..c6e839a 100644 --- a/tests/Functional/Entity/ProjectsTest.php +++ b/tests/Functional/Entity/ProjectsTest.php @@ -80,6 +80,27 @@ public function testCreate(): void self::assertJsonContains(['name' => $name]); } + /** + * @throws TransportExceptionInterface + * @throws ServerExceptionInterface + * @throws RedirectionExceptionInterface + * @throws DecodingExceptionInterface + * @throws ClientExceptionInterface + */ + public function testCreateProjectWithBlankName(): void + { + $this->client->request('POST', '/projects', [ + 'json' => ['name' => ""] + ]); + + self::assertResponseStatusCodeSame(Response::HTTP_UNPROCESSABLE_ENTITY); + self::assertResponseHeaderSame('Content-Type', 'application/problem+json; charset=utf-8'); + self::assertJsonContains([ + 'title' => 'An error occurred', + 'detail' => "name: This value should not be blank." + ]); + } + /** * Same user could not create the same project. A Project is identified by * his author and his name